Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jun 2019 13:40:03 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Karl Denninger <karl@denninger.net>, freebsd-embedded@freebsd.org
Subject:   Re: NanoBSD cust_pkgng problem....
Message-ID:  <ac88b364f04c70bb0d644d2d0dba4bb50a5d57f8.camel@freebsd.org>
In-Reply-To: <27515540-54ef-6e7e-1b87-9be875b54c22@denninger.net>
References:  <27515540-54ef-6e7e-1b87-9be875b54c22@denninger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

-- Ian




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