svn commit: r258848 - user/hrs/releng/release
Hiroki Sato
hrs at FreeBSD.org
Mon Dec 2 17:30:17 UTC 2013
Glen Barber <gjb at FreeBSD.org> wrote
in <20131202172052.GK1839 at glenbarber.us>:
gj> On Tue, Dec 03, 2013 at 02:14:39AM +0900, Hiroki Sato wrote:
gj> > gj> > - In the current release.sh, variables unintentionally set in the
gj> > gj> > builder's environment still pollutes commands which run in
gj> > gj> > release.sh when the variables are not set in the script but
gj> > gj> > accepted by make or other utilities. Catching all of the variables
gj> > gj> > is quite difficult.
gj> > gj> >
gj> > gj>
gj> > gj> Do you have an example? If you are referring to a previous problem with
gj> > gj> 10.x builds, the actual problem was a race in the build toolchain, and
gj> > gj> not variable pollution. I was able to confirm this was the case there.
gj> >
gj> > One of the surprising examples I experienced was that svn co
gj> > sometimes fails with LC_ALL=C. Subversion stores repo data in UTF-8,
gj> > so iconv conversion happens when LC_ALL is not UTF-8 compatible (and
gj> > it broke "svn co head/" a while ago). Besides, TARGET, TARGET_ARCH,
gj> > MAKEOBJDIR, MAKEOBJDIRPREFIX, and OBJDIR are also dangerous and
gj> > unprotected variables for make(1). An empty TARGET caused an
gj> > infinite loop in libc build, so I fixed it in Makefile yesterday.
gj>
gj> I saw your fix for empty TARGET. I ran into that problem quite some
gj> time ago.
gj>
gj> > All of them are examples of "unintentional" variables, so being
gj> > careful is enough to avoid them, though.
gj> >
gj> > gj> > Anyway, I do not have a strong opinion if using FOO=A or : ${FOO:=A}.
gj> > gj> > I agree that the latter assumes all of the envvars must be under
gj> > gj> > control and it needs one more step than just invoking the script, and
gj> > gj> > a leaked variable can break the build. If you do not like it, I will
gj> > gj> > change them with FOO=A.
gj> > gj> >
gj> > gj>
gj> > gj> Yes, please.
gj> >
gj> > Will do. I will not merge the changes before 10.0R is out in any
gj> > case.
gj> >
gj>
gj> Right, but I will still likely have to change build scripts (again) for
gj> head/ snapshots...
Okay, I do not mind. Please go ahead.
-- Hiroki
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-user/attachments/20131203/4b09635f/attachment.sig>
More information about the svn-src-user
mailing list