---
aptpkg | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
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
}
--
2.30.2