poudriere inconsistently still using /portdistfiles

I am trying to build databases/cassandra4 in poudriere.

The pre-fetch target places a file in ${DISTDIR}/${DIST_SUBDIR}/${MAVEN_CACHE_FILE}. In poudriere this is translating to /portdistfiles/cassandra/apache-cassandra-4.0.8-repo.tar.xz despite having set DISTFILES_CACHE in poudriere.conf:

Code:
# grep DISTFILES -n /usr/local/etc/poudriere.conf
89:DISTFILES_CACHE=/usr/ports/distfiles

The jail is correctly using /usr/ports/distfiles for all other built packages. But then when it goes to look for the file built in pre-fetch, apache-cass..., it does not find it, because it is in /portdistfiles/... rather than in /usr/ports/distfiles. Furthermore, these paths do not describe the same location: /portdistfiles only contains the files built in pre-fetch.

Someone else had a similar looking (unanswered) problem ~2 years ago:

How can I get poudriere to use the correct DISTDIR location consistently?
 
You're likely looking in the wrong places to identify your problem. /portdistfiles is a temporary location in every poudriere builder jail, it's automatically used as DISTFILES (by extending make.conf) only for the fetch phase. When using a DISTFILES_CACHE, needed distfiles are copied from there to /portdistfiles before the fetch phase, and distfiles from /portdistfiles are copied back to DISTFILES_CACHE before the checksum phase.

I assume this whole dance is done to make fetching new distfiles safer. Anyways, your issue seems to be that the newly "fetched" (here: created) distfile isn't copied back to where you expect it, not that poudriere is using /portdistfiles. Do you have any other configuration settings that might fiddle with DISTFILES? (especially, you should avoid setting DISTFILES manually in any make.conf fragment used for poudriere).

Note this port builds perfectly fine on the official package builders which use poudriere, so there must be some local configuration issue.
 
Back
Top