Re: An example poudriere-devel pkgclean failure, multiple issues involved

From: Mark Millard via freebsd-ports <freebsd-ports_at_freebsd.org>
Date: Sat, 25 Sep 2021 07:31:29 UTC

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

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
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.

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)