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}" != "X" ]; then
> >
> > is
> >
> > case "${BRANCH_OVERRIDE}" in
> > '') ;;
> > *) BRANCH=${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=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh &&
\
rm foo; \
fi
If you used 'make release' to build your custom release (like a lot of other
folks do) you would have had all this for free. :)
--
John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508201437.36296.jhb>
