#!/bin/sh VERSION=0.01 die() { echo "error: $1" exit 1 } pbjtopkg() { pkg=$1 rm -rf "$pkgroot/$pkg" mkdir "$pkgroot/$pkg" cd "$pkgroot/$pkg" jamfile="$jamdir/$1.pbj" if [ ! -f "$jamfile" ] ; then die "$jamfile is missing" fi # Match the pkgname to the .pbj filename. # Provide values for other things macros won't be able to. printf "+ pkgname $pkg\n+ pkgrel ${PKGREL:-1}\n+ pbjver $VERSION\n" \ | cat - "$jamfile" \ | awk -v packager="${PACKAGER:-Anonymous}" -f "$bindir/pbjparse.awk" \ > PKGBUILD if [ $? -ne 0 ] ; then echo "Failed to write $pkgroot/$pkg/PKGBUILD" exit $? fi echo "Wrote $pkgroot/$pkg/PKGBUILD." } if [ -z "$1" ] ; then die "Usage: $0 [package name]" fi if [ "$PBJROOT" ] ; then cd "$PBJROOT" fi bindir="$(pwd)/bin" if [ ! -d "$bindir" ] ; then die "$bindir does not exist" fi PATH="$PATH:$bindir" if [ -n "$PKGROOT" ] ; then pkgroot="$PKGROOT" else pkgroot="$(pwd)/pkg" fi if [ ! -d "$pkgroot" ] ; then die "$pkgroot does not exist" fi jamdir="$(pwd)/pbj" if [ ! -d "$jamdir" ] ; then die "$jamdir does not exist" fi export PATH="$PATH:$bindir/macros:$bindir/templ" while [ $# -gt 0 ] ; do pbjtopkg $1 shift done