packaging-next.patch 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
  2. old mode 100644
  3. new mode 100755
  4. index 909ed7a..f69e726
  5. --- a/scripts/Makefile.dtbinst
  6. +++ b/scripts/Makefile.dtbinst
  7. @@ -23,8 +23,8 @@ include $(srctree)/$(obj)/Makefile
  8. PHONY += __dtbs_install_prep
  9. __dtbs_install_prep:
  10. ifeq ("$(dtbinst-root)", "$(obj)")
  11. - $(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi
  12. - $(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi
  13. + #$(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi
  14. + #$(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi
  15. $(Q)mkdir -p $(INSTALL_DTBS_PATH)
  16. endif
  17. diff --git a/scripts/package/builddeb b/scripts/package/builddeb
  18. index 5972624..272d558 100755
  19. --- a/scripts/package/builddeb
  20. +++ b/scripts/package/builddeb
  21. @@ -80,10 +80,12 @@ tmpdir="$objtree/debian/tmp"
  22. fwdir="$objtree/debian/fwtmp"
  23. kernel_headers_dir="$objtree/debian/hdrtmp"
  24. libc_headers_dir="$objtree/debian/headertmp"
  25. +dtb_dir="$objtree/debian/dtbtmp"
  26. dbg_dir="$objtree/debian/dbgtmp"
  27. packagename=linux-image-$version
  28. fwpackagename=linux-firmware-image-$version
  29. kernel_headers_packagename=linux-headers-$version
  30. +dtb_packagename=linux-dtb-$version
  31. libc_headers_packagename=linux-libc-dev
  32. dbg_packagename=$packagename-dbg
  33. @@ -108,13 +110,17 @@ esac
  34. BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)"
  35. # Setup the directory structure
  36. -rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir"
  37. +rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir"
  38. mkdir -m 755 -p "$tmpdir/DEBIAN"
  39. mkdir -p "$tmpdir/lib" "$tmpdir/boot" "$tmpdir/usr/share/doc/$packagename"
  40. mkdir -m 755 -p "$fwdir/DEBIAN"
  41. mkdir -p "$fwdir/lib/firmware/$version/" "$fwdir/usr/share/doc/$fwpackagename"
  42. mkdir -m 755 -p "$libc_headers_dir/DEBIAN"
  43. mkdir -p "$libc_headers_dir/usr/share/doc/$libc_headers_packagename"
  44. +
  45. +mkdir -m 755 -p "$dtb_dir/DEBIAN"
  46. +mkdir -p "$dtb_dir/boot/dtb" "$dtb_dir/usr/share/doc/$dtb_packagename"
  47. +
  48. mkdir -m 755 -p "$kernel_headers_dir/DEBIAN"
  49. mkdir -p "$kernel_headers_dir/usr/share/doc/$kernel_headers_packagename"
  50. mkdir -p "$kernel_headers_dir/lib/modules/$version/"
  51. @@ -165,6 +171,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then
  52. fi
  53. fi
  54. +if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then
  55. + #mkdir -p "$tmpdir/boot/dtb"
  56. + INSTALL_DTBS_PATH="$dtb_dir/boot/dtb" $MAKE KBUILD_SRC= dtbs_install
  57. +fi
  58. +
  59. if [ "$ARCH" != "um" ]; then
  60. $MAKE headers_check KBUILD_SRC=
  61. $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr"
  62. @@ -189,9 +200,11 @@ for script in postinst postrm preinst prerm ; do
  63. set -e
  64. # Pass maintainer script parameters to hook scripts
  65. +
  66. export DEB_MAINT_PARAMS="\$*"
  67. # Tell initramfs builder whether it's wanted
  68. +
  69. export INITRD=$want_initrd
  70. test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d
  71. @@ -200,6 +213,14 @@ EOF
  72. chmod 755 "$tmpdir/DEBIAN/$script"
  73. done
  74. +##
  75. +## Create sym link to kernel image
  76. +##
  77. +kernel_tmp_version="${installed_image_path////\\/}"
  78. +sed -e "s/exit 0/ln -sf \/$kernel_tmp_version \/boot\/zImage/g" -i $tmpdir/DEBIAN/postinst
  79. +echo "exit 0" >> $tmpdir/DEBIAN/postinst
  80. +
  81. +
  82. # Try to determine maintainer and email values
  83. if [ -n "$DEBEMAIL" ]; then
  84. email=$DEBEMAIL
  85. @@ -330,6 +351,16 @@ fi
  86. cat <<EOF >> debian/control
  87. +Package: $dtb_packagename
  88. +Architecture: any
  89. +Description: Linux DTB, version $version
  90. + This package contains device blobs from the Linux kernel, version $version.
  91. +EOF
  92. +
  93. +create_package "$dtb_packagename" "$dtb_dir"
  94. +
  95. +cat <<EOF >> debian/control
  96. +
  97. Package: $libc_headers_packagename
  98. Section: devel
  99. Provides: linux-kernel-headers