abuild: implement getpkgver, default_fetch and default_unpack
to make life easier for volatile packages
This commit is contained in:
parent
78ca93d237
commit
d87b10b9af
32
abuild.in
32
abuild.in
@ -178,7 +178,7 @@ is_remote() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch() {
|
default_fetch() {
|
||||||
local s
|
local s
|
||||||
mkdir -p "$srcdir"
|
mkdir -p "$srcdir"
|
||||||
for s in $source; do
|
for s in $source; do
|
||||||
@ -191,8 +191,12 @@ fetch() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fetch() {
|
||||||
|
default_fetch
|
||||||
|
}
|
||||||
|
|
||||||
# unpack the sources
|
# unpack the sources
|
||||||
unpack() {
|
default_unpack() {
|
||||||
local u
|
local u
|
||||||
md5check || return 1
|
md5check || return 1
|
||||||
mkdir -p "$srcdir"
|
mkdir -p "$srcdir"
|
||||||
@ -216,6 +220,10 @@ unpack() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unpack() {
|
||||||
|
default_unpack
|
||||||
|
}
|
||||||
|
|
||||||
# cleanup source and package dir
|
# cleanup source and package dir
|
||||||
clean() {
|
clean() {
|
||||||
msg "Cleaning temporary build dirs..."
|
msg "Cleaning temporary build dirs..."
|
||||||
@ -236,6 +244,7 @@ cleancache() {
|
|||||||
|
|
||||||
cleanpkg() {
|
cleanpkg() {
|
||||||
local i
|
local i
|
||||||
|
getpkgver || return 1
|
||||||
msg "Cleaning built packages..."
|
msg "Cleaning built packages..."
|
||||||
for i in $pkgname $subpackages; do
|
for i in $pkgname $subpackages; do
|
||||||
local p="${i%:*}-$pkgver-r$pkgrel"
|
local p="${i%:*}-$pkgver-r$pkgrel"
|
||||||
@ -248,6 +257,7 @@ cleanpkg() {
|
|||||||
# clean all packages except current
|
# clean all packages except current
|
||||||
cleanoldpkg() {
|
cleanoldpkg() {
|
||||||
local i j
|
local i j
|
||||||
|
getpkgver || return 1
|
||||||
msg "Cleaning all packages except $pkgver-r$pkgrel..."
|
msg "Cleaning all packages except $pkgver-r$pkgrel..."
|
||||||
for i in $pkgname $subpackages; do
|
for i in $pkgname $subpackages; do
|
||||||
for j in "$PKGDEST"/${i%:*}-[0-9]*.apk; do
|
for j in "$PKGDEST"/${i%:*}-[0-9]*.apk; do
|
||||||
@ -282,6 +292,14 @@ runpart() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# override those in your build script
|
# override those in your build script
|
||||||
|
getpkgver() {
|
||||||
|
# this func is supposed to be overridden by volatile packages
|
||||||
|
if [ "$pkgver" = "volatile" ]; then
|
||||||
|
error "Please provide a getpkgver() function in your APKBUILD"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
:
|
:
|
||||||
}
|
}
|
||||||
@ -315,6 +333,7 @@ prepare_subpackages() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
prepare_metafiles() {
|
prepare_metafiles() {
|
||||||
|
getpkgver || return 1
|
||||||
local name=${subpkgname:-$pkgname}
|
local name=${subpkgname:-$pkgname}
|
||||||
[ -z "${name##* *}" ] && die "package name contains spaces"
|
[ -z "${name##* *}" ] && die "package name contains spaces"
|
||||||
local dir=${subpkgdir:-$pkgdir}
|
local dir=${subpkgdir:-$pkgdir}
|
||||||
@ -411,8 +430,7 @@ prepare_tracedeps() {
|
|||||||
prepare_package() {
|
prepare_package() {
|
||||||
msg "Preparing ${subpkgname:+sub}package ${subpkgname:-$pkgname}..."
|
msg "Preparing ${subpkgname:+sub}package ${subpkgname:-$pkgname}..."
|
||||||
stripbin
|
stripbin
|
||||||
prepare_metafiles
|
prepare_metafiles && prepare_tracedeps
|
||||||
prepare_tracedeps
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pkginfo_val() {
|
pkginfo_val() {
|
||||||
@ -465,6 +483,7 @@ trace_apk_deps() {
|
|||||||
|
|
||||||
create_apks() {
|
create_apks() {
|
||||||
local file
|
local file
|
||||||
|
getpkgver || return 1
|
||||||
for file in "$pkgbasedir"/.control.*/.PKGINFO; do
|
for file in "$pkgbasedir"/.control.*/.PKGINFO; do
|
||||||
local dir="${file%/.PKGINFO}"
|
local dir="${file%/.PKGINFO}"
|
||||||
local name=$(pkginfo_val pkgname $file)
|
local name=$(pkginfo_val pkgname $file)
|
||||||
@ -635,6 +654,7 @@ rootpkg() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
srcpkg() {
|
srcpkg() {
|
||||||
|
getpkgver || return 1
|
||||||
local p="$pkgname-$pkgver-$pkgrel"
|
local p="$pkgname-$pkgver-$pkgrel"
|
||||||
local prefix="${startdir##*/}"
|
local prefix="${startdir##*/}"
|
||||||
local i files="$prefix/APKBUILD"
|
local i files="$prefix/APKBUILD"
|
||||||
@ -648,6 +668,7 @@ srcpkg() {
|
|||||||
|
|
||||||
# check if package is up to date
|
# check if package is up to date
|
||||||
apk_up2date() {
|
apk_up2date() {
|
||||||
|
getpkgver || return 1
|
||||||
local pkg="$PKGDEST/$pkgname-$pkgver-r$pkgrel.apk"
|
local pkg="$PKGDEST/$pkgname-$pkgver-r$pkgrel.apk"
|
||||||
local i s
|
local i s
|
||||||
cd "$startdir"
|
cd "$startdir"
|
||||||
@ -672,6 +693,7 @@ apk_up2date() {
|
|||||||
|
|
||||||
cache_up2date() {
|
cache_up2date() {
|
||||||
local i apk
|
local i apk
|
||||||
|
getpkgver || return 1
|
||||||
for i in $pkgname $subpackages; do
|
for i in $pkgname $subpackages; do
|
||||||
apk="${i%:*}-$pkgver-r$pkgrel.apk"
|
apk="${i%:*}-$pkgver-r$pkgrel.apk"
|
||||||
[ "$apkcache"/APKINDEX.tar.gz -nt "$apkcache"/$apk ] || return 1
|
[ "$apkcache"/APKINDEX.tar.gz -nt "$apkcache"/$apk ] || return 1
|
||||||
@ -842,6 +864,7 @@ stripbin() {
|
|||||||
# simply list target apks
|
# simply list target apks
|
||||||
listpkg() {
|
listpkg() {
|
||||||
local i
|
local i
|
||||||
|
getpkgver || return 1
|
||||||
for i in $pkgname $subpackages; do
|
for i in $pkgname $subpackages; do
|
||||||
echo "${i%:*}-$pkgver-r$pkgrel.apk"
|
echo "${i%:*}-$pkgver-r$pkgrel.apk"
|
||||||
done
|
done
|
||||||
@ -909,6 +932,7 @@ install_has() {
|
|||||||
|
|
||||||
# install package after build
|
# install package after build
|
||||||
post_add() {
|
post_add() {
|
||||||
|
getpkgver || return 1
|
||||||
local pkgf="$PKGDEST/$1-$pkgver-r$pkgrel.apk"
|
local pkgf="$PKGDEST/$1-$pkgver-r$pkgrel.apk"
|
||||||
local deps i
|
local deps i
|
||||||
if ! subpackages_has $1 && [ "$1" != "$pkgname" ]; then
|
if ! subpackages_has $1 && [ "$1" != "$pkgname" ]; then
|
||||||
|
Reference in New Issue
Block a user