Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Mar 2011 16:38:05 +0100
From:      Giorgos Keramidas <keramida@FreeBSD.org>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Cc:        freebsd-current Current <freebsd-current@freebsd.org>, freebsd-sysinstall@freebsd.org, FreeBSD Arch <freebsd-arch@freebsd.org>
Subject:   Re: HEADS UP: sysinstall is no longer the default installer
Message-ID:  <AANLkTikD381y9u6i_NL-7F_eBPQ=p%2BUTdp-idB68LiwW@mail.gmail.com>
In-Reply-To: <4D7E228A.4090906@freebsd.org>
References:  <4D7E228A.4090906@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 14, 2011 at 3:13 PM, Nathan Whitehorn
<nwhitehorn@freebsd.org> wrote:
> Changes to release(7)
> -----------------------------
>
> Release builds work and look slightly different now, so everyone who
> snapshot tinderboxes will likely find them breaking shortly. The nearest
> analog to the old make release (with version-control checkouts and a chroot)
> is src/release/generate-release.sh, which can be run as generate-release.sh
> head /path/to/chroot/dir. If you want to include ports and documentation on
> the release media, CVSUP_HOST must be defined in the environment to point to
> a cvsup mirror. The output is placed in /R in the chroot directory, as
> before.
>
> If the chroot is unimportant (it ensures a total clean-room build, but may
> not be necessary in most cases), you can get a release build using the
> regular makefile, like so:
> cd /usr/src
> make buildworld buildkernel
> cd /usr/src/release
> make obj release
>
> By default, this will include ports and documentation if you have them
> checked out to /usr/ports and /usr/doc, though this behavior can be modified
> (see the top of the makefile). In addition, some architectures (i386, amd64,
> powerpc, powerpc64, and maybe ia64) have release media that can be
> cross-built, so you can set TARGET/TARGET_ARCH appropriately for those.
> Output goes to .OBJDIR, which is /usr/obj/usr/src/release in the case of the
> above commands. The equivalent to disc1 is called release.iso, the memstick
> image (i386, amd64 only) is called memstick, and a directory of distfiles
> for FTP mirrors is generated named ftp.

Any "user interface" changes that affect the release.7 manpage and may
catch people building their own release images should be updated in the
manpage itself too.

Some of the stuff I'd like to see fixed in the release.7 manpage are:

  - The requirement for CVSUP_HOST should be explicitly mentioned in
    release.7 for releases that have NODOC.

    Note: I haven't run a release with the new Makefile yet, but is it
    still possible to use a local CVS mirror, e.g. /home/ncvs for these
    files instead of a cvsup host that is only accessible over the
    (potentially much slower) network?

  - The make variable ${DATE} is automatically set to the build date. We
    should probably mention this in the default BUILDNAME description
    (since it's such a generic variable name).

  - BUILDNAME is automatically set to a default that may have to be
    documented to the manpage, so that people know what to expect when
    they type just "make release" and sit back.

  - There's a ${BASE} variable set to 9.0 that release engineers may
    have to manually update when they roll-out release and stable
    branches. This should be documented in the "shortly before the
    release" checklist we have in
    http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/release-proc.html

  - The directories that "make release" creates, and the names of the
    ISO image files should be mentioned in release.7 now that we have a
    chance to make a batch of useful updates to the text.

Naturally, I volunteer to *make* the mdoc changes.  As long as someone
(e.g. you Nathan?) who is acquainted with the new release building
Makefile can hepl me by reviewing the updates and making sure they look
reasonably close to the new state of everything.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikD381y9u6i_NL-7F_eBPQ=p%2BUTdp-idB68LiwW>