diff options
author | Justin Davis <jrcd83@gmail.com> | 2012-03-07 19:45:54 +0100 |
---|---|---|
committer | Justin Davis <jrcd83@gmail.com> | 2012-03-07 19:45:54 +0100 |
commit | 82a6d2fcba2569c1fe249283e4513ad66cc0e031 (patch) | |
tree | 85446a9ba35e45cdb5efd8b8462d0e447c083a88 /bin | |
parent | 0873b3e326586ff2b7b3b0e6cbdd85e1a31ec4ad (diff) | |
download | genpkg-82a6d2fcba2569c1fe249283e4513ad66cc0e031.tar.gz genpkg-82a6d2fcba2569c1fe249283e4513ad66cc0e031.tar.xz |
Change perl-pkgbuild to use new PKGTREE.
Updates genpkg as well. Adds func to genpkg for
merging files back together from PKGTREE dir.
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/genpkg | 65 | ||||
-rwxr-xr-x | bin/getpkgtree | 2 |
2 files changed, 55 insertions, 12 deletions
@@ -8,6 +8,45 @@ tweakd=~/pkg/tweaks pkgd=~/pkg/dest vard=~/.genpkg/var +mergefile() +{ + fname="$1" + shift + + if [ -f "$fname.$$" ] + then + echo "$prog: error: temp file already exists: $fname.$$" 1>&2 + return 1 + fi + + while [ "$#" -gt 0 ] + do + sect="$1" + shift + getpkgtree "$fname" "$sect" >> "$fname.$$" + + case "$?" in + 0) ;; + 101) echo "$prog: error: missing file in PKGTREE: $fname" 1>&2 + return 101 ;; + 102) continue ;; # empty section so don't echo a newline below + *) echo "$prog: unknown error from getpkgtree: $?" 1>&2 + return 1 ;; + esac + + [ "$#" -gt 0 ] && echo >> "$fname.$$" + done + + if du "$fname.$$" | awk '$1 == 0 { exit 1 }' + then + mv "$fname.$$" "$fname" + return 0 + else + rm "$fname.$$" + return 1 + fi +} + if [ $# -lt 1 ] then echo "usage: $prog [package name]" 1>&2 @@ -32,27 +71,31 @@ then exit 1 fi -cwd=$(pwd) - for pkg do [ -d "$pkgd/$pkg" ] || mkdir "$pkgd/$pkg" cd "$pkgd/$pkg" + if [ -d PKGTREE ] + then + echo "$prog: warning: removing old PKGTREE" 1>&2 + rm -rf PKGTREE + fi + mkdir PKGTREE + if METABIN="$metad" PKGVAR="$vard" mkpkgmeta "$pkg" then echo "$pkgd/$pkg" - echo "Generated PKGDATA and PKGTREE." 1>&2 else - exit $? + exit "$?" fi - twk="$tweakd/$pkg" - if [ -f "$twk" -a -r "$twk" ] && modpkgmeta - then - echo "Modified metapackage." 1>&2 - fi + #twk="$tweakd/$pkg" + #if [ -f "$twk" -a -r "$twk" ] && modmetapkg + #then + # echo "Modified metapackage." 1>&2 + #fi - mergepbfields | emitpkgtree || exit $? + pbfields < PKGDATA | putpkgtree PKGBUILD prefix body || exit "$?" + mergefile PKGBUILD prefix build check package suffix || exit "$?" done - diff --git a/bin/getpkgtree b/bin/getpkgtree index 38d4930..b8787b1 100755 --- a/bin/getpkgtree +++ b/bin/getpkgtree @@ -14,5 +14,5 @@ then exit 100 fi [ -d "PKGTREE/$1" ] || exit 101 -[ -d "PKGTREE/$1/$2" ] || exit 101 +[ -d "PKGTREE/$1/$2" ] || exit 102 find "PKGTREE/$1/$2" -maxdepth 1 -type f | sort | xargs cat |