Project

General

Profile

Actions

Bug #21526

open

Package "not rebuilding, downloading instead" logic is inappropriate after changing the build process

Added by Brett Smith 9 months ago. Updated 9 months ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
Deployment
Target version:
Story points:
-

Description

#21453 changed the location of files in our Python packages. This involved changing some paths in build/run-library.sh:fpm_build_virtualenv_worker. The first version of the branch did not update build/package-testing/test-package-python3-arvados-python-client.sh to mirror those changes. However, the tests still passed, because instead of building the packages, test_package_presence caused us to skip the build thanks to this code:

      repo_pkg_list=$(curl -s -o - http://apt.arvados.org/${D}/pool/main/${repo_subdir}/${pkgname}/)
      echo "${repo_pkg_list}" |grep -q ${full_pkgname}
      if [ $? -eq 0 ] ; then
        echo "Package $full_pkgname exists upstream, not rebuilding, downloading instead!" 
        curl -s -o "$WORKSPACE/packages/$TARGET/${full_pkgname}" http://apt.arvados.org/${D}/pool/main/${repo_subdir}/${pkgname}/${full_pkgname}
        return 1

So we tested the old package, which continued to work with the old path in the test script.

I believe this code is here to avoid unnecessary rebuilds and save some time during package building. That's fine as far as it goes. But because it only relies on the source code version, and doesn't have any concept of packaging changes, that means that sometimes we skip rebuilds that we actually want to do.

I don't know what the solution here is but we need to make sure that packages get build when we change the build process.


Files

build-packages-debian12-43.log (1.54 MB) build-packages-debian12-43.log Brett Smith, 02/15/2024 09:21 PM
Actions

Also available in: Atom PDF