From owner-freebsd-embedded@freebsd.org Fri Jun 21 14:26:50 2019 Return-Path: Delivered-To: freebsd-embedded@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AECB915AF937 for ; Fri, 21 Jun 2019 14:26:50 +0000 (UTC) (envelope-from mike@sentex.net) Received: from pyroxene.sentex.ca (unknown [IPv6:2607:f3e0:0:3::18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "pyroxene.sentex.ca", Issuer "Let's Encrypt Authority X3" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id CF2D06B6D4 for ; Fri, 21 Jun 2019 14:26:49 +0000 (UTC) (envelope-from mike@sentex.net) Received: from [192.168.43.29] ([192.168.43.29]) by pyroxene.sentex.ca (8.15.2/8.15.2) with ESMTPS id x5LEQkHD043073 (version=TLSv1.2 cipher=AES128-SHA bits=128 verify=NO); Fri, 21 Jun 2019 10:26:47 -0400 (EDT) (envelope-from mike@sentex.net) Subject: Re: NanoBSD cust_pkgng problem.... To: Karl Denninger , Warner Losh Cc: freebsd-embedded References: <27515540-54ef-6e7e-1b87-9be875b54c22@denninger.net> <645f2271-276d-6dd6-74b2-20a0843363f4@denninger.net> From: mike tancsa Message-ID: Date: Fri, 21 Jun 2019 10:26:46 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: <645f2271-276d-6dd6-74b2-20a0843363f4@denninger.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Rspamd-Queue-Id: CF2D06B6D4 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; spf=pass (mx1.freebsd.org: domain of mike@sentex.net designates 2607:f3e0:0:3::18 as permitted sender) smtp.mailfrom=mike@sentex.net X-Spamd-Result: default: False [-1.51 / 15.00]; ARC_NA(0.00)[]; RDNS_NONE(1.00)[]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2607:f3e0::/32]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[sentex.net]; NEURAL_HAM_MEDIUM(-1.00)[-0.996,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: smtp.sentex.ca]; NEURAL_HAM_SHORT(-0.98)[-0.981,0]; IP_SCORE(-1.73)[ipnet: 2607:f3e0::/32(-4.95), asn: 11647(-3.59), country: CA(-0.09)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:11647, ipnet:2607:f3e0::/32, country:CA]; HFILTER_HOSTNAME_UNKNOWN(2.50)[]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jun 2019 14:26:50 -0000 Thanks Warner! I have tested it as well on RELENG_11 and it works there too.     ---Mike On 6/20/2019 10:19 PM, Karl Denninger wrote: > Hand-applied the patch (with vi, not patch, since I already had some of > the changes in there) and it ran to completion without incident. > > On 6/20/2019 17:27, Warner Losh wrote: >> >> On Thu, Jun 20, 2019 at 1:28 PM Karl Denninger > > wrote: >> >> >> On 6/20/2019 14:46, Warner Losh wrote: >> > >> > >> > On Thu, Jun 20, 2019, 12:40 PM Ian Lepore > >> > >> wrote: >> > >> >     On Thu, 2019-06-20 at 13:16 -0500, Karl Denninger wrote: >> >     > I'm trying to rebuild 12-STABLE with current code with the >> following >> >     > for >> >     > the PCEngines systems. >> >     > >> >     > NANO_NAME=pcengines >> >     > NANO_SRC=/usr/src >> >     > NANO_KERNEL=KSD-SMP >> >     > NANO_IMAGES=2 >> >     > NANO_MODULES="default" >> >     > >> >     > #NANO_DRIVE=ad0 >> >     > NANO_DRIVE=mmcsd0 >> >     > >> >     > NANO_RAM_ETCSIZE=30720 >> >     > #NANO_RAM_TMPVARSIZE=30720 >> >     > NANO_RAM_TMPVARSIZE=131072 >> >     > >> >     > NANO_PACKAGE_DIR=/work/PKG-AMD64-12/pkg >> >     > >> >     > # Configuration slice size set to 64Mb >> >     > # >> >     > NANO_CONFSIZE=$((64*1000*1000/512)) >> >     > # >> >     > # Set "data" partition to 512MB >> >     > # >> >     > NANO_DATASIZE=$((512*1000*1000/512)) >> >     > >> >     > NANO_OBJ="/work/Crochet-work-AMD/obj" >> >     > >> >     > NANO_PMAKE="make -j 8" >> >     > >> >     > # 7.5Gb SD image; will fit on a 8Gb card, but is REAL tight! >> >     > #NANO_MEDIASIZE=$((7*1000*1000*1000/512 + 1000*1000*512/512)) >> >     > # >> >     > # 12Gb SD image; fits on 16Gb SD card and has more room >> for packages >> >     > NANO_MEDIASIZE=$((12*1000*1000*1000/512)) >> >     > >> >     > The packages are in /work/PKG-AMD64-12 as expected.  I >> have a little >> >     > script that gets them which is: >> >     > >> >     > PKGDIR='/work/PKG-AMD64-12' >> >     > export PKGDIR >> >     > PKG_CACHEDIR=/work/PKG-AMD64-12/cache >> >     > export PKG_CACHEDIR >> >     > >> >     > ABI=FreeBSD:12:amd64 >> >     > export ABI >> >     > >> >     > pkg -R . -r . -o $PKGDIR/pkgs fetch -d \ >> >     >         bind914 rsync sshguard strongswan dhcp6 \ >> >     >         net-snmp ntimed openvpn flashrom dmidecode >> >     > #       net-snmp ntimed openvpn flashrom dmidecode ssmtp >> >     > #       bind914 rsync sshguard strongswan dhcp6 >> isc-dhcp44-server \ >> >     > >> >     > rm -rf $PKGDIR/pkg >> >     > mkdir -p $PKGDIR/pkg >> >     > >> >     > cd $PKG_CACHEDIR >> >     > find . -type l -print -exec cp {} ../pkg \; >> >     > >> >     > /work/PKG-AMD64-12 has a repo.conf file and such; I use >> the same >> >     > mechanism to fetch for Crochet for the ARM64 platforms. >> >     > >> >     > Note the two commented lines.  If I include EITHER ssmpt or >> >     > isc-dhcp44-server cust_pkgng fails, but the error simply >> says the >> >     > install failed without a reason for it. >> >     > >> >     > If I do NOT include those two the build succeeds.  Neither >> of them, >> >     > if I >> >     > add them back in, discloses a missing dependency or similar. >> >     > >> >     > pkg: Cannot open /dev/null:No such file or directory >> >     > Extracting flashrom-1.0_1: ........ done >> >     > Message from python27-2.7.16_1: >> >     > >> >     > >> >    >>  ===================================================================== >> >     > ====== >> >     > >> >     > Note that some standard Python modules are provided as >> separate >> >     ports >> >     > as they require additional dependencies. They are >> available as: >> >     > >> >     > bsddb           databases/py-bsddb >> >     > gdbm            databases/py-gdbm >> >     > sqlite3         databases/py-sqlite3 >> >     > tkinter         x11-toolkits/py-tkinter >> >     > >> >     > >> >    >>  ===================================================================== >> >     > ====== >> >     > + CR 'env BATCH=YES ASSUME_ALWAYS_YES=YES >> PKG_DBDIR=/var/db/pkg >> >     > SIGNATURE_TYPE=none /usr/sbin/pkg add /_.p/gettext-runtime- >> >     > 0.20.1.txz' >> >     > + chroot /work/Crochet-work-AMD/obj/_.w /bin/sh -exc 'env >> BATCH=YES >> >     > ASSUME_ALWAYS_YES=YES PKG_DBDIR=/var/db/pkg >> SIGNATURE_TYPE=none >> >     > /usr/sbin/pkg add /_.p/gettext-runtime-0.20.1.txz' >> >     > + env 'BATCH=YES' 'ASSUME_ALWAYS_YES=YES' >> 'PKG_DBDIR=/var/db/pkg' >> >     > 'SIGNATURE_TYPE=none' /usr/sbin/pkg add /_.p/gettext-runtime- >> >     > 0.20.1.txz >> >     > Installing gettext-runtime-0.20.1... >> >     > the most recent version of gettext-runtime-0.20.1 is already >> >     > installed >> >     > + CR 'env BATCH=YES ASSUME_ALWAYS_YES=YES >> PKG_DBDIR=/var/db/pkg >> >     > SIGNATURE_TYPE=none /usr/sbin/pkg add /_.p/icu-64.2,1.txz' >> >     > + chroot /work/Crochet-work-AMD/obj/_.w /bin/sh -exc 'env >> BATCH=YES >> >     > ASSUME_ALWAYS_YES=YES PKG_DBDIR=/var/db/pkg >> SIGNATURE_TYPE=none >> >     > /usr/sbin/pkg add /_.p/icu-64.2,1.txz' >> >     > + env 'BATCH=YES' 'ASSUME_ALWAYS_YES=YES' >> 'PKG_DBDIR=/var/db/pkg' >> >     > 'SIGNATURE_TYPE=none' /usr/sbin/pkg add /_.p/icu-64.2,1.txz >> >     > Installing icu-64.2,1... >> >     > the most recent version of icu-64.2,1 is already installed >> >     > + CR 'env BATCH=YES ASSUME_ALWAYS_YES=YES >> PKG_DBDIR=/var/db/pkg >> >     > SIGNATURE_TYPE=none /usr/sbin/pkg add >> /_.p/indexinfo-0.3.1.txz' >> >     > + chroot /work/Crochet-work-AMD/obj/_.w /bin/sh -exc 'env >> BATCH=YES >> >     > ASSUME_ALWAYS_YES=YES PKG_DBDIR=/var/db/pkg >> SIGNATURE_TYPE=none >> >     > /usr/sbin/pkg add /_.p/indexinfo-0.3.1.txz' >> >     > + env 'BATCH=YES' 'ASSUME_ALWAYS_YES=YES' >> 'PKG_DBDIR=/var/db/pkg' >> >     > 'SIGNATURE_TYPE=none' /usr/sbin/pkg add >> /_.p/indexinfo-0.3.1.txz >> >     > Installing indexinfo-0.3.1... >> >     > the most recent version of indexinfo-0.3.1 is already >> installed >> >     > + CR 'env BATCH=YES ASSUME_ALWAYS_YES=YES >> PKG_DBDIR=/var/db/pkg >> >     > SIGNATURE_TYPE=none /usr/sbin/pkg add /_.p/isc-dhcp44-server- >> >     > 4.4.1_4.txz' >> >     > + chroot /work/Crochet-work-AMD/obj/_.w /bin/sh -exc 'env >> BATCH=YES >> >     > ASSUME_ALWAYS_YES=YES PKG_DBDIR=/var/db/pkg >> SIGNATURE_TYPE=none >> >     > /usr/sbin/pkg add /_.p/isc-dhcp44-server-4.4.1_4.txz' >> >     > + env 'BATCH=YES' 'ASSUME_ALWAYS_YES=YES' >> 'PKG_DBDIR=/var/db/pkg' >> >     > 'SIGNATURE_TYPE=none' /usr/sbin/pkg add >> /_.p/isc-dhcp44-server- >> >     > 4.4.1_4.txz >> >     > Installing isc-dhcp44-server-4.4.1_4... >> >     > pkg: Cannot open /dev/null:No such file or directory >> >     > >> >     > Failed to install the following 1 package(s): >> >     > /_.p/isc-dhcp44-server-4.4.1_4.txz >> >     > + umount /work/Crochet-work-AMD/obj/_.w/_.p >> >     > + rm -rf /work/Crochet-work-AMD/obj/_.w/_.p >> >     > + echo 'NANO RM -rf /work/Crochet-work-AMD/obj/_.w/_.p' >> >     > NANO RM -rf /work/Crochet-work-AMD/obj/_.w/_.p >> >     > + uname -r >> >     > + command rm -x -rf /work/Crochet-work-AMD/obj/_.w/_.p >> >     > >> >     > Note that's not the "can't open /dev/null" complaint since >> that >> >     > appears >> >     > up above (and in fact a bunch of other times previously as >> well) and >> >     > doesn't blow the install up.  But *something* is causing >> the install >> >     > for >> >     > those two packages -- and only these two, as the other ~40 >> odd with >> >     > dependencies are fine -- to exit non-zero and blow up the >> build. >> >     > >> >     > It's tough to run this down without an error message that >> tells me >> >     > exactly what it's upset about. >> >     > >> >     > Any ideas? >> >     > >> > >> >     I think it's a mistake to ignore the /dev/null errors.  It's >> quite >> >     possible that the error is non-fatal when installing some >> packages and >> >     fatal when installing others.  The message indicates you >> need to mount >> >     devfs within the chroot or jail being used to run pkg. >> > >> > >> > I agree, but for different reasons. Pkg is now using it, which >> is why >> > we see a new error. None of the packages installed threw error >> > messages before, so I think his setup is ok. >> > >> > Warner >> > >> I can confirm that with defaults.sh patched it now runs to >> completion on >> the "latest" without problems. >> >> >> I'll get it committed a bit later today. Can someone test the following: >> >> diff --git a/tools/tools/nanobsd/defaults.sh >> b/tools/tools/nanobsd/defaults.sh >> index 0002373be658..86acab65f67d 100755 >> --- a/tools/tools/nanobsd/defaults.sh >> +++ b/tools/tools/nanobsd/defaults.sh >> @@ -778,8 +778,9 @@ cust_pkgng ( ) ( >>         # Mount packages into chroot >>         mkdir -p ${NANO_WORLDDIR}/_.p >>         mount -t nullfs -o noatime -o ro ${NANO_PACKAGE_DIR} >> ${NANO_WORLDDIR}/_.p >> +       mount -t devfs devfs ${NANO_WORLDDIR}/dev >> >> -       trap "umount ${NANO_WORLDDIR}/_.p ; rm -rf >> ${NANO_WORLDDIR}/_.p" 1 2 15 EXIT >> +       trap "umount ${NANO_WORLDDIR}/dev; umount ${NANO_WORLDDIR}/_.p >> ; rm -rf ${NANO_WORLDDIR}/_.p" 1 2 15 EXIT >> >>         # Install pkg-* package >>         CR "${PKGCMD} add /_.p/${_NANO_PKG_PACKAGE}" >> @@ -804,6 +805,7 @@ cust_pkgng ( ) ( >>         CR0 "${PKGCMD} info" >> >>         trap - 1 2 15 EXIT >> +       umount ${NANO_WORLDDIR}/dev >>         umount ${NANO_WORLDDIR}/_.p >>         rm -rf ${NANO_WORLDDIR}/_.p >>  ) >> >> since we need to umount it if we hit the trap exit. >> >> Warner