NanoBSD cust_pkgng problem....

Karl Denninger karl at denninger.net
Fri Jun 21 02:19:10 UTC 2019


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 <karl at denninger.net
> <mailto:karl at denninger.net>> wrote:
>
>
>     On 6/20/2019 14:46, Warner Losh wrote:
>     >
>     >
>     > On Thu, Jun 20, 2019, 12:40 PM Ian Lepore <ian at freebsd.org
>     <mailto:ian at freebsd.org>
>     > <mailto:ian at freebsd.org <mailto:ian at freebsd.org>>> 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 
-- 
Karl Denninger
karl at denninger.net <mailto:karl at denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4897 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freebsd.org/pipermail/freebsd-embedded/attachments/20190620/9bd26e00/attachment-0001.bin>


More information about the freebsd-embedded mailing list