diff options
author | Erich Eckner <git@eckner.net> | 2017-06-20 11:00:34 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-06-20 11:00:34 +0200 |
commit | 93a52f30029e0943187baf10f04a7bf4b0560d29 (patch) | |
tree | 8634f6c224ac5a537cd40bf2598cea2721cda9b1 | |
parent | 303e44cf2a88867fffd8e6599ff3f5632a6ca4b1 (diff) | |
download | builder-93a52f30029e0943187baf10f04a7bf4b0560d29.tar.xz |
bin/db-update: ignore duplicate versions if not relevant
-rwxr-xr-x | bin/db-update | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/bin/db-update b/bin/db-update index 3aced15..e37f19f 100755 --- a/bin/db-update +++ b/bin/db-update @@ -242,15 +242,29 @@ trap clean_up_lock_file EXIT # sanity check -if [ -n "$( - ls "${work_dir}/package-states" | \ - grep '\.done$' | \ - sed 's|\(\.[^.]\+\)\{4\}$||' | \ - sort | \ - uniq -d)" ]; then - >&2 echo 'Removing duplicates not yet implemented!' - exit 42 -fi +for ending in 'done' 'testing'; do + if [ "${ending}" = 'testing' ] && \ + [ -z "${packages_to_stabilize}" ]; then + # if nothing is to be untested, we don't care about duplicate + # testing packages (and maybe a unstaging fixes this anyway) + continue + fi + if [ -n "$( + ls "${work_dir}/package-states" | \ + grep "\.${ending}\$" | \ + sed 's|\(\.[^.]\+\)\{4\}$||' | \ + sort | \ + uniq -d + )" ]; then + >&2 echo 'Removing duplicates not yet implemented:' + ls "${work_dir}/package-states" | \ + grep "\.${ending}\$" | \ + sed 's|\(\.[^.]\+\)\{4\}$||' | \ + sort | \ + uniq -d + exit 42 + fi +done # packages which can't be un-staged because they're still dependencies # of any job on the build-list |