Improve packaging on 5.6+

Partially ported from @The-going work

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
This commit is contained in:
Igor Pecovnik 2020-04-10 11:58:47 +02:00
parent 9dce9ddb8b
commit 7b593a8153
No known key found for this signature in database
GPG Key ID: 93D6889F9F0E78D5

View File

@ -15,29 +15,45 @@ diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 6df3c9f..d33e1f3 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -41,9 +41,30 @@ create_package() {
@@ -41,9 +41,46 @@ create_package() {
# in case we are in a restrictive umask environment like 0077
chmod -R a+rX "$pdir"
+ # Create preinstall and post install script to remove dtb
+ if [ "$3" = "dtb" ]; then
+ echo "if [ -d /boot/dtb-$version ]; then mv /boot/dtb-$version /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/preinst
+ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst
+ echo "if [ -d /boot/dtb ]; then mv /boot/dtb /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst
+ echo "exit 0" >> $pdir/DEBIAN/preinst
+ chmod 775 $pdir/DEBIAN/preinst
+
+ echo "if [ -d /boot/dtb-$version.old ]; then rm -rf /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/postinst
+ echo "ln -sf dtb-$version /boot/dtb > /dev/null 2>&1 || mv /boot/dtb-$version /boot/dtb" >> $pdir/DEBIAN/postinst
+ echo "exit 0" >> $pdir/DEBIAN/postinst
+ chmod 775 $pdir/DEBIAN/postinst
+ cat >> $pdir/DEBIAN/preinst <<EOT
+rm -rf /boot/dtb-$version; rm -rf /boot/dtb
+exit 0
+EOT
+
+ cat >> $pdir/DEBIAN/postinst <<EOT
+cd /boot
+ln -sfT dtb-$version dtb 2> /dev/null || mv dtb-$version dtb
+exit 0
+EOT
+
+ chmod 775 $pdir/DEBIAN/preinst ; chmod 775 $pdir/DEBIAN/postinst
+ fi
+
+ # Create postinstall script for headers
+ # Create postinst prerm scripts for headers
+ if [ "$3" = "headers" ]; then
+ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;make -s scripts >/dev/null; make -s M=scripts/mod/ >/dev/null" >> $pdir/DEBIAN/postinst
+ echo "exit 0" >> $pdir/DEBIAN/postinst
+ chmod 775 $pdir/DEBIAN/postinst
+
+cat >> $pdir/DEBIAN/postinst << EOT
+cd /usr/src/linux-headers-$version
+echo "Compiling headers - please wait ..."
+find -type f -exec touch {} +
+make -s scripts >/dev/null
+make -s M=scripts/mod/ >/dev/null
+exit 0
+EOT
+
+cat >> $pdir/DEBIAN/prerm << EOT
+cd /usr/src/linux-headers-$version
+rm -rf scripts .config.old
+EOT
+
+ chmod 775 $pdir/DEBIAN/postinst ; chmod 775 $pdir/DEBIAN/prerm
+ fi
+
# Create the package