[PATCH] make builddeb invoke calls to linux-update-symlinks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The official Debian kernel packages, in addition to running the
scripts in /etc/kernel, also runs linux-update-symlinks via the
postinst script. This updates the /vmlinuz and /initrd.img (if it uses
an initramfs) symlinks to point to the newly installed kernel. This
update causes the builddeb script to do the same.

This version of the patch incorporates the feedback from Ben
Hutchings.

Signed-off-by: Jason Self <j@xxxxxxxxxx>
---
 scripts/package/builddeb | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 6df3c9f8b2da..707693867c29 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -195,6 +195,37 @@ export DEB_MAINT_PARAMS="\$*"
 # Tell initramfs builder whether it's wanted
 export INITRD=$(if_enabled_echo CONFIG_BLK_DEV_INITRD Yes No)
 
+$(case $script in
+    postinst)
+        echo "if [ -f /lib/modules/$version/.fresh-install ]; then
+    change=install
+else
+    change=upgrade
+fi
+if command -v linux-update-symlinks > /dev/null; then
+    linux-update-symlinks $change $version /$installed_image_path
+fi
+rm -f /lib/modules/$version/.fresh-install"
+        ;;
+    postrm)
+        echo "if command -v linux-update-symlinks > /dev/null; then
+    linux-update-symlinks remove $version /$installed_image_path
+fi"
+        ;;
+    preinst)
+        echo 'if [ "$1" = install ]; then
+    # Create a flag file for postinst
+    mkdir -p /lib/modules/$version
+    touch /lib/modules/$version/.fresh-install
+fi'
+        ;;
+    prerm)
+        echo "if command -v linux-check-removal > /dev/null; then
+    linux-check-removal $version
+fi"
+        ;;
+esac)
+
 test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d
 exit 0
 EOF
-- 
2.26.0




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux