mirror of
https://gitlab.alpinelinux.org/alpine/abuild.git
synced 2025-01-02 20:42:43 +00:00
apkgrel, functions: refactor calculation of APKBUILD's path
This commit is contained in:
parent
b2d6b47be1
commit
89afa41792
13
apkgrel.in
13
apkgrel.in
@ -45,9 +45,8 @@ do_add () {
|
||||
local f= old=
|
||||
for f; do
|
||||
[ -n "$only_clean_git" ] \
|
||||
&& [ -n "$(git diff --name-only "$f")" ] \
|
||||
&& [ -n "$(git diff --name-only "${f%/*}")" ] \
|
||||
&& continue
|
||||
[ -d "$f" ] && f="$f/APKBUILD"
|
||||
old=$(show_plain "$f")
|
||||
case $old in
|
||||
[0-9]*) setto=$((old + 1));;
|
||||
@ -61,7 +60,6 @@ do_verify() {
|
||||
[ -n "$force" ] && return 0
|
||||
local f= rc=0
|
||||
for f; do
|
||||
[ -d "$f" ] && f="$f/APKBUILD"
|
||||
if ! grep -q '^pkgrel=[0-9]' "$f"; then
|
||||
error "no proper \$pkgrel for $f"
|
||||
rc=1
|
||||
@ -124,6 +122,15 @@ if [ $# -eq 0 ]; then
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# normalize $@ into paths to APKBUILDs
|
||||
[ "$(echo "$@" | wc -l)" -eq 1 ] || die "can't handle paths with embedded newlines"
|
||||
args=$(for a; do p=$(any_buildscript "$a") || die "can't find APKBUILD for $a"; echo "$p"; done)
|
||||
[ $? -eq 0 ] || exit 1
|
||||
oldifs=$IFS
|
||||
IFS=$'\n'
|
||||
set -- $args
|
||||
IFS=$oldifs
|
||||
|
||||
do_verify "$@" || exit 1
|
||||
$cmd "$@"
|
||||
|
||||
|
@ -30,6 +30,19 @@ aports_buildscript() {
|
||||
fi
|
||||
}
|
||||
|
||||
# expects $1 to be a file, or a directory containing an APKBUILD, or a package directory in the aports tree
|
||||
# outputs APKBUILD's path if successful (doesn't verify that it's a valid APKBUILD)
|
||||
any_buildscript() {
|
||||
if [ -f "$1" ]; then
|
||||
echo "$1"
|
||||
elif [ -d "$1" ]; then
|
||||
[ -f "$1/APKBUILD" ] || return 1
|
||||
echo "$1/APKBUILD"
|
||||
else
|
||||
aports_buildscript "$1" || return 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# output functions
|
||||
case $prog in
|
||||
|
Loading…
Reference in New Issue
Block a user