summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/makepkg.sh.in37
1 files changed, 19 insertions, 18 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 6ebfac0e..a2d9c837 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1194,36 +1194,37 @@ install_package() {
check_sanity() {
# check for no-no's in the build script
local i
+ local ret=0
for i in 'pkgname' 'pkgrel' 'pkgver'; do
if [[ -z ${!i} ]]; then
error "$(gettext "%s is not allowed to be empty.")" "$i"
- return 1
+ ret=1
fi
done
for i in "${pkgname[@]}"; do
if [[ ${i:0:1} = "-" ]]; then
error "$(gettext "%s is not allowed to start with a hyphen.")" "pkgname"
- return 1
+ ret=1
fi
done
if [[ ${pkgbase:0:1} = "-" ]]; then
error "$(gettext "%s is not allowed to start with a hyphen.")" "pkgbase"
- return 1
+ ret=1
fi
- if [[ $pkgver != ${pkgver//-/} ]]; then
- error "$(gettext "%s is not allowed to contain hyphens.")" "pkgver"
- return 1
+ if [[ $pkgver =~ [:-] ]]; then
+ error "$(gettext "%s is not allowed to contain colons or hyphens.")" "pkgver"
+ ret=1
fi
if [[ $pkgrel != ${pkgrel//-/} ]]; then
error "$(gettext "%s is not allowed to contain hyphens.")" "pkgrel"
- return 1
+ ret=1
fi
if [[ ! $epoch =~ ^[0-9]*$ ]]; then
error "$(gettext "%s must be an integer.")" "epoch"
- return 1
+ ret=1
fi
if [[ $arch != 'any' ]]; then
@@ -1232,7 +1233,7 @@ check_sanity() {
error "$(gettext "%s is not available for the '%s' architecture.")" "$pkgbase" "$CARCH"
plain "$(gettext "Note that many packages may need a line added to their %s")" "$BUILDSCRIPT"
plain "$(gettext "such as arch=('%s').")" "$CARCH"
- return 1
+ ret=1
fi
fi
fi
@@ -1242,7 +1243,7 @@ check_sanity() {
for i in ${provides_list[@]}; do
if [[ $i != ${i//</} || $i != ${i//>/} ]]; then
error "$(gettext "Provides array cannot contain comparison (< or >) operators.")"
- return 1
+ ret=1
fi
done
@@ -1251,7 +1252,7 @@ check_sanity() {
for i in "${backup_list[@]}"; do
if [[ ${i:0:1} = "/" ]]; then
error "$(gettext "Backup entry should not contain leading slash : %s")" "$i"
- return 1
+ ret=1
fi
done
@@ -1272,7 +1273,7 @@ check_sanity() {
eval file=${file}
if [[ ! -f $file ]]; then
error "$(gettext "%s file (%s) does not exist.")" "$i" "$file"
- return 1
+ ret=1
fi
done
done
@@ -1294,14 +1295,14 @@ check_sanity() {
fi
done
if (( ! valid_options )); then
- return 1
+ ret=1
fi
if (( ${#pkgname[@]} > 1 )); then
for i in ${pkgname[@]}; do
if ! declare -f package_${i} >/dev/null; then
error "$(gettext "missing package function for split package '%s'")" "$i"
- return 1
+ ret=1
fi
done
fi
@@ -1309,11 +1310,11 @@ check_sanity() {
for i in ${PKGLIST[@]}; do
if ! in_array $i ${pkgname[@]}; then
error "$(gettext "requested package %s is not provided in %s")" "$i" "$BUILDFILE"
- return 1
+ ret=1
fi
done
- return 0
+ return $ret
}
devel_check() {
@@ -1838,6 +1839,8 @@ if (( GENINTEG )); then
exit 0 # $E_OK
fi
+pkgbase=${pkgbase:-${pkgname[0]}}
+
# check the PKGBUILD for some basic requirements
check_sanity || exit 1
@@ -1868,8 +1871,6 @@ elif [[ $SPLITPKG -eq 0 ]] && declare -f package_${pkgname} >/dev/null; then
SPLITPKG=1
fi
-pkgbase=${pkgbase:-${pkgname[0]}}
-
if [[ -n "${PKGLIST[@]}" ]]; then
unset pkgname
pkgname=("${PKGLIST[@]}")