Re: How poudriere's PACKAGE_FETCH_WHITELIST should work?
- Reply: Tatsuki Makino : "Re: How poudriere's PACKAGE_FETCH_WHITELIST should work?"
- Reply: Mark Millard : "Re: How poudriere's PACKAGE_FETCH_WHITELIST should work?"
- In reply to: Mark Millard : "RE: How poudriere's PACKAGE_FETCH_WHITELIST should work? "
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 16 Feb 2023 00:28:03 UTC
On 15/02/2023 22:02, Mark Millard wrote: > Miroslav Lachman <000.fbsd_at_quip.cz> wrote on > Date: Wed, 15 Feb 2023 19:50:59 UTC : [..] > TMPFS_BLACKLIST="rust" > TMPFS_BLACKLIST_TMPDIR=${BASEFS}/data/cache/tmp > > (Of course, the file system for TMPFS_BLACKLIST_TMPDIR > needs to have sufficient space available for whatever > combination of blacklisted ports might be building > at the same time.) Thank you for pointing this out, I will try to set TMPFS_BLACKLIST, it seems useful! > (Note: my familiarity is with poudriere-devel .) Yes, I am on poudriere-devel too. [..] >> But the mystery is that "poudriere bulk" failed on building rust even if >> it should be used from fetched package: > > A possibility for the type of issue: > > Using 1.66 vs. 1.67 as an example, there was a time frame when > the most recent package available to download was 1.66 based > but the port had been updated to 1.67 . The package for 1.67 > showed up later after the FreeBSD build-server poudriere > bulk activity and the distribution to the download server > that you happen to (potentially) use. > > So it might have downloaded 1.66 but discovered that the ports > tree involved was at 1.67 instead. I am using quarterly to avoid fast moving targets. Local ports tree is 2023Q quarterly, poudriere is set up to use quarterly packages for fetch too: PACKAGE_FETCH_BRANCH=quarterly The fetched rust was 1.66.0 and the built one is 1.66.0 too. That's why I am confused with this behavior. > There is also that the packages for distribution are updated > after the FreeBSD build server's poudriere bulk that involved > the package: the packages are updated more like "as a unit" > relative to the overall bulk build but distribution is spread > over time and space. I checked availability on FreshPorts too: https://www.freshports.org/lang/rust/ quarterly for FreeBSD:12:amd64 is listed as 1.66.0, last checked 2023-02-15 10:00 so it should (and it is) available to download at it was downloaded but was not used by Poudriere and the build was started, then failed and then fetched again and used for next build. Very confusing. [..] > Using a more overall example context: Using poudriere, it > rebuilds a port that are dependent on ports that have new > versions, even if the port in question does not have a > new version number. After rebuilding, the lack of a new > version leads to package-update activity not installing > an update. So: built but not put to use. > > This gets to be sort of like the earlier 1.66 vs. 1.67 > illustration: The downloadable package might have been > based on an earlier version of some other port(s) and, > until rebuilt and distributed, is somewhat mismatched > with some port(s) it was dependent on. This could lead > to a rebuild, even if the rebuild might end up not being > used because of a lack of version number change. I hope I kind of understand what you are explaining but I am still puzzled in what conditions are / will be fetched packages used. Why llvm10 is never fetched, always built from scratch? Is there a way to debug what logic is Poudriere using for what dependency fetching? Is it logged somewhere? Thank you for your explanation! Kind regards Miroslav Lachman