summaryrefslogtreecommitdiffstats
path: root/scripts/gensync
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/gensync')
-rwxr-xr-xscripts/gensync48
1 files changed, 23 insertions, 25 deletions
diff --git a/scripts/gensync b/scripts/gensync
index bdadc30b..8dbe8921 100755
--- a/scripts/gensync
+++ b/scripts/gensync
@@ -20,7 +20,7 @@
# USA.
#
-myver='2.8.4'
+myver='2.9'
usage() {
echo "gensync $myver"
@@ -45,9 +45,14 @@ usage() {
exit 0
}
+die() {
+ echo "gensync: $*" >&2
+ rm -rf $gstmpdir
+ exit 1
+}
+
get_md5checksum()
{
- source $1 || return 1
if [ "$pkgdir" != "" ]; then
pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel.pkg.tar.gz"
else
@@ -80,6 +85,9 @@ db_write_entry()
echo "%DESC%" >>desc
echo "$pkgdesc" >>desc
echo "" >>desc
+ echo "%CSIZE%" >>desc
+ echo "$csize" >>desc
+ echo "" >>desc
if [ ! -z $pkgmd5sum ]; then
echo "%MD5SUM%" >>desc
echo "$pkgmd5sum" >>desc
@@ -147,40 +155,30 @@ pkgdir=
if [ "$3" != "" ]; then
pkgdir=$3
fi
-gstmpdir=$(mktemp -dt gensync.XXXXXXXXXX) || exit 1
-
-if [ ! -d $rootdir ]; then
- echo "gensync: invalid root dir: $rootdir" >&2
- rm -rf $gstmpdir
- exit 1
-fi
+gstmpdir=$(mktemp -d /tmp/gensync.XXXXXXXXXX) || exit 1
+[ ! -d $rootdir ] && die "invalid root dir: $rootdir"
echo "gensync: building database entries, generating md5sums..." >&2
cd `dirname $2`
for file in `find $rootdir/* -name PKGBUILD`; do
- pkgmd5sum=`get_md5checksum $file $pkgdir`
- if [ -z $pkgmd5sum ]; then
- echo "gensync: error generating checksum for $file" >&2
- rm -rf $gstmpdir
- exit 1
+ source $file || die "errors parsing $file"
+ if [ "$pkgdir" != "" ]; then
+ pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel.pkg.tar.gz"
+ else
+ pkgfile="$destdir/$pkgname-$pkgver-$pkgrel.pkg.tar.gz"
fi
+ [ -f $pkgfile ] || die "missing package file: $pkgfile"
+ csize=`du -b $pkgfile | cut -f1`
+ pkgmd5sum=`get_md5checksum $pkgfile`
+ [ -z $pkgmd5sum ] && die "error generating checksum for $pkgfile"
db_write_entry $file
- if [ $? -gt 0 ]; then
- echo "gensync: error writing entry for $file" >&2
- rm -rf $gstmpdir
- exit 1
- fi
+ [ $? -gt 0 ] && die "error writing entry for $file"
done
echo "gensync: compressing to $destfile..." >&2
cd $gstmpdir
tar c * | gzip -9 >$destfile
-if [ $? -gt 0 ]; then
- echo "gensync: error writing to $destfile" >&2
- rm -rf $gstmpdir
- exit 1
-fi
+[ $? -gt 0 ] && die "error writing to $destfile"
rm -rf $gstmpdir
-
exit 0