12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/bin/sh
- SRC_BASE="$HOME/.local/src"
- XDG_REPO_BASE="$SRC_BASE/xdg-repo"
- XDG_REPO_ARCH="x86_64"
- handle_bin_ver_pkg_upgrade() {
- if [ -e PKGBUILD ]; then
- binary_version="$(grep "^# binary version of this package (-bin):" PKGBUILD | head -n 1 | awk '{print $8}' | sed 's/^.*\///')"
- if [ -n "$binary_version" ]; then
- cd "$SRC_BASE/$binary_version" || return
- git pull || return
- updpkgsums || return
- makepkg --printsrcinfo > .SRCINFO
- add .SRCINFO PKGBUILD || return
- uppkg || return
- git push
- fi
- fi
- }
- xdg_repo_path="$XDG_REPO_BASE/$XDG_REPO_ARCH"
- more_than_one_arguemt_given=0
- commit_msg="updated"
- for file in "$@"; do
- # TODO: add epoch to $pkgver
- pkgver="$(grep "^\s*pkgver\|^\s*pkgrel" .SRCINFO | sed "s/^\s*pkgver\s*=\s*//; s/^\s*pkgrel\s*=\s*/-/"| tr -d "\n")"
- pkgname="${file%%-"$pkgver"*}"
- for old_pkg in "$xdg_repo_path/$pkgname"*.pkg.tar.zst; do
- if [ -e "$old_pkg" ]; then
- rm "$xdg_repo_path/$pkgname"*.pkg.tar.zst*
- # TODO: broken, use another way to break out of inner loop
- # break
- fi
- done
- if [ "$more_than_one_arguemt_given" = 0 ]; then
- more_than_one_arguemt_given=1
- commit_msg="$commit_msg $pkgname -> $pkgver"
- else
- commit_msg="$commit_msg + $pkgname -> $pkgver"
- fi
- mv "$file" "$xdg_repo_path"
- done
- handle_bin_ver_pkg_upgrade
- cd "$XDG_REPO_BASE" || exit 1
- git pull
- ./signpkgs
- git add .
- git commit -m "$commit_msg"
- git push
|