Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jan 2012 02:40:35 +0200
From:      =?utf-8?B?0JrQvtC90YzQutC+0LIg0JXQstCz0LXQvdC40Lk=?= <kes-kes@yandex.ru>
To:        Doug Barton <dougb@FreeBSD.org>
Cc:        freebsd-bugs@FreeBSD.org, linimon@FreeBSD.org
Subject:   Re[2]: bin/163997: mergemaster(8): harcoded source tree path in 'mergemaster -p'
Message-ID:  <325867273.20120111024035@yandex.ru>
In-Reply-To: <4F0CD408.20208@FreeBSD.org>
References:  <201201102343.q0ANhWJC010928@freefall.freebsd.org> <1788789642.20120111020717@yandex.ru> <4F0CD408.20208@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Здравствуйте, Doug.

Вы писали 11 января 2012 г., 2:12:56:

DB> On 01/10/2012 16:07, Коньков Евгений wrote:
>> in other world: assume ./ as srouce directory instead of /usr/src

DB> That's not going to happen. The solution is to use the -m option.

DB> Various reasons why, the most important of which is that there is no way
DB> to know for sure if . is the source directory you want to use.
Why you are shure that the srouce directory I want to use is /usr/src?

see the Makefile:
# For individuals wanting to upgrade their sources (even if only a
# delta of a few days):
#
#  1.  `cd /usr/src'       (or to the directory containing your source tree).

NOTICE: (or to the directory containing your source tree)
It says that I can use any directory I want with no limit
and below is description of commands (standard commands? I think they are) I must to use:

So
1. cd /usr/src.svn/head10
2. make buildworld
....
6. mergemaster -p

may be:
---#  6. `mergemaster -p`
+++#  6. `mergemaster -p'    (use -m /path/to/sources in case of sources are not in /usr/src directory)



DB> It's really important for you to understand that if you do non-standard
DB> things you need to be prepared to deal with the consequences of that.
DB> There are a LOT of places with various assumptions about how your file
DB> systems are laid out.
So you must get options from Makefile to get them all. When dowing 'make
installworld' it donot do any assumtions about where files must be
placed it EXACTLY know where they are must be placed.

You can call `./make mergemaster` and use exact output instead of
assumptions.

Patch Makefile such a way 'make mergemaster' will output
SYSCONFDIR=/etc
SOURCETREE=/path/to/sources   (e.g. current directory)
ANOTHERVAR=some_var
CONF=some_conf

It will be handy in contrary to remember unnecessary things.

or THE BEST choice:

#  6.  `make mergeprepare'
#  7.  `make installworld'
#  8.  `make delete-old'
#  9.  `make mergecomplete'            (you may wish to use -i, along with -U or -F).

In this case Makefile will instruct 'mergemaster' all thing it need =)

Good luck,


-- 
С уважением,
 Коньков                          mailto:kes-kes@yandex.ru




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?325867273.20120111024035>