projects/aports·blob v2.14.1 · refs

80 lines · 1.4 KiB

1#!/bin/sh
2
3program=${0##*/}
4
5die() {
6 echo "$@" >&2
7 exit 1
8}
9
10# version bump a pkg
11
12do_bump() {
13 local pkgname=${1%-[0-9]*}
14 local pkgver=${1#${pkgname}-}
15
16 APORTS=$HOME/aports
17
18 set -e
19
20 cd $APORTS/*/$pkgname || return 1
21 local section=${PWD%/*} upgrade="upgrade" cve=
22 section=${section##*/}
23 if [ -n "$cvelist" ]; then
24 upgrade="security upgrade"
25 cve=" ($cvelist)"
26 fi
27
28 msg="$section/$pkgname: $upgrade to ${pkgver}${cve}"
29 if [ -n "$fixes" ]; then
30 msg="$msg
31
32fixes #${fixes#\#}
33"
34 fi
35 echo "$msg"
36
37 ( . ./APKBUILD; type package | grep -q function ) || die "package() missing"
38
39 sed -i -e "s/^pkgver=.*/pkgver=$pkgver/" \
40 -e "s/^pkgrel=.*/pkgrel=0/" \
41 APKBUILD
42
43 abuild $abuild_opts checksum all || exit 1
44
45 git add APKBUILD
46 git commit -m"$msg"
47}
48
49usage() {
50 echo "$program - utility to bump pkgver in APKBUILDs"
51 echo "usage: $program [-hR] [-s CVE-1,CVE-2,...] [-f ISSUE]"
52 echo ""
53 echo " -h show this help"
54 echo " -R run abuild with -R for recursive building"
55 echo " -k keep existing packages"
56 echo " -s security update"
57 echo " -f fixes ISSUE"
58 exit 0
59}
60
61keep=
62recursive="-r"
63while getopts "f:hkRs:" opt; do
64 case $opt in
65 f) fixes="${OPTARG}";;
66 h) usage;;
67 k) keep="-k";;
68 R) recursive="-R";;
69 s) cvelist="$OPTARG";;
70 esac
71done
72shift $(( $OPTIND - 1))
73
74abuild_opts="$recursive $keep"
75
76while [ $# -gt 0 ]; do
77 ( do_bump "$1" ) || exit 1
78 shift
79done
80