From d7d7e55e91d9109fff8667f0d036c501aa14e1d9 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 24 Jul 2009 17:11:56 +0000 Subject: buildrepo: use new apk index and sign repo --- buildrepo.in | 43 +++++++++++++------------------------------ 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/buildrepo.in b/buildrepo.in index 2be50e1..7c24b86 100755 --- a/buildrepo.in +++ b/buildrepo.in @@ -37,13 +37,9 @@ all_exist() { } build() { - local repo="$1" i indexupdate needbuild + local repo="$1" i needbuild cd "$aportsdir/$repo" || return 1 - mkdir -p "$repodir/$repo" - if ! [ -f "$repodir/$repo"/APK_INDEX.gz ]; then - indexupdate="APK_INDEX.gz" - fi # first we try copy everything possible and find out which we need # to rebuild. By doing this we might save us for rebuilding @@ -55,8 +51,6 @@ build() { continue fi - indexupdate="$indexupdate $i" - # try link or copy the files if they are in the ports dir pkgs=$(abuild listpkg) if all_exist $pkgs; then @@ -87,35 +81,24 @@ build() { purge=$(ls *.apk 2>/dev/null | grep -v -w -f $tmp) if [ -n "$purge" ]; then rm -f $purge - indexupdate="$indexupdate $purge" fi rm -f "$tmp" fi - # check if we have any .apk newer than our index + # generate the repository index + echo ">>> Generating Index for $repo..." cd "$repodir/$repo" - if [ -z "$indexupdate" ]; then - for i in *.apk; do - if [ $i -nt APK_INDEX.gz ]; then - indexupdate=1 - break; - fi - done - fi - - # generate the repository index if needed - if [ -z "$indexupdate" ]; then - echo ">>> Index for $repo is up-to-date" - else - echo ">>> Generating Index for $repo..." - if which apk >/dev/null; then - local deps - for i in $deprepo; do - deps="--repo $repodir/$i" - done - apk $deps index *.apk | gzip -9 > APK_INDEX.gz - fi + local deps + for i in $deprepo; do + deps="--repo $repodir/$i" + done + oldindex= + if [ -f APKINDEX.tar.gz ]; then + oldindex="--index APKINDEX.tar.gz" fi + tmpindex=$(mktemp).tar.gz + apk index $oldindex -o $tmpindex *.apk + abuild-sign $tmpindex && mv $tmpindex APKINDEX.tar.gz } while getopts "a:d:hl:pr:" opt; do -- cgit v1.2.3-60-g2f50