mbox

[dbscripts,v2,0/8] PKGEXT fixup

Message ID 20180218171736.4473-1-lukeshu@lukeshu.com
Headers show

Message

Luke Shumaker Feb. 18, 2018, 5:17 p.m. UTC
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(-)