Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Aug 2018 18:01:57 +0200
From:      Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To:        Brooks Davis <brooks@freebsd.org>
Cc:        Ian Lepore <ian@freebsd.org>, <src-committers@freebsd.org>, <svn-src-all@freebsd.org>, <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r336526 - head
Message-ID:  <20180808160157.uxjcbxu57z45pap2@mac>
In-Reply-To: <20180726174146.GA63738@spindle.one-eyed-alien.net>
References:  <201807200044.w6K0i4QQ079894@repo.freebsd.org> <20180726135806.foqjgb555vhwhqun@mac.bytemobile.com> <1532616552.61594.23.camel@freebsd.org> <20180726145412.zp4zjznpwmhbaj65@mac.bytemobile.com> <1532617518.61594.31.camel@freebsd.org> <20180726161546.kts5tjbow7wfzhyk@mac.bytemobile.com> <20180726174146.GA63738@spindle.one-eyed-alien.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 26, 2018 at 05:41:46PM +0000, Brooks Davis wrote:
> On Thu, Jul 26, 2018 at 06:15:46PM +0200, Roger Pau Monn?? wrote:
> > On Thu, Jul 26, 2018 at 09:05:18AM -0600, Ian Lepore wrote:
> > > On Thu, 2018-07-26 at 16:54 +0200, Roger Pau Monn? wrote:
> > > > On Thu, Jul 26, 2018 at 08:49:12AM -0600, Ian Lepore wrote:
> > > > > 
> > > > > On Thu, 2018-07-26 at 15:58 +0200, Roger Pau Monn? wrote:
> > > > > > 
> > > > > > On Fri, Jul 20, 2018 at 12:44:04AM +0000, Ian Lepore wrote:
> > > > > > > 
> > > > > > > 
> > > > > > > Author: ian
> > > > > > > Date: Fri Jul 20 00:44:04 2018
> > > > > > > New Revision: 336526
> > > > > > > URL: https://svnweb.freebsd.org/changeset/base/336526
> > > > > > > 
> > > > > > > Log:
> > > > > > > ? Add ntpd to the list of users/groups to check before
> > > > > > > installing.
> > > > > > The Xen CI loop is getting this when trying to create dist media
> > > > > > for HEAD FreeBSD (`make -C release ftp`):
> > > > > > 
> > > > > > + LC_ALL=C
> > > > > > + export LC_ALL
> > > > > > +
> > > > > > PATH=/usr/lib/ccache:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbi
> > > > > > n:/u
> > > > > > sr/local/bin:/root/bin:/usr/lib/git-core
> > > > > > + http_proxy=http://cache:3128/
> > > > > > + export http_proxy
> > > > > > + https_proxy=http://cache:3128/
> > > > > > + export https_proxy
> > > > > > + exec
> > > > > > + cd /home/osstest/build.125515.build-amd64-freebsd
> > > > > > + rm -f build-ok-stamp
> > > > > > + cd freebsd
> > > > > > + export 'MAKEOBJDIRPREFIX=/home/osstest/build.125515.build-
> > > > > > amd64-
> > > > > > freebsd/obj'
> > > > > > + export 'TARGET=amd64'
> > > > > > + make -C release ftp -DWITHOUT_AUTO_OBJ
> > > > > > + tee ../release-ftp-log
> > > > > > mkdir -p dist
> > > > > > cd /usr/home/osstest/build.125515.build-amd64-
> > > > > > freebsd/freebsd/release/.. && make TARGET_ARCH=amd64 TARGET=amd64
> > > > > > distributeworld DISTDIR=/usr/home/osstest/build.125515.build-
> > > > > > amd64-
> > > > > > freebsd/freebsd/release/dist
> > > > > > make[2]: "/usr/home/osstest/build.125515.build-amd64-
> > > > > > freebsd/obj/usr/home/osstest/build.125515.build-amd64-
> > > > > > freebsd/freebsd/amd64.amd64/toolchain-metadata.mk" line 1: Using
> > > > > > cached toolchain metadata from build at??on Mon Jul 23 10:29:23
> > > > > > UTC
> > > > > > 2018
> > > > > > ERROR: Required ntpd user is missing, see /usr/src/UPDATING.
> > > > > > *** Error code 1
> > > > > > 
> > > > > > Stop.
> > > > > > make[2]: stopped in /usr/home/osstest/build.125515.build-amd64-
> > > > > > freebsd/freebsd
> > > > > > *** Error code 1
> > > > > > 
> > > > > > Stop.
> > > > > > make[1]: stopped in /usr/home/osstest/build.125515.build-amd64-
> > > > > > freebsd/freebsd
> > > > > > *** Error code 1
> > > > > > 
> > > > > > Stop.
> > > > > > make: stopped in /usr/home/osstest/build.125515.build-amd64-
> > > > > > freebsd/freebsd/release
> > > > > > 
> > > > > > The full build log can be found at:
> > > > > > 
> > > > > > http://logs.test-lab.xenproject.org/osstest/logs/125569/build-amd
> > > > > > 64-f
> > > > > > reebsd/7.ts-freebsd-build.log
> > > > > > 
> > > > > > Note that it's ~100MB.
> > > > > > 
> > > > > > Thanks, Roger.
> > > > > > 
> > > > > If the script is creating a new distribution image from scratch, it
> > > > > should be using -DDB_FROM_SRC on all distrib* and install* make
> > > > > targets, to avoid using (and verifying against) the passwd database
> > > > > on
> > > > > the build system.
> > > > Shouldn't then that be set by default for the ftp release target?
> > > > The sole purpose of that target is to create the sets that go to the
> > > > servers AFAICT.
> > > > 
> > > > Or maybe it's the distributeworld target the one missing the
> > > > DB_FROM_SRC?
> > > > 
> > > > Roger.
> > > > 
> > > 
> > > I don't know anything about the release scripts or how they work.
> > > 
> > > I started down the path of trying to make the build system
> > > automatically set DB_FROM_SRC if DESTDIR is anything other than "/",
> > > but I realized that's wrong too... I occasionally mount an sdcard from
> > > some embedded system on my build machine and update it from a
> > > crossbuild using DESTDIR=/mnt, and in a case like that, using the
> > > passwd database from the system being updated is the right thing to do
> > > and DB_FROM_SRC isn't right (although it would work most of the time
> > > for most people).
> > > 
> > > Right now there's no way to even properly use the passwd data from the
> > > target system, and when I tried to do that, I ran into other bugs. The
> > > only options now are to use the running system even when it's not
> > > what's being installed (clearly wrong) or use DB_FROM_SRC to bypass the
> > > checks, but also bypass using the passwd data from the target system
> > > (but it works okay as long as none of the names/uids < 1024 have been
> > > changed on the target system/image).
> > 
> > But when executing something like the distributeworld target there's
> > nothing to check. You cannot check against the current DB, and there's
> > no destination DB since you are just generating install sets. Hence I
> > think that at least for distributeworld and maybe other targets
> > DB_FROM_SRC should be set by default in order to restore previous
> > behavior.
> 
> DB_FROM_SRC isn't default solely to support environments where uids/gids
> don't match those in our password/group files.  Unfortunately the FreeBSD
> cluster has such a setup.  Otherwise we'd probably have just told
> people to a) don't do that and b) if you must, modify your source tree
> appropriately.  It's certainly the case that we should always use
> DB_FROM_SRC if release builds.  I think you might be right about
> distributeworld, but we might need to check how that interacts with
> etcupdate/mergemaster.

There seems to be further fallout apart from the DB_FROM_SRC issue,
I've created a PR to track this regression:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=230459

Roger.



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