summaryrefslogtreecommitdiffstats
path: root/bin/genpkg
diff options
context:
space:
mode:
authorJustin Davis <jrcd83@gmail.com>2012-03-07 19:45:54 +0100
committerJustin Davis <jrcd83@gmail.com>2012-03-07 19:45:54 +0100
commit82a6d2fcba2569c1fe249283e4513ad66cc0e031 (patch)
tree85446a9ba35e45cdb5efd8b8462d0e447c083a88 /bin/genpkg
parent0873b3e326586ff2b7b3b0e6cbdd85e1a31ec4ad (diff)
downloadgenpkg-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/genpkg')
-rwxr-xr-xbin/genpkg65
1 files changed, 54 insertions, 11 deletions
diff --git a/bin/genpkg b/bin/genpkg
index 513fa9e..fcfa7cf 100755
--- a/bin/genpkg
+++ b/bin/genpkg
@@ -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
-