Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Aug 2005 14:37:34 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        Colin Percival <cperciva@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, Doug Barton <dougb@FreeBSD.org>, cvs-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: cvs commit: src/sys/conf newvers.sh
Message-ID:  <200508201437.36296.jhb@FreeBSD.org>
In-Reply-To: <4305FD75.80501@freebsd.org>
References:  <200508190356.j7J3uj5D095435@repoman.freebsd.org> <43059925.3090701@FreeBSD.org> <4305FD75.80501@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 19 August 2005 11:40 am, Colin Percival wrote:
> Doug Barton wrote:
> > 1. A "better" way (IMO) to write:
> >
> > if [ "X${BRANCH_OVERRIDE}" !=3D "X" ]; then
> >
> > is
> >
> > case "${BRANCH_OVERRIDE}" in
> > '')    ;;
> > *)    BRANCH=3D${BRANCH_OVERRIDE} ;;
> > esac
> >
> > The original reason for writing it this way was to avoid the call to
> > test(1), because case is a shell builtin. This is a style issue, and not
> > a "must have," but I thought I'd mention it.
>
> I couldn't see anything in style(9), so I just wrote it the way I've
> seen most often in the FreeBSD tree; but it's good to now know _why_ I
> keep on seeing it written that way. :-)
>
> > I like your override idea here, but I'd rather not have to keep track of
> > what the current value of $BRANCH is so that I can include it in my own
> > override variable. What would be more useful to me (and arguably more
> > useful in general, although once again I will not press the point) would
> > be some way to add a string to the BRANCH or RELEASE variables.
>
> That wouldn't be sufficient for the purpose I have in mind.  When running
> FreeBSD Update builds, I'll typically have a RELEASE-pX tree checked out
> and a security patch (which is going to get committed to the tree later);
> I want to be able to build tree + patch with a label of RELEASE-p{X + 1}.
>
> Of course, I could do this by applying an extra patch to the source tree
> before building, but the whole idea is to get rid of the local patches
> which I've been carrying around in FreeBSD Update.

Note that 'make release' just overwrites the release name in newvers.sh.

        # Add version information to those things that need it.
        if [ ! -f ${CHROOTDIR}/tmp/.world_done ]; then \
                cd ${CHROOTDIR}/usr/src/sys/conf && \
                mv newvers.sh foo && \
                sed "s/^RELEASE=3D.*/RELEASE=3D${BUILDNAME}/" foo > newvers=
=2Esh &&=20
\
                rm foo; \
        fi

If you used 'make release' to build your custom release (like a lot of othe=
r=20
folks do) you would have had all this for free. :)

=2D-=20
John Baldwin <jhb@FreeBSD.org> =A0<>< =A0http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org



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