abuild: create symlink to package in tmprepo

The tmprepo is a temporary repository used by abuild to handle the
dependencies of the newly built packages.
This commit is contained in:
Natanael Copa 2009-05-08 20:34:30 +02:00
parent 2fd4128e20
commit 83f9d177ed
1 changed files with 19 additions and 4 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh
# script to build apk packages (light version og makepkg)
# script to build apk packages (light version of makepkg)
# Copyright (c) 2008 Natanael Copa <natanael.copa@gmail.com>
#
# Distributed under GPL-2
@ -17,6 +17,7 @@ pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
pkgrel=0
repo=${startdir%/*}
repo=${repo##*/}
tmprepo=/var/cache/abuild/tmprepo
# defaults
SRCDEST=${SRCDEST:-$startdir}
@ -293,7 +294,6 @@ prepare_metafiles() {
[ ! -d "$dir" ] && die "Missing $dir"
cd "$dir"
msg "Creating ${subpkgname:+sub}package $pkg..."
local builddate=$(date -u "+%s")
local size=$(du -sk | awk '{print $1 * 1024}')
@ -367,6 +367,7 @@ EOF
}
prepare_package() {
msg "Preparing ${subpkgname:+sub}package ${subpkgname:-$pkgname}..."
options_has "!strip" || stripbin
prepare_metafiles
}
@ -383,15 +384,29 @@ create_apks() {
local dir="${file%/.PKGINFO}"
local name=$(pkginfo_val pkgname $file)
local ver=$(pkginfo_val pkgver $file)
local apk="$PKGDEST"/$name-$ver.apk
local apk=$name-$ver.apk
(
set *
[ "$1" = '*' ] && set --
cd "$dir" && tar -zcf "$apk" $(cat .metafiles) $@
cd "$dir" && tar -zcf "$PKGDEST"/$apk $(cat .metafiles) $@
)
done
}
update_tmprepo() {
if ! up2date; then
sanitycheck && builddeps && clean && fetch && unpack && rootpkg || return 1
fi
local apk
for apk in $(listpkg); do
ln -sf "$PKGDEST"/$apk "$tmprepo"/$apk
done
# update the tmprepo cache here
msg "Updating the cached build repository index..."
apk index "$tmprepo"/*.apk | gzip > "$tmprepo"/APK_INDEX.gz
}
# predefined splitfunc doc
default_doc() {
depends="$depends_doc"