diff --git a/aptpkg b/aptpkg index dd82552..4b4c25c 100755 --- a/aptpkg +++ b/aptpkg @@ -35,12 +35,45 @@ check(){ fi } +# Generate the debian control file +gen_control_file(){ + mkdir -p "$builddir"/DEBIAN + echo "Package: $name +Version: $version-$rev +Architecture: amd64 +Maintainer: $(grep -am 1 -hr "Maintainer: " build | sed 's/# Maintainer: //') +Homepage: $url +Description: $description +$customcontrol +" > "$builddir"/DEBIAN/control +} + # Download a debian package build_deb(){ echo "Getting $source" wget "$source" -qO dist/"$name"_"$version"-"$rev"-amd64.deb } +# Download and build using files +build_file(){ + builddir=${name}_${version}-${rev}_amd64 + + cd "$1" + mkdir -p "$builddir" + + download "$@" + steps "$@" + + gen_control_file "$@" + + [ -f preinst ] && cp preinst "$builddir"/debian/ + [ -f postinst ] && cp postinst "$builddir"/debian/ + + cd - + + dpkg-deb --build --root-owner-group "$1"/"$builddir" dist/ +} + # Determine which function to run load_build(){ mkdir -p dist @@ -51,6 +84,8 @@ load_build(){ case "$type" in deb) build_deb ;; + file) + build_file "$@" ;; esac }