Re: An example poudriere-devel pkgclean failure, multiple issues involved
Date: Sat, 25 Sep 2021 17:04:34 UTC
On 9/25/2021 12:31 AM, Mark Millard wrote: > > > On 2021-Sep-24, at 12:06, Bryan Drewery <bdrewery at FreeBSD.org> wrote: > >> On 9/22/2021 12:26 PM, Mark Millard wrote: >>> When I just tried to pkgclean -a I got: >>> >>> # poudriere pkgclean -jmain-CA7 -a -y >>> [00:00:00] Gathering all expected packages >>> [00:00:00] Creating the reference jail... done >>> [00:00:03] Mounting system devices for main-CA7-default >>> [00:00:03] Mounting ports from: /usr/ports >>> [00:00:03] Mounting packages from: >>> [00:00:03] Mounting distfiles from: /usr/ports/distfiles >>> [00:00:03] Copying /var/db/ports from: /usr/local/etc/poudriere.d/options >>> [00:00:03] Appending to make.conf: /usr/local/etc/poudriere.d/make.conf >>> [00:00:03] Appending to make.conf: /usr/local/etc/poudriere.d/main-CA7-make.conf >>> /etc/resolv.conf -> /usr/local/poudriere/data/.m/main-CA7-default/ref/etc/resolv.conf >>> [00:00:03] Starting jail main-CA7-default >>> [00:00:04] Loading MOVED for /usr/local/poudriere/data/.m/main-CA7-default/ref/usr/ports >>> [00:00:05] Ports supports: FLAVORS SELECTED_OPTIONS >>> [00:00:05] Gathering ports metadata >>> [00:02:11] Calculating ports order and dependencies >>> [00:02:46] Sanity checking the repository >>> [00:02:46] Unqueueing existing packages >>> [00:02:50] Sanity checking build queue >>> [00:02:52] Error: Packages stuck in queue (depended on but not in queue): HPCombi-0.0.6_1 >> >> I had not seen this one before. I was able to repro it locally. git >> bisect run is amazing and identified the bad commit. I'll probably have >> a fix in a few days. >> >>> IPA-1.08_2 >>> R-cran-s2-1.0.6 >>> . . . >>> zig-0.8.1 >>> zxid-1.42_1 >>> [: -gt: unexpected operator >>> [: -gt: unexpected operator >>> [: -gt: unexpected operator >>> /usr/local/share/poudriere/pkgclean.sh: POUDRIERE_BUILD_TYPE: parameter not set >> >> This is fixed in Poudriere git at least. >> >> Thanks for ccing me. >> > > You are welcome. > > I tried another use of pkgclean after building lang/rust explicitly > (just to measure some resource use via a patched top). But the > context is not as up to date: > > # poudriere version > poudriere-git-3.3.99.20210907_1 > > I tried to see what the following would do: > > # poudriere pkgclean -j13_0R-CA72 -a -f ~/origins/CA72-origins.txt > [00:00:00] Gathering all expected packages > [00:00:00] Creating the reference jail... done > [00:00:05] Mounting system devices for 13_0R-CA72-default > [00:00:05] Mounting ports from: /usr/ports > [00:00:05] Mounting packages from: > [00:00:05] Mounting distfiles from: /usr/ports/distfiles > [00:00:05] Copying /var/db/ports from: /usr/local/etc/poudriere.d/options > [00:00:05] Appending to make.conf: /usr/local/etc/poudriere.d/make.conf > [00:00:05] Appending to make.conf: /usr/local/etc/poudriere.d/13_0R-CA72-make.conf > /etc/resolv.conf -> /usr/local/poudriere/data/.m/13_0R-CA72-default/ref/etc/resolv.conf > [00:00:05] Starting jail 13_0R-CA72-default > [00:00:07] Loading MOVED for /usr/local/poudriere/data/.m/13_0R-CA72-default/ref/usr/ports > [00:00:08] Ports supports: FLAVORS SELECTED_OPTIONS > [00:00:08] Gathering ports metadata > [00:03:01] Warning: (graphics/qgis): make: "/etc/make.conf" line 69: Need an operator > [00:03:01] Warning: (graphics/qgis): make: Fatal errors encountered -- cannot continueError: Error looking up dependencies for graphics/qgis > [00:03:01] Warning: (graphics/qgis-ltr): make: "/etc/make.conf" line 69: Need an operator > [00:03:01] Warning: (graphics/qgis-ltr): make: Fatal errors encountered -- cannot continueError: Error looking up dependencies for graphics/qgis-ltr > [00:05:46] Warning: (www/chromium): make: "/usr/ports/www/chromium/Makefile" line 210: warning: "/usr/bin/grep mempcpy /usr/include/string.h" returned non-zero status > [00:06:39] Error: Fatal errors encountered gathering initial ports metadata > [: -gt: unexpected operator > [: -gt: unexpected operator > [: -gt: unexpected operator > /usr/local/share/poudriere/pkgclean.sh: POUDRIERE_BUILD_TYPE: parameter not set > [00:06:39] Cleaning up > [00:06:39] Unmounting file systems > > The (www/chromium) one is for: > > BASE_MEMPCPY!= ${GREP} mempcpy ${CROSS_SYSROOT}/usr/include/string.h I fixed that in the chromium port yesterday. > > which is oroginal material, not something of mine. > > It is less obvious what line 69 "Need an operator" messags are for > in /etc/make.conf is since the file is probably generated from other > files. Is it line 69 of /usr/local/etc/poudriere.d/make.conf ? That Not quite as it uses that to generate a temporary one. You could add a cat ${dst_makeconf} or cp or something at the end of setup_makeconf() in /usr/local/share/poudriere/common.sh to get to the make.conf being used. > would be: > > #.if ${.MAKE.LEVEL} == 0 > > But that is a comment line. > > It is not obvious how to get rid of ust the temporary www/rust package > in a supported way. Just rm -f the file from the packages dir. pkgclean doesn't do much special. There is a hidden cache that is related but it will be cleaned up when accessed or on the next successful pkgclean. > > === > Mark Millard > marklmi at yahoo.com > ( dsl-only.net went > away in early 2018-Mar) > -- Bryan Drewery