Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Sep 2006 14:00:10 +0400
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        Ulrich Spoerlein <uspoerlein@gmail.com>
Cc:        stable@FreeBSD.org
Subject:   Re: make release vs. installworld
Message-ID:  <20060926100010.GA11800@rambler-co.ru>
In-Reply-To: <7ad7ddd90609260118y7996f5dnb33454b7b74adda7@mail.gmail.com>
References:  <7ad7ddd90609260030g24ed098ft534719cd4c396570@mail.gmail.com> <20060926080733.GA66219@rambler-co.ru> <7ad7ddd90609260118y7996f5dnb33454b7b74adda7@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--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--



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