#!/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