make installworld fails; tzsetup missing -C option

Pieter de Goeje pieter at degoeje.nl
Tue Aug 24 22:06:15 UTC 2010


On Tuesday 24 August 2010 17:53:07 Gary Jennejohn wrote:
> On Tue, 24 Aug 2010 12:41:37 +0200
>
> Pieter de Goeje <pieter at degoeje.nl> wrote:
> > I'm trying to do a remote upgrade of a machine by mounting
> > it's root filesystem on /mnt using nfs. The build machine
> > runs a recent 8-STABLE. The target runs 9-CURRENT.
> >
> > make installworld fails with:
> >
> > install -o root -g wheel -m 444 
> > /data/FreeBSD/FreeBSD-current/src/share/zoneinfo/../../contrib/tzdata//zo
> >ne.tab /mnt/usr/share/zoneinfo/ Updating /etc/localtime
> > tzsetup: illegal option -- C
> > usage: tzsetup [-ns]
> > *** Error code 1
> >
> > Build script does the equivalent of this:
> > $ mount target:/ /mnt
> > $ cd /FreeBSD/FreeBSD-current/src
> > $ make -j4 buildworld && make -j4 buildkernel
> > $ setenv DESTDIR /mnt
> > $ make installkernel
> > $ setenv NO_FSCHG 1
> > $ make installworld
> >
> > uname on the build machine:
> > FreeBSD 8.1-STABLE #1: Tue Aug 10 13:09:59 CEST 2010
>
> You're trying to install 9-CURRENT using 8.1-STABLE binaries, which just
> won't work in this (tzsetup) case.
>
> The -C flag is only set when DESTDIR is set, which might be considered
> a bug since it prevents cross-compiling and cross-installation using
> different versions of FreeBSD, like in your case.
>
> But I'm not so sure that support for this is guaranteed when going from
> an older version to a newer version.
It's a bit of an edge case I agree. A working cross installation is desirable 
if for example you want to upgrade a machine in place, but have a fallback 
mechanism by installing everyting on a separate root filesystem first.
>
> I suppose you could try a) editing share/zoneinfo/Makefile and deleting
> the optC code or b) pointing PATH at DESTDIR, if it's already populated.
>
As I'm not cross compiling, I simply used the tzetup it built to complete the 
install. I temporarily replaced the 8-STABLE version with the 9-CURRENT 
version on the build box.

I wonder if tzsetup should be a bootstrap tool...

-- 
Pieter de Goeje


More information about the freebsd-current mailing list