freebsd / poudriere

Port/Package build and test system
https://github.com/freebsd/poudriere/wiki
BSD 2-Clause "Simplified" License
393 stars 162 forks source link

Error: download_from_repo_post_delete: We lost fetched unversioned #1165

Closed fraenki closed 3 months ago

fraenki commented 3 months ago

Prerequisites

Describe the bug

poudriere-devel-3.4.99.20240709 fails with the following error:

# poudriere bulk -j f141amd64 -p f141build1 -z default -b latest -f default-pkglist
...
[00:06:19] Deleting py311-sqlite3-3.11.9_7.pkg: missing dependency: sqlite3-3.46.0,1
...
[00:00:47] Package fetch: Generating logs for fetched packages
[00:00:47] Error: /usr/local/share/poudriere/bulk.sh:download_from_repo_post_delete:20:download_from_repo_post_delete: We lost fetched unversioned py311-sqli
te3-3.11.9_7.pkg
Error: (2487) /usr/local/share/poudriere/bulk.sh:download_from_repo_post_delete:257: set -e error: status = 70

How to reproduce

Steps to reproduce the behavior:

  1. Install poudriere-devel
  2. Run the previously mentioned build command

Expected behavior

Build should ignore errors with pre-fetched packages and build the required package.

Screenshots

Environment

Additional context

fraenki commented 3 months ago

I've realized that this is the intended behaviour:

https://github.com/freebsd/poudriere/blob/4702d1e498d5865b477ca10d19709165caa50862/src/share/poudriere/common.sh#L4481-L4484

So I'm hereby reporting this failure. :)

grahamperrin commented 3 months ago

Thanks, see also:

– you can add a cross-reference from there, to here.

bdrewery commented 3 months ago

Sorry, the error being a hard assertion is correct but only when PKG_NO_VERSION_FOR_DEPS is set to "yes". It is "no" by default. It is a beta feature I have not fully announced yet. The error should not be an error otherwise. An update to the port will be out shortly.