From owner-freebsd-stable@FreeBSD.ORG Tue Sep 26 10:00:35 2006 Return-Path: X-Original-To: stable@FreeBSD.org Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4963D16A4E2 for ; Tue, 26 Sep 2006 10:00:35 +0000 (UTC) (envelope-from ru@rambler-co.ru) Received: from relay0.rambler.ru (relay0.rambler.ru [81.19.66.187]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3F49943D77 for ; Tue, 26 Sep 2006 10:00:19 +0000 (GMT) (envelope-from ru@rambler-co.ru) Received: from relay0.rambler.ru (localhost [127.0.0.1]) by relay0.rambler.ru (Postfix) with ESMTP id 6316E6288; Tue, 26 Sep 2006 14:00:18 +0400 (MSD) Received: from edoofus.park.rambler.ru (unknown [81.19.65.108]) by relay0.rambler.ru (Postfix) with ESMTP id 3F2FF629A; Tue, 26 Sep 2006 14:00:18 +0400 (MSD) Received: (from ru@localhost) by edoofus.park.rambler.ru (8.13.8/8.13.8) id k8QA0Ao3012041; Tue, 26 Sep 2006 14:00:10 +0400 (MSD) (envelope-from ru) Date: Tue, 26 Sep 2006 14:00:10 +0400 From: Ruslan Ermilov To: Ulrich Spoerlein Message-ID: <20060926100010.GA11800@rambler-co.ru> References: <7ad7ddd90609260030g24ed098ft534719cd4c396570@mail.gmail.com> <20060926080733.GA66219@rambler-co.ru> <7ad7ddd90609260118y7996f5dnb33454b7b74adda7@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="GvXjxJ+pjyke8COw" Content-Disposition: inline In-Reply-To: <7ad7ddd90609260118y7996f5dnb33454b7b74adda7@mail.gmail.com> User-Agent: Mutt/1.5.13 (2006-08-11) X-Virus-Scanned: No virus found Cc: stable@FreeBSD.org Subject: Re: make release vs. installworld X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Sep 2006 10:00:35 -0000 --GvXjxJ+pjyke8COw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Sep 26, 2006 at 10:18:05AM +0200, Ulrich Spoerlein wrote: > On 9/26/06, Ruslan Ermilov <[1]ru@freebsd.org> wrote: >=20 > On Tue, Sep 26, 2006 at 09:30:25AM +0200, Ulrich Spoerlein wrote: > [...] > > So, what's the recommended way to a) build own releases > > > Follow the release(7) manpage instructions. >=20 > The actual release building is working fine. It's just that various > binaries disappear from the object directory. The object files itself = are > still there: cat.o, df.o, dd.o, echo.o. But where have the binaries go= ne? > If I understand release(7) correctly, it does a full > buildworld/installworld cycle within the chroot. How can the installwo= rld > succeed? >=20 After installworld inside the release chroot succeeds, the release.4 target makes one or more crunched binaries, and these throw away some stuff in the objdir. In my release object directory, I don't see the "hostname", etc. which is expected (they are part of these crunched binaries), but chmod is cerainly here: $ ls -l /spool/release/usr/obj/usr/src/bin/chmod/ total 256 -rwxr-xr-x 1 root wheel 10974 Sep 12 19:01 chmod -rw-r--r-- 1 root wheel 2824 Sep 12 19:01 chmod.1.cat.gz -rw-r--r-- 1 root wheel 3459 Sep 12 19:01 chmod.1.gz -rw-r--r-- 1 root wheel 6816 Sep 12 19:01 chmod.o $=20 The bottomline is that without fixing release.4 you cannot reuse the release object directory to do an installworld. Fixing release.4 is not easy since it reuses some preparatory stuff built by early stages of buildworld, to be upgrade- and cross-friendly, so just changing MAKEOBJDIRPREFIX wouldn't work (just verified this). > > and b) update your servers with it. > > > You can use shell-script type of installation to do binary upgrades, > .../R/stage/dists/*/install.sh. >=20 > Thanks for the tip, that might work. Although I would have preferred a > 'make installkernel installworld delete-old delete-old-libs; mergemast= er'. > There is a serious drawback in just installing the distributions: It w= ill > clobber /etc. And since I have to run mergemaster and delete-old anywa= y, > there is no way around mount /usr/src via NFS. >=20 > Perhaps I just do a full 'make buildworld' inside the chroot after 'ma= ke > release' has finished. That way all the binaries should be where they = are. > Any objections? >=20 If you do a "make -DNO_CLEAN buildworld" it won't build exactly the same binaries as a normal buildworld would do. This has to do with the same "bug" that crunched binaries build reuses the same object directory. > Will this interfere with release.6 - release.8? >=20 I don't undertstand your question. After release has rolled, release.[6-8] have already been built, the contents has been packaged, and you're free to do whatever you want with your /usr/obj (in the release chroot). Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --GvXjxJ+pjyke8COw Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFGPoqqRfpzJluFF4RAtkTAJ0XPnUPcazlRJHZ3/0HmUtEjPaZ2ACdGQAo CVf1De3/g4hm53O7pD8vTUM= =FW+e -----END PGP SIGNATURE----- --GvXjxJ+pjyke8COw--