mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-20 03:16:46 -07:00
125 lines
2.2 KiB
Bash
Executable File
125 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
usage() {
|
|
cat <<'EOF'
|
|
Usage: scripts/update-aur-package.sh --pkg-dir <dir> --version <version> --appimage <path> --wrapper <path> --assets <path>
|
|
EOF
|
|
}
|
|
|
|
pkg_dir=
|
|
version=
|
|
appimage=
|
|
wrapper=
|
|
assets=
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--pkg-dir)
|
|
pkg_dir="${2:-}"
|
|
shift 2
|
|
;;
|
|
--version)
|
|
version="${2:-}"
|
|
shift 2
|
|
;;
|
|
--appimage)
|
|
appimage="${2:-}"
|
|
shift 2
|
|
;;
|
|
--wrapper)
|
|
wrapper="${2:-}"
|
|
shift 2
|
|
;;
|
|
--assets)
|
|
assets="${2:-}"
|
|
shift 2
|
|
;;
|
|
-h|--help)
|
|
usage
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Unknown argument: $1" >&2
|
|
usage >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [[ -z "$pkg_dir" || -z "$version" || -z "$appimage" || -z "$wrapper" || -z "$assets" ]]; then
|
|
usage >&2
|
|
exit 1
|
|
fi
|
|
|
|
version="${version#v}"
|
|
pkgbuild="${pkg_dir}/PKGBUILD"
|
|
|
|
if [[ ! -f "$pkgbuild" ]]; then
|
|
echo "Missing PKGBUILD at $pkgbuild" >&2
|
|
exit 1
|
|
fi
|
|
|
|
for artifact in "$appimage" "$wrapper" "$assets"; do
|
|
if [[ ! -f "$artifact" ]]; then
|
|
echo "Missing artifact: $artifact" >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
mapfile -t sha256sums < <(sha256sum "$appimage" "$wrapper" "$assets" | awk '{print $1}')
|
|
|
|
tmpfile="$(mktemp)"
|
|
awk \
|
|
-v version="$version" \
|
|
-v sum_appimage="${sha256sums[0]}" \
|
|
-v sum_wrapper="${sha256sums[1]}" \
|
|
-v sum_assets="${sha256sums[2]}" \
|
|
'
|
|
BEGIN {
|
|
in_sha_block = 0
|
|
found_pkgver = 0
|
|
found_sha_block = 0
|
|
}
|
|
/^pkgver=/ {
|
|
print "pkgver=" version
|
|
found_pkgver = 1
|
|
next
|
|
}
|
|
/^sha256sums=\(/ {
|
|
print "sha256sums=("
|
|
print "\047" sum_appimage "\047"
|
|
print "\047" sum_wrapper "\047"
|
|
print "\047" sum_assets "\047"
|
|
in_sha_block = 1
|
|
next
|
|
}
|
|
in_sha_block {
|
|
if ($0 ~ /^\)/) {
|
|
print ")"
|
|
in_sha_block = 0
|
|
found_sha_block = 1
|
|
}
|
|
next
|
|
}
|
|
{
|
|
print
|
|
}
|
|
END {
|
|
if (!found_pkgver) {
|
|
print "Missing pkgver= line in PKGBUILD" > "/dev/stderr"
|
|
exit 1
|
|
}
|
|
if (!found_sha_block) {
|
|
print "Missing sha256sums block in PKGBUILD" > "/dev/stderr"
|
|
exit 1
|
|
}
|
|
}
|
|
' "$pkgbuild" > "$tmpfile"
|
|
mv "$tmpfile" "$pkgbuild"
|
|
|
|
(
|
|
cd "$pkg_dir"
|
|
makepkg --printsrcinfo > .SRCINFO
|
|
)
|