From: Luke Shumaker <lukeshu@parabola.nu> This incorporates and improves on work from 3 previously submitted patch sets: 1. My testcase patch, but - take Eli's suggestion to simplify db-update.bats - add another commit so we don't hit a bug in BATS 2. Renaming PKGEXT->PKGEXT_glob from my first fix patchset 3. Eli's fix/extglob patchset, but - re-order things between commits - also accept ".tar" (with no compression suffix) - use `old_pkgs=()` instead of `unset old_pkgs` - replace `[ -ge 1]` with `(( > 0 ))` instead of `(( > 1 ))` - db-update: use `readarray < <(... | sort -u)` instead of the O(n^2) op of using in_array in a for loop and appending to the array - common.bash, sourceballs.bats: update to work with shopt -s extglob nullglob globstar; the tests needed updated too, not just the main code The last 3 commits aren't really related to the goal of the patchset, but I wanted to include all of the work from Eli's fix patchset. I don't mean to take credit away from Eli by re-working his patches (I credit him in the commit messages); I just wanted to make it clearer what is accomplished by each change, and how each of the changes relate to our goals; as well as actually testing each of them against the test suite. Luke Shumaker (8): test: common.bash:__getCheckSum: Don't rely on IFS test: db-update: @test "update same any package to same repository fails": change PKGEXT config: Rename PKGEXT to PKGEXT_glob Correctly treat PKGEXT_glob as a glob config: let PKGEXT_glob be an extglob; have its value match makepkg ftpdir-cleanup: fix typo in a comment ("pacakge") Replace all instances of `find` command with bash globbing ftpdir-cleanup, sourceballs: swap out [ -ge 1 ] for (( > 0 )) config | 4 +++- cron-jobs/ftpdir-cleanup | 24 ++++++++++++++++++------ cron-jobs/sourceballs | 20 +++++++++++++++----- db-functions | 12 ++++++++++-- db-move | 4 ++-- db-update | 16 ++++++++++------ test/cases/db-repo-add.bats | 6 +++--- test/cases/db-update.bats | 5 +++-- test/cases/ftpdir-cleanup.bats | 4 ++-- test/cases/sourceballs.bats | 4 ++-- test/lib/common.bash | 21 ++++++++++++++++----- 11 files changed, 84 insertions(+), 36 deletions(-) -- Happy hacking, ~ Luke Shumaker