diff --git a/patch/kernel/cubox-next/headers-packing.patch b/patch/kernel/cubox-next/headers-packing.patch deleted file mode 100644 index 1cf5b59ec..000000000 --- a/patch/kernel/cubox-next/headers-packing.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038..616aa9b 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -334,6 +334,8 @@ mkdir -p "$destdir" - ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" - rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - -+olddir="$(pwd)"; cd "$destdir"; make M=scripts clean; cd $olddir -+ - cat <> debian/control - - Package: $kernel_headers_packagename diff --git a/patch/kernel/cubox-next/packaging-next.patch b/patch/kernel/cubox-next/packaging-with-postinstall-scripts.patch similarity index 62% rename from patch/kernel/cubox-next/packaging-next.patch rename to patch/kernel/cubox-next/packaging-with-postinstall-scripts.patch index 49df7068b..97244bb89 100644 --- a/patch/kernel/cubox-next/packaging-next.patch +++ b/patch/kernel/cubox-next/packaging-with-postinstall-scripts.patch @@ -1,8 +1,35 @@ diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 88dbf23..fc023a9 100755 +index 6c3b038..c48416b 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb -@@ -80,11 +80,13 @@ tmpdir="$objtree/debian/tmp" +@@ -27,6 +27,26 @@ create_package() { + chown -R root:root "$pdir" + chmod -R go-w "$pdir" + ++ # Create preinstall and post install script to remove dtb ++ if [[ "$1" == *dtb* ]]; then ++ echo "if [ -d /boot/dtb ]; then rm -rf /boot/dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /dtb ]; then rm -rf /dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "exit 0" >> $pdir/DEBIAN/preinst ++ chmod 775 $pdir/DEBIAN/preinst ++ # ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ ++ # Create postinstall script for headers ++ if [[ "$1" == *headers* ]]; then ++ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; make -s scripts" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ + # Create the package + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" + dpkg --build "$pdir" .. +@@ -93,11 +113,13 @@ tmpdir="$objtree/debian/tmp" fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" libc_headers_dir="$objtree/debian/headertmp" @@ -18,9 +45,9 @@ index 88dbf23..fc023a9 100755 +dtb_packagename=linux-dtb-next"$LOCALVERSION" +libc_headers_packagename=linux-libc-dev-next"$LOCALVERSION" dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -108,6 +110,8 @@ esac + debarch= + forcearch= +@@ -124,7 +146,9 @@ esac BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" # Setup the directory structure @@ -30,7 +57,8 @@ index 88dbf23..fc023a9 100755 +mkdir -p "$dtb_dir/boot/dtb" "$dtb_dir/usr/share/doc/$dtb_packagename" mkdir -m 755 -p "$tmpdir/DEBIAN" mkdir -p "$tmpdir/lib" "$tmpdir/boot" -@@ -165,6 +171,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then + mkdir -p "$fwdir/lib/firmware/$version/" +@@ -183,6 +207,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then fi fi @@ -42,7 +70,7 @@ index 88dbf23..fc023a9 100755 if [ "$ARCH" != "um" ]; then $MAKE headers_check KBUILD_SRC= $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" -@@ -177,7 +188,7 @@ fi +@@ -195,7 +224,7 @@ fi # so do we; recent versions of dracut and initramfs-tools will obey this. debhookdir=${KDEB_HOOKDIR:-/etc/kernel} if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then @@ -51,7 +79,7 @@ index 88dbf23..fc023a9 100755 else want_initrd=No fi -@@ -189,9 +200,11 @@ for script in postinst postrm preinst prerm ; do +@@ -207,9 +236,11 @@ for script in postinst postrm preinst prerm ; do set -e # Pass maintainer script parameters to hook scripts @@ -63,37 +91,67 @@ index 88dbf23..fc023a9 100755 export INITRD=$want_initrd test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d -@@ -200,6 +213,29 @@ EOF +@@ -218,6 +249,59 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done +## +## Create sym link to kernel image +## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst +cat >> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 -+rm -f /$installed_image_path /boot/zImage ++cp /boot/uImage /tmp/uImage ++sync ++mountpoint -q /boot || mount /boot ++cp /tmp/uImage /boot/uImage ++rm -f /$installed_image_path +else +ln -sf $(basename $installed_image_path) /boot/zImage > /dev/null 2>&1 || mv /$installed_image_path /boot/zImage +fi ++if [ -f "/boot/initrd.img-$version" ]; then ++mkimage -A $UTS_MACHINE -O linux -T ramdisk -C gzip -a 0 -e 0 -n uInitrd -d /boot/initrd.img-$version /boot/uInitrd > /dev/null 2>&1 ++rm /boot/initrd.img-$version ++fi +touch /boot/.next +exit 0 +EOT +## +## FAT install workaround +## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst +cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst + # Try to determine maintainer and email values if [ -n "$DEBEMAIL" ]; then email=$DEBEMAIL -@@ -306,6 +342,12 @@ fi +@@ -328,16 +410,24 @@ fi (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" destdir=$kernel_headers_dir/usr/src/linux-headers-$version mkdir -p "$destdir" @@ -106,7 +164,11 @@ index 88dbf23..fc023a9 100755 (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be -@@ -315,7 +357,7 @@ rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" + rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ++(cd "$destdir"; make M=scripts clean) ++ cat <> debian/control Package: $kernel_headers_packagename @@ -115,7 +177,7 @@ index 88dbf23..fc023a9 100755 Architecture: any Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} -@@ -341,6 +383,16 @@ fi +@@ -363,6 +453,16 @@ fi cat <> debian/control @@ -132,7 +194,7 @@ index 88dbf23..fc023a9 100755 Package: $libc_headers_packagename Section: devel Provides: linux-kernel-headers -@@ -352,7 +404,7 @@ EOF +@@ -374,7 +474,7 @@ EOF if [ "$ARCH" != "um" ]; then create_package "$kernel_headers_packagename" "$kernel_headers_dir" diff --git a/patch/kernel/marvell-next/headers-packing.patch b/patch/kernel/marvell-next/headers-packing.patch deleted file mode 100644 index 1cf5b59ec..000000000 --- a/patch/kernel/marvell-next/headers-packing.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038..616aa9b 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -334,6 +334,8 @@ mkdir -p "$destdir" - ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" - rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - -+olddir="$(pwd)"; cd "$destdir"; make M=scripts clean; cd $olddir -+ - cat <> debian/control - - Package: $kernel_headers_packagename diff --git a/patch/kernel/udoo-next/01-packaging-next.patch b/patch/kernel/marvell-next/packaging-with-postinstall-scripts.patch similarity index 62% rename from patch/kernel/udoo-next/01-packaging-next.patch rename to patch/kernel/marvell-next/packaging-with-postinstall-scripts.patch index 49df7068b..97244bb89 100644 --- a/patch/kernel/udoo-next/01-packaging-next.patch +++ b/patch/kernel/marvell-next/packaging-with-postinstall-scripts.patch @@ -1,8 +1,35 @@ diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 88dbf23..fc023a9 100755 +index 6c3b038..c48416b 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb -@@ -80,11 +80,13 @@ tmpdir="$objtree/debian/tmp" +@@ -27,6 +27,26 @@ create_package() { + chown -R root:root "$pdir" + chmod -R go-w "$pdir" + ++ # Create preinstall and post install script to remove dtb ++ if [[ "$1" == *dtb* ]]; then ++ echo "if [ -d /boot/dtb ]; then rm -rf /boot/dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /dtb ]; then rm -rf /dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "exit 0" >> $pdir/DEBIAN/preinst ++ chmod 775 $pdir/DEBIAN/preinst ++ # ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ ++ # Create postinstall script for headers ++ if [[ "$1" == *headers* ]]; then ++ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; make -s scripts" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ + # Create the package + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" + dpkg --build "$pdir" .. +@@ -93,11 +113,13 @@ tmpdir="$objtree/debian/tmp" fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" libc_headers_dir="$objtree/debian/headertmp" @@ -18,9 +45,9 @@ index 88dbf23..fc023a9 100755 +dtb_packagename=linux-dtb-next"$LOCALVERSION" +libc_headers_packagename=linux-libc-dev-next"$LOCALVERSION" dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -108,6 +110,8 @@ esac + debarch= + forcearch= +@@ -124,7 +146,9 @@ esac BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" # Setup the directory structure @@ -30,7 +57,8 @@ index 88dbf23..fc023a9 100755 +mkdir -p "$dtb_dir/boot/dtb" "$dtb_dir/usr/share/doc/$dtb_packagename" mkdir -m 755 -p "$tmpdir/DEBIAN" mkdir -p "$tmpdir/lib" "$tmpdir/boot" -@@ -165,6 +171,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then + mkdir -p "$fwdir/lib/firmware/$version/" +@@ -183,6 +207,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then fi fi @@ -42,7 +70,7 @@ index 88dbf23..fc023a9 100755 if [ "$ARCH" != "um" ]; then $MAKE headers_check KBUILD_SRC= $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" -@@ -177,7 +188,7 @@ fi +@@ -195,7 +224,7 @@ fi # so do we; recent versions of dracut and initramfs-tools will obey this. debhookdir=${KDEB_HOOKDIR:-/etc/kernel} if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then @@ -51,7 +79,7 @@ index 88dbf23..fc023a9 100755 else want_initrd=No fi -@@ -189,9 +200,11 @@ for script in postinst postrm preinst prerm ; do +@@ -207,9 +236,11 @@ for script in postinst postrm preinst prerm ; do set -e # Pass maintainer script parameters to hook scripts @@ -63,37 +91,67 @@ index 88dbf23..fc023a9 100755 export INITRD=$want_initrd test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d -@@ -200,6 +213,29 @@ EOF +@@ -218,6 +249,59 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done +## +## Create sym link to kernel image +## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst +cat >> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 -+rm -f /$installed_image_path /boot/zImage ++cp /boot/uImage /tmp/uImage ++sync ++mountpoint -q /boot || mount /boot ++cp /tmp/uImage /boot/uImage ++rm -f /$installed_image_path +else +ln -sf $(basename $installed_image_path) /boot/zImage > /dev/null 2>&1 || mv /$installed_image_path /boot/zImage +fi ++if [ -f "/boot/initrd.img-$version" ]; then ++mkimage -A $UTS_MACHINE -O linux -T ramdisk -C gzip -a 0 -e 0 -n uInitrd -d /boot/initrd.img-$version /boot/uInitrd > /dev/null 2>&1 ++rm /boot/initrd.img-$version ++fi +touch /boot/.next +exit 0 +EOT +## +## FAT install workaround +## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst +cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst + # Try to determine maintainer and email values if [ -n "$DEBEMAIL" ]; then email=$DEBEMAIL -@@ -306,6 +342,12 @@ fi +@@ -328,16 +410,24 @@ fi (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" destdir=$kernel_headers_dir/usr/src/linux-headers-$version mkdir -p "$destdir" @@ -106,7 +164,11 @@ index 88dbf23..fc023a9 100755 (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be -@@ -315,7 +357,7 @@ rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" + rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ++(cd "$destdir"; make M=scripts clean) ++ cat <> debian/control Package: $kernel_headers_packagename @@ -115,7 +177,7 @@ index 88dbf23..fc023a9 100755 Architecture: any Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} -@@ -341,6 +383,16 @@ fi +@@ -363,6 +453,16 @@ fi cat <> debian/control @@ -132,7 +194,7 @@ index 88dbf23..fc023a9 100755 Package: $libc_headers_packagename Section: devel Provides: linux-kernel-headers -@@ -352,7 +404,7 @@ EOF +@@ -374,7 +474,7 @@ EOF if [ "$ARCH" != "um" ]; then create_package "$kernel_headers_packagename" "$kernel_headers_dir" diff --git a/patch/kernel/odroidxu4-next/02-headers-packing.patch b/patch/kernel/odroidxu4-next/02-headers-packing.patch deleted file mode 100644 index d27fd190d..000000000 --- a/patch/kernel/odroidxu4-next/02-headers-packing.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038..616aa9b 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -334,6 +334,8 @@ mkdir -p "$destdir" - ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" - rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - -+(cd "$destdir"; make M=scripts clean) -+ - cat <> debian/control - - Package: $kernel_headers_packagename diff --git a/patch/kernel/marvell-next/packaging-next.patch b/patch/kernel/odroidxu4-next/packaging-with-postinstall-scripts.patch similarity index 62% rename from patch/kernel/marvell-next/packaging-next.patch rename to patch/kernel/odroidxu4-next/packaging-with-postinstall-scripts.patch index 49df7068b..97244bb89 100644 --- a/patch/kernel/marvell-next/packaging-next.patch +++ b/patch/kernel/odroidxu4-next/packaging-with-postinstall-scripts.patch @@ -1,8 +1,35 @@ diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 88dbf23..fc023a9 100755 +index 6c3b038..c48416b 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb -@@ -80,11 +80,13 @@ tmpdir="$objtree/debian/tmp" +@@ -27,6 +27,26 @@ create_package() { + chown -R root:root "$pdir" + chmod -R go-w "$pdir" + ++ # Create preinstall and post install script to remove dtb ++ if [[ "$1" == *dtb* ]]; then ++ echo "if [ -d /boot/dtb ]; then rm -rf /boot/dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /dtb ]; then rm -rf /dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "exit 0" >> $pdir/DEBIAN/preinst ++ chmod 775 $pdir/DEBIAN/preinst ++ # ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ ++ # Create postinstall script for headers ++ if [[ "$1" == *headers* ]]; then ++ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; make -s scripts" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ + # Create the package + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" + dpkg --build "$pdir" .. +@@ -93,11 +113,13 @@ tmpdir="$objtree/debian/tmp" fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" libc_headers_dir="$objtree/debian/headertmp" @@ -18,9 +45,9 @@ index 88dbf23..fc023a9 100755 +dtb_packagename=linux-dtb-next"$LOCALVERSION" +libc_headers_packagename=linux-libc-dev-next"$LOCALVERSION" dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -108,6 +110,8 @@ esac + debarch= + forcearch= +@@ -124,7 +146,9 @@ esac BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" # Setup the directory structure @@ -30,7 +57,8 @@ index 88dbf23..fc023a9 100755 +mkdir -p "$dtb_dir/boot/dtb" "$dtb_dir/usr/share/doc/$dtb_packagename" mkdir -m 755 -p "$tmpdir/DEBIAN" mkdir -p "$tmpdir/lib" "$tmpdir/boot" -@@ -165,6 +171,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then + mkdir -p "$fwdir/lib/firmware/$version/" +@@ -183,6 +207,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then fi fi @@ -42,7 +70,7 @@ index 88dbf23..fc023a9 100755 if [ "$ARCH" != "um" ]; then $MAKE headers_check KBUILD_SRC= $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" -@@ -177,7 +188,7 @@ fi +@@ -195,7 +224,7 @@ fi # so do we; recent versions of dracut and initramfs-tools will obey this. debhookdir=${KDEB_HOOKDIR:-/etc/kernel} if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then @@ -51,7 +79,7 @@ index 88dbf23..fc023a9 100755 else want_initrd=No fi -@@ -189,9 +200,11 @@ for script in postinst postrm preinst prerm ; do +@@ -207,9 +236,11 @@ for script in postinst postrm preinst prerm ; do set -e # Pass maintainer script parameters to hook scripts @@ -63,37 +91,67 @@ index 88dbf23..fc023a9 100755 export INITRD=$want_initrd test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d -@@ -200,6 +213,29 @@ EOF +@@ -218,6 +249,59 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done +## +## Create sym link to kernel image +## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst +cat >> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 -+rm -f /$installed_image_path /boot/zImage ++cp /boot/uImage /tmp/uImage ++sync ++mountpoint -q /boot || mount /boot ++cp /tmp/uImage /boot/uImage ++rm -f /$installed_image_path +else +ln -sf $(basename $installed_image_path) /boot/zImage > /dev/null 2>&1 || mv /$installed_image_path /boot/zImage +fi ++if [ -f "/boot/initrd.img-$version" ]; then ++mkimage -A $UTS_MACHINE -O linux -T ramdisk -C gzip -a 0 -e 0 -n uInitrd -d /boot/initrd.img-$version /boot/uInitrd > /dev/null 2>&1 ++rm /boot/initrd.img-$version ++fi +touch /boot/.next +exit 0 +EOT +## +## FAT install workaround +## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst +cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst + # Try to determine maintainer and email values if [ -n "$DEBEMAIL" ]; then email=$DEBEMAIL -@@ -306,6 +342,12 @@ fi +@@ -328,16 +410,24 @@ fi (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" destdir=$kernel_headers_dir/usr/src/linux-headers-$version mkdir -p "$destdir" @@ -106,7 +164,11 @@ index 88dbf23..fc023a9 100755 (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be -@@ -315,7 +357,7 @@ rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" + rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ++(cd "$destdir"; make M=scripts clean) ++ cat <> debian/control Package: $kernel_headers_packagename @@ -115,7 +177,7 @@ index 88dbf23..fc023a9 100755 Architecture: any Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} -@@ -341,6 +383,16 @@ fi +@@ -363,6 +453,16 @@ fi cat <> debian/control @@ -132,7 +194,7 @@ index 88dbf23..fc023a9 100755 Package: $libc_headers_packagename Section: devel Provides: linux-kernel-headers -@@ -352,7 +404,7 @@ EOF +@@ -374,7 +474,7 @@ EOF if [ "$ARCH" != "um" ]; then create_package "$kernel_headers_packagename" "$kernel_headers_dir" diff --git a/patch/kernel/sunxi-dev/headers-packing.patch b/patch/kernel/sunxi-dev/headers-packing.patch deleted file mode 100644 index 1cf5b59ec..000000000 --- a/patch/kernel/sunxi-dev/headers-packing.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038..616aa9b 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -334,6 +334,8 @@ mkdir -p "$destdir" - ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" - rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - -+olddir="$(pwd)"; cd "$destdir"; make M=scripts clean; cd $olddir -+ - cat <> debian/control - - Package: $kernel_headers_packagename diff --git a/patch/kernel/sunxi-dev/packaging-dev.patch b/patch/kernel/sunxi-dev/packaging-dev.patch deleted file mode 100644 index 4e588d195..000000000 --- a/patch/kernel/sunxi-dev/packaging-dev.patch +++ /dev/null @@ -1,143 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 88dbf23..fc023a9 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -80,11 +80,13 @@ tmpdir="$objtree/debian/tmp" - fwdir="$objtree/debian/fwtmp" - kernel_headers_dir="$objtree/debian/hdrtmp" - libc_headers_dir="$objtree/debian/headertmp" -+dtb_dir="$objtree/debian/dtbtmp" - dbg_dir="$objtree/debian/dbgtmp" --packagename=linux-image-$version --fwpackagename=linux-firmware-image-$version --kernel_headers_packagename=linux-headers-$version --libc_headers_packagename=linux-libc-dev -+packagename=linux-image-dev"$LOCALVERSION" -+fwpackagename=linux-firmware-image-dev"$LOCALVERSION" -+kernel_headers_packagename=linux-headers-dev"$LOCALVERSION" -+dtb_packagename=linux-dtb-dev"$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-dev"$LOCALVERSION" - dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -108,6 +110,8 @@ esac - BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" - - # Setup the directory structure --rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files -+rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir" $objtree/debian/files -+mkdir -m 755 -p "$dtb_dir/DEBIAN" -+mkdir -p "$dtb_dir/boot/dtb" "$dtb_dir/usr/share/doc/$dtb_packagename" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" -@@ -165,6 +171,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then - fi - fi - -+if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then -+ #mkdir -p "$tmpdir/boot/dtb" -+ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb" $MAKE KBUILD_SRC= dtbs_install -+fi -+ - if [ "$ARCH" != "um" ]; then - $MAKE headers_check KBUILD_SRC= - $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" -@@ -177,7 +188,7 @@ fi - # so do we; recent versions of dracut and initramfs-tools will obey this. - debhookdir=${KDEB_HOOKDIR:-/etc/kernel} - if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then -- want_initrd=Yes -+ want_initrd=Yes - else - want_initrd=No - fi -@@ -189,9 +200,11 @@ for script in postinst postrm preinst prerm ; do - set -e - - # Pass maintainer script parameters to hook scripts -+ - export DEB_MAINT_PARAMS="\$*" - - # Tell initramfs builder whether it's wanted -+ - export INITRD=$want_initrd - - test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d -@@ -200,6 +213,29 @@ EOF - chmod 755 "$tmpdir/DEBIAN/$script" - done - -+## -+## Create sym link to kernel image -+## -+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst -+cat >> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 -+rm -f /$installed_image_path /boot/zImage -+else -+ln -sf $(basename $installed_image_path) /boot/zImage > /dev/null 2>&1 || mv /$installed_image_path /boot/zImage -+fi -+touch /boot/.next -+exit 0 -+EOT -+## -+## FAT install workaround -+## -+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst -+cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst -+ - # Try to determine maintainer and email values - if [ -n "$DEBEMAIL" ]; then - email=$DEBEMAIL -@@ -306,6 +342,12 @@ fi - (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" - destdir=$kernel_headers_dir/usr/src/linux-headers-$version - mkdir -p "$destdir" -+######################## headers patch -+ZACNI=$(pwd) -+cd $destdir -+patch -p1 < /tmp/headers-debian-byteshift.patch -+cd $ZACNI -+######################## headers patch - (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) - (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) - (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be -@@ -315,7 +357,7 @@ rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - cat <> debian/control - - Package: $kernel_headers_packagename --Provides: linux-headers, linux-headers-2.6 -+Provides: linux-headers - Architecture: any - Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} - This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} -@@ -341,6 +383,16 @@ fi - - cat <> debian/control - -+Package: $dtb_packagename -+Architecture: any -+Description: Linux DTB, version $version -+ This package contains device blobs from the Linux kernel, version $version. -+EOF -+ -+create_package "$dtb_packagename" "$dtb_dir" -+ -+cat <> debian/control -+ - Package: $libc_headers_packagename - Section: devel - Provides: linux-kernel-headers -@@ -352,7 +404,7 @@ EOF - - if [ "$ARCH" != "um" ]; then - create_package "$kernel_headers_packagename" "$kernel_headers_dir" -- create_package "$libc_headers_packagename" "$libc_headers_dir" -+# create_package "$libc_headers_packagename" "$libc_headers_dir" - fi - - create_package "$packagename" "$tmpdir" diff --git a/patch/kernel/odroidxu4-next/01-packaging-next.patch b/patch/kernel/sunxi-dev/packaging-with-postinstall-scripts.patch similarity index 60% rename from patch/kernel/odroidxu4-next/01-packaging-next.patch rename to patch/kernel/sunxi-dev/packaging-with-postinstall-scripts.patch index c9144d058..97244bb89 100644 --- a/patch/kernel/odroidxu4-next/01-packaging-next.patch +++ b/patch/kernel/sunxi-dev/packaging-with-postinstall-scripts.patch @@ -1,8 +1,35 @@ diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 88dbf23..fc023a9 100755 +index 6c3b038..c48416b 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb -@@ -80,11 +80,13 @@ tmpdir="$objtree/debian/tmp" +@@ -27,6 +27,26 @@ create_package() { + chown -R root:root "$pdir" + chmod -R go-w "$pdir" + ++ # Create preinstall and post install script to remove dtb ++ if [[ "$1" == *dtb* ]]; then ++ echo "if [ -d /boot/dtb ]; then rm -rf /boot/dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /dtb ]; then rm -rf /dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "exit 0" >> $pdir/DEBIAN/preinst ++ chmod 775 $pdir/DEBIAN/preinst ++ # ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ ++ # Create postinstall script for headers ++ if [[ "$1" == *headers* ]]; then ++ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; make -s scripts" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ + # Create the package + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" + dpkg --build "$pdir" .. +@@ -93,11 +113,13 @@ tmpdir="$objtree/debian/tmp" fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" libc_headers_dir="$objtree/debian/headertmp" @@ -18,28 +45,20 @@ index 88dbf23..fc023a9 100755 +dtb_packagename=linux-dtb-next"$LOCALVERSION" +libc_headers_packagename=linux-libc-dev-next"$LOCALVERSION" dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -108,13 +110,17 @@ esac + debarch= + forcearch= +@@ -124,7 +146,9 @@ esac BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" # Setup the directory structure --rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" -+rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" "$tmpdir/usr/share/doc/$packagename" - mkdir -m 755 -p "$fwdir/DEBIAN" - mkdir -p "$fwdir/lib/firmware/$version/" "$fwdir/usr/share/doc/$fwpackagename" - mkdir -m 755 -p "$libc_headers_dir/DEBIAN" - mkdir -p "$libc_headers_dir/usr/share/doc/$libc_headers_packagename" -+ +-rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files ++rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir" $objtree/debian/files +mkdir -m 755 -p "$dtb_dir/DEBIAN" +mkdir -p "$dtb_dir/boot/dtb" "$dtb_dir/usr/share/doc/$dtb_packagename" -+ - mkdir -m 755 -p "$kernel_headers_dir/DEBIAN" - mkdir -p "$kernel_headers_dir/usr/share/doc/$kernel_headers_packagename" - mkdir -p "$kernel_headers_dir/lib/modules/$version/" -@@ -165,6 +171,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then + mkdir -m 755 -p "$tmpdir/DEBIAN" + mkdir -p "$tmpdir/lib" "$tmpdir/boot" + mkdir -p "$fwdir/lib/firmware/$version/" +@@ -183,6 +207,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then fi fi @@ -51,7 +70,7 @@ index 88dbf23..fc023a9 100755 if [ "$ARCH" != "um" ]; then $MAKE headers_check KBUILD_SRC= $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" -@@ -177,7 +188,7 @@ fi +@@ -195,7 +224,7 @@ fi # so do we; recent versions of dracut and initramfs-tools will obey this. debhookdir=${KDEB_HOOKDIR:-/etc/kernel} if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then @@ -60,7 +79,7 @@ index 88dbf23..fc023a9 100755 else want_initrd=No fi -@@ -189,9 +200,11 @@ for script in postinst postrm preinst prerm ; do +@@ -207,9 +236,11 @@ for script in postinst postrm preinst prerm ; do set -e # Pass maintainer script parameters to hook scripts @@ -72,37 +91,67 @@ index 88dbf23..fc023a9 100755 export INITRD=$want_initrd test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d -@@ -200,6 +213,29 @@ EOF +@@ -218,6 +249,59 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done +## +## Create sym link to kernel image +## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst +cat >> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 -+rm -f /$installed_image_path /boot/zImage ++cp /boot/uImage /tmp/uImage ++sync ++mountpoint -q /boot || mount /boot ++cp /tmp/uImage /boot/uImage ++rm -f /$installed_image_path +else +ln -sf $(basename $installed_image_path) /boot/zImage > /dev/null 2>&1 || mv /$installed_image_path /boot/zImage +fi ++if [ -f "/boot/initrd.img-$version" ]; then ++mkimage -A $UTS_MACHINE -O linux -T ramdisk -C gzip -a 0 -e 0 -n uInitrd -d /boot/initrd.img-$version /boot/uInitrd > /dev/null 2>&1 ++rm /boot/initrd.img-$version ++fi +touch /boot/.next +exit 0 +EOT +## +## FAT install workaround +## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst +cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst + # Try to determine maintainer and email values if [ -n "$DEBEMAIL" ]; then email=$DEBEMAIL -@@ -306,6 +342,12 @@ fi +@@ -328,16 +410,24 @@ fi (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" destdir=$kernel_headers_dir/usr/src/linux-headers-$version mkdir -p "$destdir" @@ -115,7 +164,11 @@ index 88dbf23..fc023a9 100755 (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be -@@ -315,7 +357,7 @@ rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" + rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ++(cd "$destdir"; make M=scripts clean) ++ cat <> debian/control Package: $kernel_headers_packagename @@ -124,7 +177,7 @@ index 88dbf23..fc023a9 100755 Architecture: any Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} -@@ -341,6 +383,16 @@ fi +@@ -363,6 +453,16 @@ fi cat <> debian/control @@ -141,7 +194,7 @@ index 88dbf23..fc023a9 100755 Package: $libc_headers_packagename Section: devel Provides: linux-kernel-headers -@@ -352,7 +404,7 @@ EOF +@@ -374,7 +474,7 @@ EOF if [ "$ARCH" != "um" ]; then create_package "$kernel_headers_packagename" "$kernel_headers_dir" diff --git a/patch/kernel/udoo-next/02-headers-packing.patch b/patch/kernel/udoo-next/02-headers-packing.patch deleted file mode 100644 index d27fd190d..000000000 --- a/patch/kernel/udoo-next/02-headers-packing.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038..616aa9b 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -334,6 +334,8 @@ mkdir -p "$destdir" - ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" - rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - -+(cd "$destdir"; make M=scripts clean) -+ - cat <> debian/control - - Package: $kernel_headers_packagename diff --git a/patch/kernel/udoo-next/packaging-with-postinstall-scripts.patch b/patch/kernel/udoo-next/packaging-with-postinstall-scripts.patch new file mode 100644 index 000000000..97244bb89 --- /dev/null +++ b/patch/kernel/udoo-next/packaging-with-postinstall-scripts.patch @@ -0,0 +1,205 @@ +diff --git a/scripts/package/builddeb b/scripts/package/builddeb +index 6c3b038..c48416b 100755 +--- a/scripts/package/builddeb ++++ b/scripts/package/builddeb +@@ -27,6 +27,26 @@ create_package() { + chown -R root:root "$pdir" + chmod -R go-w "$pdir" + ++ # Create preinstall and post install script to remove dtb ++ if [[ "$1" == *dtb* ]]; then ++ echo "if [ -d /boot/dtb ]; then rm -rf /boot/dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /dtb ]; then rm -rf /dtb; fi" >> $pdir/DEBIAN/preinst ++ echo "exit 0" >> $pdir/DEBIAN/preinst ++ chmod 775 $pdir/DEBIAN/preinst ++ # ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ ++ # Create postinstall script for headers ++ if [[ "$1" == *headers* ]]; then ++ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; make -s scripts" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ + # Create the package + dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" + dpkg --build "$pdir" .. +@@ -93,11 +113,13 @@ tmpdir="$objtree/debian/tmp" + fwdir="$objtree/debian/fwtmp" + kernel_headers_dir="$objtree/debian/hdrtmp" + libc_headers_dir="$objtree/debian/headertmp" ++dtb_dir="$objtree/debian/dtbtmp" + dbg_dir="$objtree/debian/dbgtmp" +-packagename=linux-image-$version +-fwpackagename=linux-firmware-image-$version +-kernel_headers_packagename=linux-headers-$version +-libc_headers_packagename=linux-libc-dev ++packagename=linux-image-next"$LOCALVERSION" ++fwpackagename=linux-firmware-image-next"$LOCALVERSION" ++kernel_headers_packagename=linux-headers-next"$LOCALVERSION" ++dtb_packagename=linux-dtb-next"$LOCALVERSION" ++libc_headers_packagename=linux-libc-dev-next"$LOCALVERSION" + dbg_packagename=$packagename-dbg + debarch= + forcearch= +@@ -124,7 +146,9 @@ esac + BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" + + # Setup the directory structure +-rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files ++rm -rf "$tmpdir" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir" $objtree/debian/files ++mkdir -m 755 -p "$dtb_dir/DEBIAN" ++mkdir -p "$dtb_dir/boot/dtb" "$dtb_dir/usr/share/doc/$dtb_packagename" + mkdir -m 755 -p "$tmpdir/DEBIAN" + mkdir -p "$tmpdir/lib" "$tmpdir/boot" + mkdir -p "$fwdir/lib/firmware/$version/" +@@ -183,6 +207,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then + fi + fi + ++if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then ++ #mkdir -p "$tmpdir/boot/dtb" ++ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb" $MAKE KBUILD_SRC= dtbs_install ++fi ++ + if [ "$ARCH" != "um" ]; then + $MAKE headers_check KBUILD_SRC= + $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" +@@ -195,7 +224,7 @@ fi + # so do we; recent versions of dracut and initramfs-tools will obey this. + debhookdir=${KDEB_HOOKDIR:-/etc/kernel} + if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then +- want_initrd=Yes ++ want_initrd=Yes + else + want_initrd=No + fi +@@ -207,9 +236,11 @@ for script in postinst postrm preinst prerm ; do + set -e + + # Pass maintainer script parameters to hook scripts ++ + export DEB_MAINT_PARAMS="\$*" + + # Tell initramfs builder whether it's wanted ++ + export INITRD=$want_initrd + + test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d +@@ -218,6 +249,59 @@ EOF + chmod 755 "$tmpdir/DEBIAN/$script" + done + ++## ++## Create sym link to kernel image ++## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst ++sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst ++cat >> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 ++cp /boot/uImage /tmp/uImage ++sync ++mountpoint -q /boot || mount /boot ++cp /tmp/uImage /boot/uImage ++rm -f /$installed_image_path ++else ++ln -sf $(basename $installed_image_path) /boot/zImage > /dev/null 2>&1 || mv /$installed_image_path /boot/zImage ++fi ++if [ -f "/boot/initrd.img-$version" ]; then ++mkimage -A $UTS_MACHINE -O linux -T ramdisk -C gzip -a 0 -e 0 -n uInitrd -d /boot/initrd.img-$version /boot/uInitrd > /dev/null 2>&1 ++rm /boot/initrd.img-$version ++fi ++touch /boot/.next ++exit 0 ++EOT ++## ++## FAT install workaround ++## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst ++sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst ++cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst ++ + # Try to determine maintainer and email values + if [ -n "$DEBEMAIL" ]; then + email=$DEBEMAIL +@@ -328,16 +410,24 @@ fi + (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" + destdir=$kernel_headers_dir/usr/src/linux-headers-$version + mkdir -p "$destdir" ++######################## headers patch ++ZACNI=$(pwd) ++cd $destdir ++patch -p1 < /tmp/headers-debian-byteshift.patch ++cd $ZACNI ++######################## headers patch + (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) + (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) + (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be + ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" + rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ++(cd "$destdir"; make M=scripts clean) ++ + cat <> debian/control + + Package: $kernel_headers_packagename +-Provides: linux-headers, linux-headers-2.6 ++Provides: linux-headers + Architecture: any + Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} + This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} +@@ -363,6 +453,16 @@ fi + + cat <> debian/control + ++Package: $dtb_packagename ++Architecture: any ++Description: Linux DTB, version $version ++ This package contains device blobs from the Linux kernel, version $version. ++EOF ++ ++create_package "$dtb_packagename" "$dtb_dir" ++ ++cat <> debian/control ++ + Package: $libc_headers_packagename + Section: devel + Provides: linux-kernel-headers +@@ -374,7 +474,7 @@ EOF + + if [ "$ARCH" != "um" ]; then + create_package "$kernel_headers_packagename" "$kernel_headers_dir" +- create_package "$libc_headers_packagename" "$libc_headers_dir" ++# create_package "$libc_headers_packagename" "$libc_headers_dir" + fi + + create_package "$packagename" "$tmpdir"