abump.in 1.23 KB
Newer Older
1 2
#!/bin/sh

3 4
program=${0##*/}

5 6 7 8 9 10 11 12
die() {
	echo "$@" >&2
	exit 1
}

# version bump a pkg

do_bump() {
13 14
	local pkgname=${1%-[0-9]*}
	local pkgver=${1#${pkgname}-}
15 16 17 18 19

	APORTS=$HOME/aports

	set -e

20
	cd $APORTS/*/$pkgname || return 1
21
	local section=${PWD%/*} upgrade="upgrade" cve=
22
	section=${section##*/}
23 24 25 26
	if [ -n "$cvelist" ]; then
		upgrade="security upgrade"
		cve=" ($cvelist)"
	fi
27

28
	msg="$section/$pkgname: $upgrade to ${pkgver}${cve}"
29 30 31 32 33 34 35 36
	echo "$msg"
	
	( . ./APKBUILD; type package | grep -q function ) || die "package() missing"
		
	sed -i -e "s/^pkgver=.*/pkgver=$pkgver/" \
		-e "s/^pkgrel=.*/pkgrel=0/" \
		APKBUILD

37
	abuild $abuild_opts checksum all || exit 1
38 39 40 41 42

	git add APKBUILD
	git commit -m"$msg"
}

43 44
usage() {
	echo "$program - utility to bump pkgver in APKBUILDs"
45
	echo "usage: $program [-hR] [-s CVE-1,CVE-2,...]"
46 47 48
	echo ""
	echo "  -h  show this help"
	echo "  -R  run abuild with -R for recursive building"
49
	echo "  -k  keep existing packages"
50
	echo "  -s  security update"
51 52 53
	exit 0
}

54 55
keep=
recursive="-r"
56
while getopts "hkRs:" opt; do
57 58
	case $opt in
	h) usage;;
59 60
	k) keep="-k";;
	R) recursive="-R";;
61
	s) cvelist="$OPTARG";;
62 63 64 65
	esac
done
shift $(( $OPTIND - 1))

66 67
abuild_opts="$recursive $keep"

68 69 70 71
while [ $# -gt 0 ]; do
	( do_bump "$1" ) || exit 1
	shift
done
72