-rwxr-xr-x | scripts/ipkg-build | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/scripts/ipkg-build b/scripts/ipkg-build index 0533048..c6af056 100755 --- a/scripts/ipkg-build +++ b/scripts/ipkg-build @@ -47,25 +47,25 @@ You probably want to chown these to a system user: " >&2 fi if [ ! -f "$CONTROL/control" ]; then echo "*** Error: Control file $pkg_dir/$CONTROL/control not found." >&2 cd $owd return 1 fi pkg=`required_field Package` [ "$?" -ne 0 ] && PKG_ERROR=1 - version=`required_field Version | sed 's/.*://;'` + version=`required_field Version | sed 's/Version://; s/^.://g;'` [ "$?" -ne 0 ] && PKG_ERROR=1 arch=`required_field Architecture` [ "$?" -ne 0 ] && PKG_ERROR=1 required_field Maintainer >/dev/null [ "$?" -ne 0 ] && PKG_ERROR=1 required_field Description >/dev/null [ "$?" -ne 0 ] && PKG_ERROR=1 section=`required_field Section` @@ -112,34 +112,35 @@ You probably want to chown these to a system user: " >&2 fi done fi cd $owd return $PKG_ERROR } ### # ipkg-build "main" ### ogargs="" -usage="Usage: $0 [-o owner] [-g group] [-c] <pkg_directory> [<destination_directory>]" -while getopts ":o:g:c" opt; do +outer=ar +usage="Usage: $0 [-c] [-o owner] [-g group] <pkg_directory> [<destination_directory>]" +while getopts "cg:o:" opt; do case $opt in o ) owner=$OPTARG ogargs="--owner=$owner" ;; g ) group=$OPTARG ogargs="$ogargs --group=$group" ;; - c ) classic=1 + c ) outer=tar ;; \? ) echo $usage >&2 esac done shift $(($OPTIND - 1)) # continue on to process additional arguments case $# in 1) @@ -177,23 +178,24 @@ if ! pkg_appears_sane $pkg_dir; then fi tmp_dir=$dest_dir/IPKG_BUILD.$$ mkdir $tmp_dir tar $ogargs -C $pkg_dir -czf $tmp_dir/data.tar.gz . --exclude=$CONTROL tar $ogargs -C $pkg_dir/$CONTROL -czf $tmp_dir/control.tar.gz . echo "2.0" > $tmp_dir/debian-binary pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk here_dir=$PWD +## tar -C $tmp_dir -czf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz rm -f $pkg_file -if [ -n "$classic" ]; then - tar -C $tmp_dir -czf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz -else +if [ "$outer" = "ar" ] ; then cd $tmp_dir ; ar crf $here_dir/$pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz +else + cd $tmp_dir ; tar -zcf $here_dir/$pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz fi cd $here_dir rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz rmdir $tmp_dir echo "Packaged contents of $pkg_dir into $pkg_file" |