diff options
Diffstat (limited to 'lib/common-functions')
-rwxr-xr-x | lib/common-functions | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/common-functions b/lib/common-functions index 77f2417..d8da4a7 100755 --- a/lib/common-functions +++ b/lib/common-functions @@ -112,11 +112,12 @@ ls_master_mirror() { } -# remove_old_package_versions $binary_package_in_repository_id_1 $binary_package_in_repository_id_2 ... +# remove_old_package_versions -# removes all older versions of the given packages from all repositories -# less[1] stable than the current repository, as well as any different -# version of the same package from equally[2] stable repositories +# removes all older versions of the packages given at stdin (by bpir.id) +# from all repositories less[1] stable than the current repository, as +# well as any different version of the same package from equally[2] +# stable repositories # 1] determined by `repository_stability_relations` # 2] identical `repositories`.`stability` @@ -127,7 +128,7 @@ remove_old_package_versions() { tmp_dir=$(mktemp -d 'tmp.common-functions.remove_old_package_versions.XXXXXXXXXX' --tmpdir) trap 'rm -rf --one-file-system "${tmp_dir}"' EXIT - for bpir_id in "$@"; do + while read -r bpir_id; do # shellcheck disable=SC2016 { @@ -195,8 +196,10 @@ remove_old_package_versions() { done for file in 'repo-removes' 'sftp-remove' 'db-removes'; do - sort -u "${tmp_dir}/${file}" | \ - sponge "${tmp_dir}/${file}" + if [ -s "${tmp_dir}/${file}" ]; then + sort -u "${tmp_dir}/${file}" | \ + sponge "${tmp_dir}/${file}" + fi done # repo-remove packages |