From 24e1fd05ead6daf0acda29ba30d22441a6915955 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 11 Jun 2018 16:29:30 +0200 Subject: lib/common-functions: remove_old_package_versions(): read bpir_ids from stdin, do not fail on non-existend action files --- lib/common-functions | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'lib') 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 -- cgit v1.2.3