81 lines
1.4 KiB
Bash
Executable File
81 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
program=${0##*/}
|
|
|
|
die() {
|
|
echo "$@" >&2
|
|
exit 1
|
|
}
|
|
|
|
# version bump a pkg
|
|
|
|
do_bump() {
|
|
local pkgname=${1%-[0-9]*}
|
|
local pkgver=${1#${pkgname}-}
|
|
|
|
APORTS=$HOME/aports
|
|
|
|
set -e
|
|
|
|
cd $APORTS/*/$pkgname || return 1
|
|
local section=${PWD%/*} upgrade="upgrade" cve=
|
|
section=${section##*/}
|
|
if [ -n "$cvelist" ]; then
|
|
upgrade="security upgrade"
|
|
cve=" ($cvelist)"
|
|
fi
|
|
|
|
msg="$section/$pkgname: $upgrade to ${pkgver}${cve}"
|
|
if [ -n "$fixes" ]; then
|
|
msg="$msg
|
|
|
|
fixes #${fixes#\#}
|
|
"
|
|
fi
|
|
echo "$msg"
|
|
|
|
( . ./APKBUILD; type package | grep -q function ) || die "package() missing"
|
|
|
|
sed -i -e "s/^pkgver=.*/pkgver=$pkgver/" \
|
|
-e "s/^pkgrel=.*/pkgrel=0/" \
|
|
APKBUILD
|
|
|
|
abuild $abuild_opts checksum all || exit 1
|
|
|
|
git add APKBUILD
|
|
git commit -m"$msg"
|
|
}
|
|
|
|
usage() {
|
|
echo "$program - utility to bump pkgver in APKBUILDs"
|
|
echo "usage: $program [-hR] [-s CVE-1,CVE-2,...] [-f ISSUE]"
|
|
echo ""
|
|
echo " -h show this help"
|
|
echo " -R run abuild with -R for recursive building"
|
|
echo " -k keep existing packages"
|
|
echo " -s security update"
|
|
echo " -f fixes ISSUE"
|
|
exit 0
|
|
}
|
|
|
|
keep=
|
|
recursive="-r"
|
|
while getopts "f:hkRs:" opt; do
|
|
case $opt in
|
|
f) fixes="${OPTARG}";;
|
|
h) usage;;
|
|
k) keep="-k";;
|
|
R) recursive="-R";;
|
|
s) cvelist="$OPTARG";;
|
|
esac
|
|
done
|
|
shift $(( $OPTIND - 1))
|
|
|
|
abuild_opts="$recursive $keep"
|
|
|
|
while [ $# -gt 0 ]; do
|
|
( do_bump "$1" ) || exit 1
|
|
shift
|
|
done
|
|
|