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>