diff options
author | paulbdavis | 2018-02-25 15:42:24 -0700 |
---|---|---|
committer | paulbdavis | 2018-02-25 15:42:24 -0700 |
commit | 7506c76154f2a089f36c097c88ae2b2e5f0e43d5 (patch) | |
tree | 28474afb28dbf45117f3d8d713140884ba7ed872 | |
parent | 11ed003c2137de3c482e55113a27c2f74baf2894 (diff) | |
download | aur-7506c76154f2a089f36c097c88ae2b2e5f0e43d5.tar.gz |
remove old packages from repo, backup, not delete
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 4 | ||||
-rw-r--r-- | reposync.sh | 12 |
3 files changed, 16 insertions, 4 deletions
@@ -1,6 +1,6 @@ pkgbase = reposync pkgdesc = Wrapper for aursync - pkgver = 0.0.20 + pkgver = 0.0.21 pkgrel = 1 arch = any license = MIT @@ -9,7 +9,7 @@ pkgbase = reposync depends = bash depends = s3fs-fuse source = reposync.sh - sha256sums = a740378ce6014b87a6a13cc378dbfe38645c434ef11c5ba7f3a0f5d1eb9e11ed + sha256sums = cabaab4f53a709505292b7dde4b46b3d1786ead5aa10aa52d8175a53433e3aec pkgname = reposync @@ -1,12 +1,12 @@ # Maintainer: Paul Davis <paul@dangersalad.com> pkgname=reposync -pkgver=0.0.20 +pkgver=0.0.21 pkgrel=1 arch=('any') license=('MIT') source=(reposync.sh) pkgdesc="Wrapper for aursync" -sha256sums=('a740378ce6014b87a6a13cc378dbfe38645c434ef11c5ba7f3a0f5d1eb9e11ed') +sha256sums=('cabaab4f53a709505292b7dde4b46b3d1786ead5aa10aa52d8175a53433e3aec') depends=('aurutils' 'sudo' 'bash' 's3fs-fuse') package () { diff --git a/reposync.sh b/reposync.sh index 08889b54b89b..5bb10c8ec9a4 100644 --- a/reposync.sh +++ b/reposync.sh @@ -5,6 +5,7 @@ cfg_name=reposync.conf cfg_file="${REPOSYNC_CONFIG:-/etc/xdg/$cfg_name}" cfg_file_system="$cfg_file" local_repo="$HOME/.cache/reposync" +old_pkgs="$HOME/.cache/reposync-outdated" do_rsync="rsync -av --append" @@ -12,6 +13,7 @@ set -uo pipefail trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR mkdir -p "$local_repo" +mkdir -p "$old_pkgs" if [[ ! -f $cfg_file ]] then @@ -52,6 +54,16 @@ files_remote_name="${repo_name}.files" # remove all existing db files rm -f "$db_remote_name"* rm -f "$files_remote_name"* + # cleanup old files + pkgnames="$((for pkg in *.pkg.tar.xz; do echo "${pkg%-*-*-*}"; done;) | sort -u)" + for pkg in $pkgnames + do + for oldpkg in $(ls -v ${pkg}*.pkg.tar.xz | head --lines=-2) + do + echo "Removing $oldpkg from repo" + mv "$oldpkg" "$old_pkgs" + done + done for pkg in *.pkg.tar.xz do if [[ ! -f "${pkg}.sig" ]] |