summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-05-08 20:34:30 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2009-05-08 20:34:30 +0200
commit83f9d177ed1bbb76510ea28662c9d69440a36c60 (patch)
tree65d13430a0194a6c75294c327a72c27e712f6b88
parent2fd4128e2041adf5b662427da6dc4e42394b04ac (diff)
downloadabuild-83f9d177ed1bbb76510ea28662c9d69440a36c60.tar.bz2
abuild-83f9d177ed1bbb76510ea28662c9d69440a36c60.tar.xz
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.
-rwxr-xr-xabuild.in23
1 files changed, 19 insertions, 4 deletions
diff --git a/abuild.in b/abuild.in
index 07dc4ea..50ed038 100755
--- a/abuild.in
+++ b/abuild.in
@@ -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"