]> code.delx.au - monosys/commitdiff
makedeb
authorJames Bunton <jamesbunton@delx.net.au>
Sat, 3 Mar 2018 01:59:41 +0000 (01:59 +0000)
committerJames Bunton <jamesbunton@delx.net.au>
Sat, 3 Mar 2018 02:56:24 +0000 (13:56 +1100)
.gitignore
makedeb [new file with mode: 0755]

index f1c33bedb76c2d2f6cd641e99ba22e0209a25253..6bb0c603c3e1f974cf3700c1d2eb6c85935271cd 100644 (file)
@@ -1 +1,2 @@
 *.pkg.*
+*.deb
diff --git a/makedeb b/makedeb
new file mode 100755 (executable)
index 0000000..7d29e54
--- /dev/null
+++ b/makedeb
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+set -eu
+
+if [ "$(id -u)" -ne 0 ]; then
+    exec fakeroot "$0"
+fi
+
+source PKGBUILD
+
+set -x
+
+declare -F | awk '$3 ~ /^package_/ { gsub(/^package_/, "", $3); print $3 }' | while read pkgname; do
+
+    pkgdesc=""
+    depends=()
+    backup=()
+    install=""
+    pkgdir="${PWD}/${pkgname}_${pkgver}-${pkgrel}_all"
+
+    umask 0022
+    rm -rf "$pkgdir"
+    mkdir "${pkgdir}" "${pkgdir}/DEBIAN"
+
+    "package_$pkgname"
+
+    cat > "${pkgdir}/DEBIAN/control" <<EOT
+Section: misc
+Priority: optional
+Standards-Version: 3.9.2
+Package: ${pkgname}
+Description: ${pkgdesc}
+Version: ${pkgver}-${pkgrel}
+Maintainer: James Bunton <jamesbunton@delx.net.au>
+Architecture: all
+EOT
+
+    if [ "${#backup[@]}" -gt 0 ]; then
+        printf "%s\n" "${backup[@]}" > "${pkgdir}/DEBIAN/conffiles"
+    fi
+
+    dpkg-deb -b "${pkgdir}"
+
+    rm -rf "${pkgdir}"
+
+done