diff options
Diffstat (limited to 'bin/get-assignment')
-rwxr-xr-x | bin/get-assignment | 55 |
1 files changed, 23 insertions, 32 deletions
diff --git a/bin/get-assignment b/bin/get-assignment index 3d8fef4..42446bc 100755 --- a/bin/get-assignment +++ b/bin/get-assignment @@ -120,38 +120,29 @@ locked_packages="$( sed 's|\(\.[0-9a-f]\{40\}\)\{2\}\.[^\.\]\+\.locked$||' )" -unlocked_loops="$( - ls "${work_dir}/build-list.loops/" | \ - grep '^loop_[0-9]\+$' | \ - while read -r loop; do - if [ -z "$( - ( - cat "${work_dir}/build-list.loops/${loop}" - echo "${locked_packages}" - ) | \ - sort | \ - uniq -d - )" ]; then - echo "${loop}" - fi - done -)" - -for package in $( - echo "${unlocked_loops}" | \ - sed "s|^|${work_dir}/build-list.loops/|" | \ - xargs cat | \ - sort | \ - uniq -c | \ - sort -k1nr,1 | \ - awk '{print $2}' - ); do - - if assignment="$(grep "^${package//./\\.} " "${work_dir}/build-list")"; then - hand_out_assignment ${assignment} - fi - -done +ls "${work_dir}/build-list.loops/" | \ + grep '^loop_[0-9]\+$' | \ + while read -r loop; do + if [ -z "$( + ( + cat "${work_dir}/build-list.loops/${loop}" + echo "${locked_packages}" + ) | \ + sort | \ + uniq -d + )" ]; then + cat "${work_dir}/build-list.loops/${loop}" + fi + done | \ + sort | \ + uniq -c | \ + sort -k1nr,1 | \ + awk '{print $2}' | \ + while read -r package; do + if assignment="$(grep "^${package//./\\.} " "${work_dir}/build-list")"; then + hand_out_assignment ${assignment} + fi + done # Remove the lock file |