Bug #21526
openPackage "not rebuilding, downloading instead" logic is inappropriate after changing the build process
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