svn commit: r336526 - head

Brooks Davis brooks at freebsd.org
Thu Jul 26 17:41:53 UTC 2018


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.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20180726/2559b680/attachment.sig>


More information about the svn-src-head mailing list