implement basic sanity check of APKBUILD
This commit is contained in:
parent
45ff2bfefe
commit
5a9827a1b5
32
abuild
32
abuild
@ -23,7 +23,7 @@ pkgrel=0
|
|||||||
SRCDEST=${SRCDEST:-$startdir}
|
SRCDEST=${SRCDEST:-$startdir}
|
||||||
PKGDEST=${PKGDEST:-$startdir}
|
PKGDEST=${PKGDEST:-$startdir}
|
||||||
|
|
||||||
default_cmds="checkdeps clean fetch checkmd5 unpack rootpkg"
|
default_cmds="makedepcheck clean fetch md5check unpack rootpkg"
|
||||||
all_cmds="checksum fetch unpack rootpkg build package cleancache clean srcpkg"
|
all_cmds="checksum fetch unpack rootpkg build package cleancache clean srcpkg"
|
||||||
|
|
||||||
# functions
|
# functions
|
||||||
@ -43,8 +43,27 @@ die() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# check if apkbuild is basicly sane
|
||||||
|
sanitycheck() {
|
||||||
|
[ -z "$pkgname" ] && die "Missing pkgname in APKBUILD"
|
||||||
|
[ -z "${pkgname##* *}" ] && die "pkgname contains spaces"
|
||||||
|
[ -z "$pkgver" ] && die "Missing pkgver in APKBUILD"
|
||||||
|
[ "${pkgver##[0-9]}" != "$pkgver" ] && \
|
||||||
|
die "pkgver does not start with a digit"
|
||||||
|
[ -z "$pkgrel" ] && warning "Missing pkgrel in APKBUILD. Using pkgrel=0"
|
||||||
|
[ -z "$pkgdesc" ] && die "Missing pkgdesc in APKBUILD"
|
||||||
|
[ -z "$url" ] && die "Missing url in APKBUILD"
|
||||||
|
[ -z "$license" ] && die "Missing license in APKBULID"
|
||||||
|
|
||||||
|
# common spelling errors
|
||||||
|
[ -n "$depend" ] && die "APKBUILD contains 'depend'. It should be depends"
|
||||||
|
[ -n "$makedepend" ] && die "APKBUILD contains 'makedepend'. It should be makedepends"
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
# check if we have needed packages to build this thing
|
# check if we have needed packages to build this thing
|
||||||
checkdeps() {
|
makedepcheck() {
|
||||||
local i
|
local i
|
||||||
local missing=
|
local missing=
|
||||||
for i in $makedepends; do
|
for i in $makedepends; do
|
||||||
@ -55,13 +74,17 @@ checkdeps() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
checkmd5() {
|
md5check() {
|
||||||
if [ -z "$source" ]; then
|
if [ -z "$source" ]; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
if [ -z "$md5sums" ]; then
|
if [ -z "$md5sums" ]; then
|
||||||
die "Use 'abuild checksum >>$APKBUILD' to generate a checksum"
|
die "Use 'abuild checksum >>$APKBUILD' to generate a checksum"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$(echo $source | wc -l)" -ne "$(echo $md5sums | wc -l)" ]; then
|
||||||
|
die "Number of md5sums does not correspond to number of sources"
|
||||||
|
fi
|
||||||
cd "$srcdir" && echo "$md5sums" | md5sum -c
|
cd "$srcdir" && echo "$md5sums" | md5sum -c
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -161,6 +184,7 @@ subpkg() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
package_apk() {
|
package_apk() {
|
||||||
|
[ -z "${pkgname##* *}" ] && die "pkgname contains spaces"
|
||||||
local dir=${subpkgdir:-$pkgdir}
|
local dir=${subpkgdir:-$pkgdir}
|
||||||
local p="$pkgname-$pkgver"
|
local p="$pkgname-$pkgver"
|
||||||
[ "$pkgrel" -ne 0 ] && p="$p-r$pkgrel"
|
[ "$pkgrel" -ne 0 ] && p="$p-r$pkgrel"
|
||||||
@ -327,6 +351,8 @@ usage() {
|
|||||||
echo "Commands:"
|
echo "Commands:"
|
||||||
echo " checksum Generate checksum to be included in $APKBUILD"
|
echo " checksum Generate checksum to be included in $APKBUILD"
|
||||||
echo " fetch Fetch sources to \$SRCDEST and verify checksums"
|
echo " fetch Fetch sources to \$SRCDEST and verify checksums"
|
||||||
|
echo " sanitycheck Basic sanity check of APKBUILD"
|
||||||
|
echo " md5check Check md5sums"
|
||||||
echo " unpack Unpack sources to \$srcdir"
|
echo " unpack Unpack sources to \$srcdir"
|
||||||
echo " build Compile and install package into \$pkgdir"
|
echo " build Compile and install package into \$pkgdir"
|
||||||
echo " package Create package in \$PKGDEST"
|
echo " package Create package in \$PKGDEST"
|
||||||
|
Reference in New Issue
Block a user