From 83f9d177ed1bbb76510ea28662c9d69440a36c60 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 8 May 2009 20:34:30 +0200 Subject: 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. --- abuild.in | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'abuild.in') 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 # # 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" -- cgit v1.2.3-60-g2f50