diff --git a/packages/armbian/builddeb b/packages/armbian/builddeb deleted file mode 100755 index 8df6596ee..000000000 --- a/packages/armbian/builddeb +++ /dev/null @@ -1,405 +0,0 @@ -#!/bin/sh -# -# builddeb 1.3 -# Copyright 2003 Wichert Akkerman -# -# Simple script to generate a deb package for a Linux kernel. All the -# complexity of what to do with a kernel after it is installed or removed -# is left to other scripts and packages: they can install scripts in the -# /etc/kernel/{pre,post}{inst,rm}.d/ directories (or an alternative location -# specified in KDEB_HOOKDIR) that will be called on package install and -# removal. -# -# armbian/bulddeb 0.1 -# Copyright 2021 Leonid Gasheev (The-going <48602507+The-going@users.noreply.github.com>) -# -# In order to make a choice, it is enough for us to check the value -# of the variable in the kernel configuration file and Debian's own variables. -# -# Uncomment the next line to see all the current values. -# echo "$(dpkg-architecture -l)" >&2 - -set -e - -is_enabled() { - grep -q "^$1=y" include/config/auto.conf -} - -if_enabled_echo() { - if is_enabled "$1"; then - echo -n "$2" - elif [ $# -ge 3 ]; then - echo -n "$3" - fi -} - -is_native() { - dpkg-architecture -qDEB_BUILD_ARCH | grep -q "$(dpkg-architecture -qDEB_HOST_ARCH)" -} - -is_build_on_amd64() { - dpkg-architecture -qDEB_BUILD_ARCH | grep -q amd64 -} - -create_package() { - local pname="$1" pdir="$2" - local dpkg_deb_opts - - mkdir -m 755 -p "$pdir/DEBIAN" - mkdir -p "$pdir/usr/share/doc/$pname" - cp debian/copyright "$pdir/usr/share/doc/$pname/" - cp debian/changelog "$pdir/usr/share/doc/$pname/changelog.Debian" - gzip -9 "$pdir/usr/share/doc/$pname/changelog.Debian" - sh -c "cd '$pdir'; find . -type f ! -path './DEBIAN/*' -printf '%P\0' \ - | xargs -r0 md5sum > DEBIAN/md5sums" - - # Fix ownership and permissions - if [ "$DEB_RULES_REQUIRES_ROOT" = "no" ]; then - dpkg_deb_opts="--root-owner-group" - else - chown -R root:root "$pdir" - fi - chmod -R go-w "$pdir" - # in case we are in a restrictive umask environment like 0077 - chmod -R a+rX "$pdir" - # in case we build in a setuid/setgid directory - chmod -R ug-s "$pdir" - - # Create preinstall and post install script to remove dtb - if [ "$3" = "dtb" ]; then - - cat >> $pdir/DEBIAN/preinst <<- EOT - rm -rf /boot/dtb - rm -rf /boot/dtb-$version - 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 postinst prerm script for headers - if [ "$3" = "headers" ]; then - - # Set the time for all files to the current time. - # And build them for the current architecture. - cat >> $pdir/DEBIAN/postinst <<- EOT - cd /usr/src/linux-headers-$version - echo "Compiling headers - please wait ..." - NCPU=\$(grep -c 'processor' /proc/cpuinfo) - find -type f -exec touch {} + - yes "" | make ARCH=$ARCH oldconfig >/dev/null - make -j\$NCPU ARCH=$ARCH -s scripts >/dev/null - make -j\$NCPU ARCH=$ARCH -s M=scripts/mod/ >/dev/null - exit 0 - EOT - - # After the configuration and compilation processes, new files - # appear that the package manager does not know anything about. - # Just clear all the files in the target directory. - cat >> $pdir/DEBIAN/prerm <<- EOT - rm -rf /usr/src/linux-headers-$version - exit 0 - EOT - - chmod 775 $pdir/DEBIAN/postinst - chmod 775 $pdir/DEBIAN/prerm - fi - - # Create the package - dpkg-gencontrol -p$pname -P"$pdir" - dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. -} - -deploy_kernel_headers() { - pdir=$1 - - rm -rf $pdir - - destdir=$pdir/usr/src/linux-headers-$version - mkdir -p $destdir - - if linux-version compare "$KERNELVERSION" ge "5.19" ; then - configobj=CONFIG_OBJTOOL - else - configobj=CONFIG_STACK_VALIDATION - fi - - ( - cd $srctree - find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl - find arch/*/include include scripts -type f -o -type l - find security/*/include -type f - find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform - find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f - ) > debian/hdrsrcfiles - - { - # This affects arch/x86 - if is_enabled $configobj; then - # echo tools/objtool/objtool - find tools/objtool -type f -executable - fi - - find arch/$SRCARCH/include Module.symvers include scripts -type f - - if is_enabled CONFIG_GCC_PLUGINS; then - find scripts/gcc-plugins -name \*.so -o -name gcc-common.h - fi - } > debian/hdrobjfiles - - if is_native; then - echo "info: Build native: Skip headers-debian-byteshift.patch" >&2 - elif is_build_on_amd64; then - ( - cd $destdir - patch -p1 < /tmp/headers-debian-byteshift.patch - ) - fi - - tar -c -f - -C $srctree -T debian/hdrsrcfiles | tar -xf - -C $destdir - tar -c -f - -T debian/hdrobjfiles | tar -xf - -C $destdir - rm -f debian/hdrsrcfiles debian/hdrobjfiles - - # copy .config manually to be where it's expected to be - cp $KCONFIG_CONFIG $destdir/.config - - mkdir -p $pdir/lib/modules/$version/ - ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build -} - -deploy_libc_headers() { - pdir=$1 - - rm -rf $pdir - - $MAKE -f $srctree/Makefile headers - $MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH=$pdir/usr - - # move asm headers to /usr/include//asm to match the structure - # used by Debian-based distros (to support multi-arch) - host_arch=$(dpkg-architecture -a$(cat debian/arch) -qDEB_HOST_MULTIARCH) - mkdir $pdir/usr/include/$host_arch - mv $pdir/usr/include/asm $pdir/usr/include/$host_arch/ -} - -version=$KERNELRELEASE -tmpdir="debian/tmp" -kernel_headers_dir="debian/hdrtmp" -libc_headers_dir="debian/headertmp" -dbg_dir="debian/dbgtmp" -dtb_dir="debian/dtbtmp" -packagename=linux-image-"$BRANCH$LOCALVERSION" -kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -libc_headers_packagename=linux-libc-dev -dbg_packagename=$packagename-dbg - -if [ "$ARCH" = "um" ]; then - packagename=user-mode-linux-$version -fi - -# Not all arches have the same installed path in debian -# XXX: have each arch Makefile export a variable of the canonical image install -# path instead -case $ARCH in - ++aarch64|arm64) - image_name=Image - installed_image_path="boot/vmlinuz-$version" - ;; - arm*) - image_name=zImage - installed_image_path="boot/vmlinuz-$version" - ;; - um) - installed_image_path="usr/bin/linux-$version" - ;; - parisc|mips|powerpc) - installed_image_path="boot/vmlinux-$version" - ;; - *) - image_name=vmlinuz - installed_image_path="boot/vmlinuz-$version" - ;; -esac - -BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes) - -# Setup the directory structure -rm -rf "$tmpdir" "$dbg_dir" "$dtb_dir" debian/files -mkdir -m 755 -p "$tmpdir/DEBIAN" -mkdir -p "$tmpdir/lib" "$tmpdir/boot" -mkdir -m 755 -p "$dtb_dir/DEBIAN" -mkdir -p "$dtb_dir/boot/dtb-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" -mkdir -m 755 -p "$kernel_headers_dir/lib/modules/$version/" -mkdir -m 755 -p "$libc_headers_dir/DEBIAN" - -# Install the kernel -if [ "$ARCH" = "um" ]; then - mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/bin" "$tmpdir/usr/share/doc/$packagename" - $MAKE linux - cp System.map "$tmpdir/usr/lib/uml/modules/$version/System.map" - cp $KCONFIG_CONFIG "$tmpdir/usr/share/doc/$packagename/config" - gzip "$tmpdir/usr/share/doc/$packagename/config" -else - cp System.map "$tmpdir/boot/System.map-$version" - cp $KCONFIG_CONFIG "$tmpdir/boot/config-$version" -fi -cp "$($MAKE -s -f $srctree/Makefile image_name)" "$tmpdir/$installed_image_path" - -if is_enabled CONFIG_OF_EARLY_FLATTREE; then - # Only some architectures with OF support have this target - if [ -d "${srctree}/arch/$SRCARCH/boot/dts" ]; then - $MAKE -f $srctree/Makefile INSTALL_DTBS_PATH="$tmpdir/usr/lib/linux-image-$version" dtbs_install - fi -fi - -if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG; then - #mkdir -p "$tmpdir/boot/dtb" - INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $MAKE KBUILD_SRC= dtbs_install -fi - -if is_enabled CONFIG_MODULES; then - INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_install - rm -f "$tmpdir/lib/modules/$version/build" - rm -f "$tmpdir/lib/modules/$version/source" - - if [ "$ARCH" = "um" ]; then - mv "$tmpdir/lib/modules/$version"/* "$tmpdir/usr/lib/uml/modules/$version/" - rmdir "$tmpdir/lib/modules/$version" - fi - - if [ -n "$BUILD_DEBUG" ]; then - for module in $(find $tmpdir/lib/modules/ -name *.ko -printf '%P\n'); do - module=lib/modules/$module - mkdir -p $(dirname $dbg_dir/usr/lib/debug/$module) - # only keep debug symbols in the debug file - $OBJCOPY --only-keep-debug $tmpdir/$module $dbg_dir/usr/lib/debug/$module - # strip original module from debug symbols - $OBJCOPY --strip-debug $tmpdir/$module - # then add a link to those - $OBJCOPY --add-gnu-debuglink=$dbg_dir/usr/lib/debug/$module $tmpdir/$module - done - - # resign stripped modules - if is_enabled CONFIG_MODULE_SIG_ALL; then - INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_sign - fi - fi -fi - -# Install the maintainer scripts -# Note: hook scripts under /etc/kernel are also executed by official Debian -# kernel packages, as well as kernel packages built using make-kpkg. -# make-kpkg sets $INITRD to indicate whether an initramfs is wanted, and -# so do we; recent versions of dracut and initramfs-tools will obey this. -debhookdir=${KDEB_HOOKDIR:-/etc/kernel} -for script in postinst postrm preinst prerm; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat <<- EOF > "$tmpdir/DEBIAN/$script" - #!/bin/bash - - set -e - - # Pass maintainer script parameters to hook scripts - export DEB_MAINT_PARAMS="\$*" - - # Tell initramfs builder whether it's wanted - export INITRD=$(if_enabled_echo CONFIG_BLK_DEV_INITRD Yes No) - - test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d - exit 0 - 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 <<- EOT - ln -sf $(basename $installed_image_path) /boot/$image_name 2> /dev/null || cp /$installed_image_path /boot/$image_name - touch /boot/.next - exit 0 -EOT - -## -## FAT install workaround -## -sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst -cat >> $tmpdir/DEBIAN/preinst <<- EOT - # exit if we are running chroot - if [ "\$(stat -c %d:%i /)" != "\$(stat -c %d:%i /proc/1/root/.)" ]; then exit 0; fi - - check_boot_dev (){ - boot_device=\$(mountpoint -d /boot) - - for file in /dev/* ; do - CURRENT_DEVICE=\$(printf "%d:%d" \$(stat --printf="0x%t 0x%T" \$file)) - if [[ "\$CURRENT_DEVICE" = "\$boot_device" ]]; then - boot_partition=\$file - break - fi - done - - bootfstype=\$(blkid -s TYPE -o value \$boot_partition) - if [ "\$bootfstype" = "vfat" ]; then - rm -f /boot/System.map* /boot/config* /boot/vmlinuz* /boot/$image_name /boot/uImage - fi - } - mountpoint -q /boot && check_boot_dev - exit 0 -EOT - -create_package "$packagename" "$tmpdir" - -if [ "$ARCH" != "um" ]; then - - if [ "$(cat debian/arch)" != "amd64" ]; then # No DTB for amd64 target - create_package "$dtb_packagename" "$dtb_dir" "dtb" - fi - - deploy_libc_headers $libc_headers_dir - create_package $libc_headers_packagename $libc_headers_dir - - if is_enabled CONFIG_MODULES; then - if is_native; then - # echo "Skip scripts folder cleaning" >&2 - # echo "Skip creating postinst prerm scripts for headers" >&2 - deploy_kernel_headers $kernel_headers_dir - create_package $kernel_headers_packagename $kernel_headers_dir - else - # Clean up the executables that are left over from - # cross-compilation for a different host architecture. - ( - cd $srctree - make M=scripts clean - ) - deploy_kernel_headers $kernel_headers_dir - create_package $kernel_headers_packagename $kernel_headers_dir "headers" - fi - fi - -fi - -if [ -n "$BUILD_DEBUG" ]; then - # Build debug package - # Different tools want the image in different locations - # perf - mkdir -p $dbg_dir/usr/lib/debug/lib/modules/$version/ - cp vmlinux $dbg_dir/usr/lib/debug/lib/modules/$version/ - # systemtap - mkdir -p $dbg_dir/usr/lib/debug/boot/ - ln -s ../lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/boot/vmlinux-$version - # kdump-tools - ln -s lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/vmlinux-$version - create_package "$dbg_packagename" "$dbg_dir" -fi - -exit 0 diff --git a/packages/armbian/mkdebian b/packages/armbian/mkdebian deleted file mode 100755 index 9f15abe4e..000000000 --- a/packages/armbian/mkdebian +++ /dev/null @@ -1,258 +0,0 @@ -#!/bin/sh -# -# Copyright 2003 Wichert Akkerman -# -# Simple script to generate a debian/ directory for a Linux kernel. - -set -e - -is_enabled() { - grep -q "^$1=y" include/config/auto.conf -} - -if_enabled_echo() { - if is_enabled "$1"; then - echo -n "$2" - elif [ $# -ge 3 ]; then - echo -n "$3" - fi -} - -set_debarch() { - if [ -n "$KBUILD_DEBARCH" ] ; then - debarch="$KBUILD_DEBARCH" - return - fi - - # Attempt to find the correct Debian architecture - case "$UTS_MACHINE" in - i386|ia64|alpha|m68k|riscv*) - debarch="$UTS_MACHINE" ;; - x86_64) - debarch=amd64 ;; - sparc*) - debarch=sparc$(if_enabled_echo CONFIG_64BIT 64) ;; - s390*) - debarch=s390x ;; - ppc*) - if is_enabled CONFIG_64BIT; then - debarch=ppc64$(if_enabled_echo CONFIG_CPU_LITTLE_ENDIAN el) - else - debarch=powerpc$(if_enabled_echo CONFIG_SPE spe) - fi - ;; - parisc*) - debarch=hppa ;; - mips*) - if is_enabled CONFIG_CPU_LITTLE_ENDIAN; then - debarch=mips$(if_enabled_echo CONFIG_64BIT 64)$(if_enabled_echo CONFIG_CPU_MIPSR6 r6)el - elif is_enabled CONFIG_CPU_MIPSR6; then - debarch=mips$(if_enabled_echo CONFIG_64BIT 64)r6 - else - debarch=mips - fi - ;; - aarch64|arm64) - debarch=arm64 ;; - arm*) - if is_enabled CONFIG_AEABI; then - debarch=arm$(if_enabled_echo CONFIG_VFP hf el) - else - debarch=arm - fi - ;; - openrisc) - debarch=or1k ;; - sh) - if is_enabled CONFIG_CPU_SH3; then - debarch=sh3$(if_enabled_echo CONFIG_CPU_BIG_ENDIAN eb) - elif is_enabled CONFIG_CPU_SH4; then - debarch=sh4$(if_enabled_echo CONFIG_CPU_BIG_ENDIAN eb) - fi - ;; - esac - if [ -z "$debarch" ]; then - debarch=$(dpkg-architecture -qDEB_HOST_ARCH) - echo "" >&2 - echo "** ** ** WARNING ** ** **" >&2 - echo "" >&2 - echo "Your architecture doesn't have its equivalent" >&2 - echo "Debian userspace architecture defined!" >&2 - echo "Falling back to the current host architecture ($debarch)." >&2 - echo "Please add support for $UTS_MACHINE to ${0} ..." >&2 - echo "" >&2 - fi -} - -# Some variables and settings used throughout the script -KDEB_SOURCENAME=linux-$KERNELRELEASE -version=$KERNELRELEASE -if [ -n "$KDEB_PKGVERSION" ]; then - packageversion=$KDEB_PKGVERSION - revision=${packageversion##*-} -else - revision=$(cat .version 2>/dev/null||echo 1) - packageversion=$version-$revision -fi -sourcename=$KDEB_SOURCENAME -packagename=linux-image-"$BRANCH$LOCALVERSION" -kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -libc_headers_packagename=linux-libc-dev -dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -dbg_packagename=$packagename-dbg - -if [ "$ARCH" = "um" ] ; then - packagename=user-mode-linux-$version -fi - -debarch= -set_debarch - -email=${DEBEMAIL-$EMAIL} - -# use email string directly if it contains -if echo $email | grep -q '<.*>'; then - maintainer=$email -else - # or construct the maintainer string - user=${KBUILD_BUILD_USER-$(id -nu)} - name=${DEBFULLNAME-$user} - if [ -z "$email" ]; then - buildhost=${KBUILD_BUILD_HOST-$(hostname -f 2>/dev/null || hostname)} - email="$user@$buildhost" - fi - maintainer="$name <$email>" -fi - -# Try to determine distribution -if [ -n "$KDEB_CHANGELOG_DIST" ]; then - distribution=$KDEB_CHANGELOG_DIST -# In some cases lsb_release returns the codename as n/a, which breaks dpkg-parsechangelog -elif distribution=$(lsb_release -cs 2>/dev/null) && [ -n "$distribution" ] && [ "$distribution" != "n/a" ]; then - : # nothing to do in this case -else - distribution="unstable" - echo >&2 "Using default distribution of 'unstable' in the changelog" - echo >&2 "Install lsb-release or set \$KDEB_CHANGELOG_DIST explicitly" -fi - -mkdir -p debian/source/ -echo "1.0" > debian/source/format - -echo $debarch > debian/arch -extra_build_depends=", $(if_enabled_echo CONFIG_UNWINDER_ORC libelf-dev:native)" -extra_build_depends="$extra_build_depends, $(if_enabled_echo CONFIG_SYSTEM_TRUSTED_KEYRING libssl-dev:native)" - -# Generate a simple changelog template -cat < debian/changelog -$sourcename ($packageversion) $distribution; urgency=low - - * Armbian built Linux kernel. $BRANCH - - -- $maintainer $(date -R) -EOF - -# Generate copyright file -cat < debian/copyright -This is a packacked armbian patches version of the Linux kernel. - -The sources may be found at most Linux archive sites, including: -https://www.kernel.org/pub/linux/kernel - -Copyright: 1991 - 2018 Linus Torvalds and others. - -The git repository for mainline kernel development is at: -git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 dated June, 1991. - -On Debian GNU/Linux systems, the complete text of the GNU General Public -License version 2 can be found in \`/usr/share/common-licenses/GPL-2'. -EOF - -# Generate a control file -cat < debian/control -Source: $sourcename -Section: kernel -Priority: optional -Maintainer: $maintainer -Build-Depends: bc, rsync, kmod, cpio, bison, linux-base, - flex | flex:native $extra_build_depends -Homepage: https://www.kernel.org/ - -Package: $packagename -Architecture: $debarch -Provides: linux-image, linux-image-armbian, armbian-$BRANCH -Description: Linux kernel, armbian version $version $BRANCH - This package contains the Linux kernel, modules and corresponding other - files, version: $version. - -Package: $libc_headers_packagename -Section: devel -Provides: linux-kernel-headers -Conflicts: linux-kernel-headers -Replaces: linux-kernel-headers -Architecture: $debarch -Description: Armbian Linux support headers for userspace development - This package provides userspaces headers from the Linux kernel. These headers - are used by the installed headers for GNU glibc and other system libraries. -Multi-Arch: same - -Package: $dtb_packagename -Architecture: $debarch -Provides: linux-dtb, linux-dtb-armbian, armbian-$BRANCH -Description: Armbian Linux DTB, version $version $BRANCH - This package contains device blobs from the Linux kernel, version $version -EOF - -if is_enabled CONFIG_MODULES; then -cat <> debian/control - -Package: $kernel_headers_packagename -Section: devel -Architecture: $debarch -Provides: linux-headers, linux-headers-armbian, armbian-$BRANCH -Depends: make, gcc, libc6-dev, bison, flex, libssl-dev -Description: Linux kernel headers for $version on $debarch $BRANCH - This package provides kernel header files for $version on $debarch - . - This is useful for people who need to build external modules -EOF -fi - -if is_enabled CONFIG_DEBUG_INFO; then -cat <> debian/control - -Package: $dbg_packagename -Section: debug -Architecture: $debarch -Description: Linux kernel debugging symbols for $version - This package will come in handy if you need to debug the kernel. It provides - all the necessary debug symbols for the kernel and its modules. -EOF -fi - -cat < debian/rules -#!$(command -v $MAKE) -f - -srctree ?= . - -build: - \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \ - KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile - -binary-arch: - \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \ - KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile intdeb-pkg - -clean: - rm -rf debian/*tmp debian/files - \$(MAKE) clean - -binary: binary-arch -EOF -chmod +x debian/rules - -exit 0 diff --git a/patch/misc/general-packaging-4.14.y.patch b/patch/misc/general-packaging-4.14.y.patch deleted file mode 100644 index 6a1eea7f7..000000000 --- a/patch/misc/general-packaging-4.14.y.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index 8c4bc5a2c..30bc0cffb 100644 ---- a/arch/arm64/Makefile -+++ b/arch/arm64/Makefile -@@ -114,7 +114,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a - - # Default target when executing plain make - boot := arch/arm64/boot --KBUILD_IMAGE := $(boot)/Image.gz -+KBUILD_IMAGE := $(boot)/Image - KBUILD_DTBS := dtbs - - all: Image.gz $(KBUILD_DTBS) ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -29,6 +29,27 @@ 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 [[ "$1" == *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 -+ fi -+ -+ # Create postinstall script for headers -+ if [[ "$1" == *headers* ]]; then -+ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;yes "" | make oldconfig >/dev/null;make -j\$(grep -c 'processor' /proc/cpuinfo) -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 -+ fi -+ - # Create the package - dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" - dpkg --build "$pdir" .. -@@ -52,7 +73,9 @@ set_debarch() { - mips*) - debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;; - aarch64|arm64) -- debarch=arm64 ;; -+ debarch=arm64 -+ image_name=Image -+ ;; - arm*) - if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then - if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then -@@ -63,6 +86,7 @@ set_debarch() { - else - debarch=arm - fi -+ image_name=zImage - ;; - *) - debarch=$(dpkg --print-architecture) -@@ -95,12 +119,15 @@ tmpdir="$objtree/debian/tmp" - kernel_headers_dir="$objtree/debian/hdrtmp" - libc_headers_dir="$objtree/debian/headertmp" - dbg_dir="$objtree/debian/dbgtmp" --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version --libc_headers_packagename=linux-libc-dev -+dtb_dir="$objtree/debian/dtbtmp" -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - debarch= - forcearch= -+image_name= - set_debarch - - if [ "$ARCH" = "um" ] ; then -@@ -124,7 +151,9 @@ esac - BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" - - # Setup the directory structure --rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files -+rm -rf "$tmpdir" "$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-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" - mkdir -p "$kernel_headers_dir/lib/modules/$version/" -@@ -177,6 +206,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-$version" $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" -@@ -196,7 +230,7 @@ fi - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - set -e - -@@ -212,6 +246,44 @@ 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 || mv /$installed_image_path /boot/$image_name -+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 -@@ -314,6 +395,7 @@ fi - # Build kernel header package - (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" - if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then -@@ -325,16 +407,20 @@ if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then - fi - destdir=$kernel_headers_dir/usr/src/linux-headers-$version - mkdir -p "$destdir" -+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.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 - Architecture: any -+Depends: make, gcc, libc6-dev, libssl-dev - Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} - This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} - . -@@ -343,6 +429,16 @@ EOF - - 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: $libc_headers_packagename -@@ -354,7 +450,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/misc/general-packaging-4.19.y-rk35xx.patch b/patch/misc/general-packaging-4.19.y-rk35xx.patch deleted file mode 100644 index f94b1a110..000000000 --- a/patch/misc/general-packaging-4.19.y-rk35xx.patch +++ /dev/null @@ -1,236 +0,0 @@ -diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index 5b3908880..7a0869261 100644 ---- a/arch/arm64/Makefile -+++ b/arch/arm64/Makefile -@@ -126,7 +126,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a - - # Default target when executing plain make - boot := arch/arm64/boot --KBUILD_IMAGE := $(boot)/Image.gz -+KBUILD_IMAGE := $(boot)/Image - KBUILD_DTBS := dtbs - - all: Image.gz $(KBUILD_DTBS) -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 4c2b84132..1d51c17cd 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -29,6 +29,44 @@ 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 [[ "$1" == *dtb* ]]; then -+ -+ cat >> $pdir/DEBIAN/preinst <> $pdir/DEBIAN/postinst < /dev/null || mv dtb-$version dtb -+exit 0 -+EOT -+ -+ chmod 775 $pdir/DEBIAN/preinst ; chmod 775 $pdir/DEBIAN/postinst -+ fi -+ -+ # Create postinst prerm scripts for headers -+ if [[ "$1" == *headers* ]]; then -+ -+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 -+exit 0 -+EOT -+ -+ chmod 775 $pdir/DEBIAN/postinst ; chmod 775 $pdir/DEBIAN/prerm -+ fi -+ - # Create the package - dpkg-gencontrol -p$pname -P"$pdir" - dpkg --build "$pdir" .. -@@ -39,9 +77,11 @@ tmpdir="$objtree/debian/tmp" - kernel_headers_dir="$objtree/debian/hdrtmp" - libc_headers_dir="$objtree/debian/headertmp" - dbg_dir="$objtree/debian/dbgtmp" --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version --libc_headers_packagename=linux-libc-dev -+dtb_dir="$objtree/debian/dtbtmp" -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -52,6 +92,15 @@ fi - # XXX: have each arch Makefile export a variable of the canonical image install - # path instead - case $ARCH in -+aarch64|arm64) -+ image_name=Image -+ installed_image_path="boot/vmlinuz-$version" -+ -+ ;; -+arm*) -+ image_name=zImage -+ installed_image_path="boot/vmlinuz-$version" -+ ;; - um) - installed_image_path="usr/bin/linux-$version" - ;; -@@ -65,7 +114,9 @@ esac - BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" - - # Setup the directory structure --rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files -+rm -rf "$tmpdir" "$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-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" - mkdir -p "$kernel_headers_dir/lib/modules/$version/" -@@ -118,6 +169,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-$version" $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" -@@ -137,7 +193,7 @@ fi - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - set -e - -@@ -153,10 +209,50 @@ 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 || mv /$installed_image_path /boot/$image_name -+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 -+ - # Build kernel header package - (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/*/include tools/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find security/selinux/include tools/include include scripts -type f) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" - if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then -@@ -168,15 +264,19 @@ if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then - fi - destdir=$kernel_headers_dir/usr/src/linux-headers-$version - mkdir -p "$destdir" -+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.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) -+ - 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" -+ create_package "$dtb_packagename" "$dtb_dir" - fi - - create_package "$packagename" "$tmpdir" -diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian -index edcad61fe..8a49f4329 100755 ---- a/scripts/package/mkdebian -+++ b/scripts/package/mkdebian -@@ -94,10 +94,12 @@ else - packageversion=$version-$revision - fi - sourcename=$KDEB_SOURCENAME --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - debarch= -+image_name= - set_debarch - - if [ "$ARCH" = "um" ] ; then -@@ -181,6 +183,7 @@ Description: Linux kernel, version $version - - Package: $kernel_headers_packagename - Architecture: $debarch -+Depends: make, gcc, libc6-dev, flex, bison, libssl-dev - Description: Linux kernel headers for $version on $debarch - This package provides kernel header files for $version on $debarch - . -@@ -200,6 +203,11 @@ Architecture: $debarch - Description: Linux kernel debugging symbols for $version - This package will come in handy if you need to debug the kernel. It provides - all the necessary debug symbols for the kernel and its modules. -+ -+Package: $dtb_packagename -+Architecture: $debarch -+Description: Linux DTB, version $version -+ This package contains device blobs from the Linux kernel, version $version - EOF - - cat < debian/rules diff --git a/patch/misc/general-packaging-4.19.y.patch b/patch/misc/general-packaging-4.19.y.patch deleted file mode 100644 index 0c58947f5..000000000 --- a/patch/misc/general-packaging-4.19.y.patch +++ /dev/null @@ -1,249 +0,0 @@ -From 2b73935784b88ef50fc4be16254a4962b5f70383 Mon Sep 17 00:00:00 2001 -From: The-going <48602507+The-going@users.noreply.github.com> -Date: Tue, 10 Mar 2020 16:44:18 +0300 -Subject: [PATCH] general packaging 4.19.y - ---- - arch/arm64/Makefile | 2 +- - scripts/package/builddeb | 121 ++++++++++++++++++++++++++++++++++++++++++++--- - scripts/package/mkdebian | 12 ++++- - 3 files changed, 126 insertions(+), 9 deletions(-) - -diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index 9a5e28141211..851e646169ba 100644 ---- a/arch/arm64/Makefile -+++ b/arch/arm64/Makefile -@@ -113,7 +113,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a - - # Default target when executing plain make - boot := arch/arm64/boot --KBUILD_IMAGE := $(boot)/Image.gz -+KBUILD_IMAGE := $(boot)/Image - KBUILD_DTBS := dtbs - - all: Image.gz $(KBUILD_DTBS) -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 0b31f4f1f92c..f6b96d8507f4 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -29,6 +29,44 @@ 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 [[ "$1" == *dtb* ]]; then -+ -+ cat >> $pdir/DEBIAN/preinst <> $pdir/DEBIAN/postinst < /dev/null || mv dtb-$version dtb -+exit 0 -+EOT -+ -+ chmod 775 $pdir/DEBIAN/preinst ; chmod 775 $pdir/DEBIAN/postinst -+ fi -+ -+ # Create postinst prerm scripts for headers -+ if [[ "$1" == *headers* ]]; then -+ -+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 -+exit 0 -+EOT -+ -+ chmod 775 $pdir/DEBIAN/postinst ; chmod 775 $pdir/DEBIAN/prerm -+ fi -+ - # Create the package - dpkg-gencontrol -p$pname -P"$pdir" - dpkg --build "$pdir" .. -@@ -39,9 +77,11 @@ tmpdir="$objtree/debian/tmp" - kernel_headers_dir="$objtree/debian/hdrtmp" - libc_headers_dir="$objtree/debian/headertmp" - dbg_dir="$objtree/debian/dbgtmp" --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version --libc_headers_packagename=linux-libc-dev -+dtb_dir="$objtree/debian/dtbtmp" -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -52,6 +92,15 @@ fi - # XXX: have each arch Makefile export a variable of the canonical image install - # path instead - case $ARCH in -+aarch64|arm64) -+ image_name=Image -+ installed_image_path="boot/vmlinuz-$version" -+ -+ ;; -+arm*) -+ image_name=zImage -+ installed_image_path="boot/vmlinuz-$version" -+ ;; - um) - installed_image_path="usr/bin/linux-$version" - ;; -@@ -65,7 +114,9 @@ esac - BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" - - # Setup the directory structure --rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files -+rm -rf "$tmpdir" "$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-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" - mkdir -p "$kernel_headers_dir/lib/modules/$version/" -@@ -118,6 +169,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-$version" $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" -@@ -137,7 +193,7 @@ fi - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - set -e - -@@ -153,9 +209,49 @@ 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 || mv /$installed_image_path /boot/$image_name -+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 -+ - # Build kernel header package - (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" - if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then -@@ -167,15 +272,19 @@ if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then - fi - destdir=$kernel_headers_dir/usr/src/linux-headers-$version - mkdir -p "$destdir" -+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.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) -+ - 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" -+ create_package "$dtb_packagename" "$dtb_dir" - fi - - create_package "$packagename" "$tmpdir" -diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian -index edcad61fe3cd..8a49f432921f 100755 ---- a/scripts/package/mkdebian -+++ b/scripts/package/mkdebian -@@ -94,10 +94,12 @@ else - packageversion=$version-$revision - fi - sourcename=$KDEB_SOURCENAME --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - debarch= -+image_name= - set_debarch - - if [ "$ARCH" = "um" ] ; then -@@ -181,6 +183,7 @@ Description: Linux kernel, version $version - - Package: $kernel_headers_packagename - Architecture: $debarch -+Depends: make, gcc, libc6-dev, flex, bison, libssl-dev - Description: Linux kernel headers for $version on $debarch - This package provides kernel header files for $version on $debarch - . -@@ -200,6 +203,11 @@ Architecture: $debarch - Description: Linux kernel debugging symbols for $version - This package will come in handy if you need to debug the kernel. It provides - all the necessary debug symbols for the kernel and its modules. -+ -+Package: $dtb_packagename -+Architecture: $debarch -+Description: Linux DTB, version $version -+ This package contains device blobs from the Linux kernel, version $version - EOF - - cat < debian/rules --- -2.16.4 - diff --git a/patch/misc/general-packaging-4.4.y-rk3399.patch b/patch/misc/general-packaging-4.4.y-rk3399.patch deleted file mode 100644 index bb0c925e7..000000000 --- a/patch/misc/general-packaging-4.4.y-rk3399.patch +++ /dev/null @@ -1,216 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038e..f4166fbe 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -27,6 +27,28 @@ 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-$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 /dtb ]; then mv /dtb /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 -+ fi -+ -+ # Create postinstall script for headers -+ if [[ "$1" == *headers* ]]; then -+ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;yes "" | make oldconfig >/dev/null;make -j\$(grep -c 'processor' /proc/cpuinfo) -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 -+ fi -+ - # Create the package - dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" - dpkg --build "$pdir" .. -@@ -93,11 +115,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-"$BRANCH$LOCALVERSION" -+fwpackagename=linux-firmware-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - debarch= - forcearch= -@@ -114,7 +138,7 @@ case $ARCH in - um) - installed_image_path="usr/bin/linux-$version" - ;; --parisc|mips|powerpc) -+parisc|mips|powerpc|arm64) - installed_image_path="boot/vmlinux-$version" - ;; - *) -@@ -124,7 +148,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-$version" "$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/" -@@ -143,9 +169,10 @@ else - fi - # Not all arches include the boot path in KBUILD_IMAGE - if [ -e $KBUILD_IMAGE ]; then -- cp $KBUILD_IMAGE "$tmpdir/$installed_image_path" -+#Forcing KBUILD_MAGE reference to Image instead of zImage.. Armbian LINUX_KERNEL_TYPE=Image not being honored -+ cp Image "$tmpdir/$installed_image_path" - else -- cp arch/$ARCH/boot/$KBUILD_IMAGE "$tmpdir/$installed_image_path" -+ cp arch/$ARCH/boot/Image "$tmpdir/$installed_image_path" - fi - - if grep -q "^CONFIG_OF=y" $KCONFIG_CONFIG ; then -@@ -183,6 +210,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-$version" $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 +227,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 +239,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 +252,44 @@ 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 || mv /$installed_image_path /boot/Image -+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 -@@ -328,17 +412,26 @@ 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: $kernel_headers_packagename - Architecture: any -+Depends: make, gcc, libc6-dev, libssl-dev - Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} - This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} - . -@@ -363,6 +456,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: $libc_headers_packagename -@@ -374,7 +477,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/misc/general-packaging-4.4.y-rockchip64.patch b/patch/misc/general-packaging-4.4.y-rockchip64.patch deleted file mode 100644 index c5bfe253c..000000000 --- a/patch/misc/general-packaging-4.4.y-rockchip64.patch +++ /dev/null @@ -1,216 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038e..f4166fbe 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -27,6 +27,28 @@ 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-$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 /dtb ]; then mv /dtb /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 -+ fi -+ -+ # Create postinstall script for headers -+ if [[ "$1" == *headers* ]]; then -+ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;yes "" | make oldconfig >/dev/null;make -j\$(grep -c 'processor' /proc/cpuinfo) -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 -+ fi -+ - # Create the package - dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" - dpkg --build "$pdir" .. -@@ -93,11 +115,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-"$BRANCH$LOCALVERSION" -+fwpackagename=linux-firmware-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - debarch= - forcearch= -@@ -114,7 +138,7 @@ case $ARCH in - um) - installed_image_path="usr/bin/linux-$version" - ;; --parisc|mips|powerpc) -+parisc|mips|powerpc|arm64) - installed_image_path="boot/vmlinux-$version" - ;; - *) -@@ -124,7 +148,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-$version" "$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/" -@@ -143,9 +169,10 @@ else - fi - # Not all arches include the boot path in KBUILD_IMAGE - if [ -e $KBUILD_IMAGE ]; then -- cp $KBUILD_IMAGE "$tmpdir/$installed_image_path" -+#Forcing KBUILD_MAGE reference to Image instead of zImage.. Armbian LINUX_KERNEL_TYPE=Image not being honored -+ cp Image "$tmpdir/$installed_image_path" - else -- cp arch/$ARCH/boot/$KBUILD_IMAGE "$tmpdir/$installed_image_path" -+ cp arch/$ARCH/boot/Image "$tmpdir/$installed_image_path" - fi - - if grep -q "^CONFIG_OF=y" $KCONFIG_CONFIG ; then -@@ -183,6 +210,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-$version" $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 +227,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 +239,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 +252,44 @@ 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 || mv /$installed_image_path /boot/Image -+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 -@@ -328,17 +412,26 @@ 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-rockchip, linux-headers-rockchip-4.4 -+Provides: $kernel_headers_packagename - Architecture: any -+Depends: make, gcc, libc6-dev, libssl-dev - Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} - This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} - . -@@ -363,6 +456,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: $libc_headers_packagename -@@ -374,7 +477,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/misc/general-packaging-4.4.y.patch b/patch/misc/general-packaging-4.4.y.patch deleted file mode 100644 index f6d351a7e..000000000 --- a/patch/misc/general-packaging-4.4.y.patch +++ /dev/null @@ -1,230 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038e..977a0624 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -27,6 +27,28 @@ - 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-$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 /dtb ]; then mv /dtb /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 -+ fi -+ -+ # Create postinstall script for headers -+ if [[ "$1" == *headers* ]]; then -+ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;yes "" | make oldconfig >/dev/null;make -j\$(grep -c 'processor' /proc/cpuinfo) -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 -+ fi -+ - # Create the package - dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" - dpkg --build "$pdir" .. -@@ -50,8 +72,11 @@ - mips*) - debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;; - arm64) -- debarch=arm64 ;; -+ debarch=arm64 -+ image_name=Image -+ ;; - arm*) -+ image_name=zImage - if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then - if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then - debarch=armhf -@@ -93,11 +118,13 @@ - 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-"$BRANCH$LOCALVERSION" -+fwpackagename=linux-firmware-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - debarch= - forcearch= -@@ -124,7 +151,9 @@ - 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-$version" "$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 +212,11 @@ - fi - fi - -+if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then -+ #mkdir -p "$tmpdir/boot/dtb" -+ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $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,21 +229,23 @@ - # 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 - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - 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 +254,44 @@ - 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 || mv /$installed_image_path /boot/$image_name -+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 -@@ -293,7 +376,7 @@ - cat <> debian/control - - Package: $packagename --Provides: linux-image, linux-image-2.6, linux-modules-$version -+Provides: $packagename - Architecture: any - Description: User Mode Linux kernel, version $version - User-mode Linux is a port of the Linux kernel to its own system call -@@ -310,7 +393,7 @@ - cat <> debian/control - - Package: $packagename --Provides: linux-image, linux-image-2.6, linux-modules-$version -+Provides: $packagename - Suggests: $fwpackagename - Architecture: any - Description: Linux kernel, version $version -@@ -328,17 +411,26 @@ - (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: $kernel_headers_packagename - Architecture: any -+Depends: make, gcc, libc6-dev, libssl-dev - Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} - This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} - . -@@ -363,6 +457,16 @@ - - 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 +478,7 @@ - - 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/misc/general-packaging-4.9.y.patch b/patch/misc/general-packaging-4.9.y.patch deleted file mode 100644 index 1db057cc1..000000000 --- a/patch/misc/general-packaging-4.9.y.patch +++ /dev/null @@ -1,199 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 0a2a7372..87edac65 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -29,6 +29,28 @@ 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 [[ "$1" == *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 /dtb ]; then mv /dtb /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 -+ fi -+ -+ # Create postinstall script for headers -+ if [[ "$1" == *headers* ]]; then -+ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;yes "" | make oldconfig >/dev/null;make -j\$(grep -c 'processor' /proc/cpuinfo) -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 -+ fi -+ - # Create the package - dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" - dpkg --build "$pdir" .. -@@ -95,11 +117,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-"$BRANCH$LOCALVERSION" -+fwpackagename=linux-firmware-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - debarch= - forcearch= -@@ -126,7 +150,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-$version" "$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/" -@@ -185,6 +211,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-$version" $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" -@@ -197,21 +228,23 @@ 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 - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - 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 -@@ -220,6 +253,44 @@ 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 || mv /$installed_image_path /boot/zImage -+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 -@@ -337,17 +417,26 @@ if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then - fi - 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: $kernel_headers_packagename - Architecture: any -+Depends: make, gcc, libc6-dev, libssl-dev - Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} - This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} - . -@@ -372,6 +461,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: $libc_headers_packagename -@@ -383,7 +482,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/misc/general-packaging-5.10.y.patch b/patch/misc/general-packaging-5.10.y.patch deleted file mode 100644 index 67f8d3595..000000000 --- a/patch/misc/general-packaging-5.10.y.patch +++ /dev/null @@ -1,367 +0,0 @@ -diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index 5858d6e44..e81b8a6fc 100644 ---- a/arch/arm64/Makefile -+++ b/arch/arm64/Makefile -@@ -142,7 +142,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a - - # Default target when executing plain make - boot := arch/arm64/boot --KBUILD_IMAGE := $(boot)/Image.gz -+KBUILD_IMAGE := $(boot)/Image - - all: Image.gz - -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 1b11f8993..c21d931ea 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -26,31 +26,62 @@ - - create_package() { - local pname="$1" pdir="$2" -- local dpkg_deb_opts - - mkdir -m 755 -p "$pdir/DEBIAN" - mkdir -p "$pdir/usr/share/doc/$pname" - cp debian/copyright "$pdir/usr/share/doc/$pname/" - cp debian/changelog "$pdir/usr/share/doc/$pname/changelog.Debian" -- gzip -n -9 "$pdir/usr/share/doc/$pname/changelog.Debian" -+ gzip -9 "$pdir/usr/share/doc/$pname/changelog.Debian" - sh -c "cd '$pdir'; find . -type f ! -path './DEBIAN/*' -printf '%P\0' \ - | xargs -r0 md5sum > DEBIAN/md5sums" - - # Fix ownership and permissions -- if [ "$DEB_RULES_REQUIRES_ROOT" = "no" ]; then -- dpkg_deb_opts="--root-owner-group" -- else -- chown -R root:root "$pdir" -- fi -+ chown -R root:root "$pdir" - chmod -R go-w "$pdir" - # in case we are in a restrictive umask environment like 0077 - chmod -R a+rX "$pdir" -- # in case we build in a setuid/setgid directory -- chmod -R ug-s "$pdir" -+ -+ # Create preinstall and post install script to remove dtb -+ if [ "$3" = "dtb" ]; then -+ -+ cat >> $pdir/DEBIAN/preinst <> $pdir/DEBIAN/postinst < /dev/null || mv dtb-$version dtb -+exit 0 -+EOT -+ -+ chmod 775 $pdir/DEBIAN/preinst ; chmod 775 $pdir/DEBIAN/postinst -+ fi -+ -+ # Create postinst prerm scripts for headers -+ if [ "$3" = "headers" ]; then -+ -+cat >> $pdir/DEBIAN/postinst << EOT -+cd /usr/src/linux-headers-$version -+echo "Compiling headers - please wait ..." -+find -type f -exec touch {} + -+yes "" | make oldconfig >/dev/null -+make -j\$(grep -c 'processor' /proc/cpuinfo) -s scripts >/dev/null -+make -j\$(grep -c 'processor' /proc/cpuinfo) -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 - dpkg-gencontrol -p$pname -P"$pdir" -- dpkg-deb $dpkg_deb_opts ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. -+ dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. - } - - deploy_kernel_headers () { -@@ -62,7 +92,7 @@ - cd $srctree - find . arch/$SRCARCH -maxdepth 1 -name Makefile\* - find include scripts -type f -o -type l -- find arch/$SRCARCH -name Kbuild.platforms -o -name Platform -+ find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform - find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f - ) > debian/hdrsrcfiles - -@@ -107,9 +137,15 @@ - } - - version=$KERNELRELEASE --tmpdir=debian/linux-image --dbg_dir=debian/linux-image-dbg --packagename=linux-image-$version -+tmpdir="$objtree/debian/tmp" -+kernel_headers_dir="$objtree/debian/hdrtmp" -+libc_headers_dir="$objtree/debian/headertmp" -+dbg_dir="$objtree/debian/dbgtmp" -+dtb_dir="$objtree/debian/dtbtmp" -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -120,6 +156,15 @@ - # XXX: have each arch Makefile export a variable of the canonical image install - # path instead - case $ARCH in -+aarch64|arm64) -+ image_name=Image -+ installed_image_path="boot/vmlinuz-$version" -+ -+ ;; -+arm*) -+ image_name=zImage -+ installed_image_path="boot/vmlinuz-$version" -+ ;; - um) - installed_image_path="usr/bin/linux-$version" - ;; -@@ -133,13 +178,17 @@ - BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes) - - # Setup the directory structure --rm -rf "$tmpdir" "$dbg_dir" debian/files -+rm -rf "$tmpdir" "$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-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" -+mkdir -p "$kernel_headers_dir/lib/modules/$version/" - --# Install the kernel -+# Build and install the kernel - if [ "$ARCH" = "um" ] ; then - mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/bin" "$tmpdir/usr/share/doc/$packagename" -+ $MAKE linux - cp System.map "$tmpdir/usr/lib/uml/modules/$version/System.map" - cp $KCONFIG_CONFIG "$tmpdir/usr/share/doc/$packagename/config" - gzip "$tmpdir/usr/share/doc/$packagename/config" -@@ -183,6 +232,21 @@ - fi - fi - -+if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then -+ #mkdir -p "$tmpdir/boot/dtb" -+ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $MAKE KBUILD_SRC= dtbs_install -+fi -+ -+if [ "$ARCH" != "um" ]; then -+ $MAKE -f $srctree/Makefile headers -+ $MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr" -+ # move asm headers to /usr/include//asm to match the structure -+ # used by Debian-based distros (to support multi-arch) -+ host_arch=$(dpkg-architecture -a$(cat debian/arch) -qDEB_HOST_MULTIARCH) -+ mkdir $libc_headers_dir/usr/include/$host_arch -+ mv $libc_headers_dir/usr/include/asm $libc_headers_dir/usr/include/$host_arch/ -+fi -+ - # Install the maintainer scripts - # Note: hook scripts under /etc/kernel are also executed by official Debian - # kernel packages, as well as kernel packages built using make-kpkg. -@@ -192,7 +256,7 @@ - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - set -e - -@@ -208,14 +272,73 @@ - chmod 755 "$tmpdir/DEBIAN/$script" - done - --if [ "$ARCH" != "um" ]; then -- if is_enabled CONFIG_MODULES; then -- deploy_kernel_headers debian/linux-headers -- create_package linux-headers-$version debian/linux-headers -+## -+## Create sym link to kernel image -+## -+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst -+cat >> $tmpdir/DEBIAN/postinst < /dev/null || cp /$installed_image_path /boot/$image_name -+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 -+ -+# Build kernel header package -+(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" -+ldstemp=$(mktemp);cp scripts/module.lds $ldstemp -+(cd $objtree; make M=scripts clean;) -+if is_enabled CONFIG_STACK_VALIDATION; then -+ (cd $objtree; find tools/objtool -type f -executable) >> "$objtree/debian/hdrobjfiles" -+fi -+(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" -+if is_enabled CONFIG_GCC_PLUGINS; then -+ (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name gcc-common.h) >> "$objtree/debian/hdrobjfiles" -+fi -+destdir=$kernel_headers_dir/usr/src/linux-headers-$version -+mkdir -p "$destdir" -+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.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 -+mv ${ldstemp} $destdir/scripts/module.lds -+ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" -+rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - -- deploy_libc_headers debian/linux-libc-dev -- create_package linux-libc-dev debian/linux-libc-dev -+if [ "$ARCH" != "um" ]; then -+ create_package "$kernel_headers_packagename" "$kernel_headers_dir" "headers" -+ create_package "$dtb_packagename" "$dtb_dir" "dtb" - fi - - create_package "$packagename" "$tmpdir" -diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian -index 60a2a63a5..7c6197efa 100755 ---- a/scripts/package/mkdebian -+++ b/scripts/package/mkdebian -@@ -94,16 +94,18 @@ else - packageversion=$version-$revision - fi - sourcename=$KDEB_SOURCENAME -+packagename=linux-image-$BRANCH$LOCALVERSION -+kernel_headers_packagename=linux-headers-$BRANCH$LOCALVERSION -+dtb_packagename=linux-dtb-$BRANCH$LOCALVERSION -+dbg_packagename=$packagename-dbg -+debarch= -+image_name= -+set_debarch - - if [ "$ARCH" = "um" ] ; then -- packagename=user-mode-linux --else -- packagename=linux-image -+ packagename=user-mode-linux-$version - fi - --debarch= --set_debarch -- - email=${DEBEMAIL-$EMAIL} - - # use email string directly if it contains -@@ -174,16 +176,28 @@ Source: $sourcename - Section: kernel - Priority: optional - Maintainer: $maintainer --Rules-Requires-Root: no - Build-Depends: bc, rsync, kmod, cpio, bison, flex | flex:native $extra_build_depends - Homepage: https://www.kernel.org/ - --Package: $packagename-$version -+Package: $packagename - Architecture: $debarch - Description: Linux kernel, version $version - This package contains the Linux kernel, modules and corresponding other - files, version: $version. - -+Package: $dtb_packagename -+Architecture: $debarch -+Description: Linux DTB, version $version -+ This package contains device blobs from the Linux kernel, version $version -+ -+Package: $kernel_headers_packagename -+Architecture: $debarch -+Depends: make, gcc, libc6-dev, bison, flex, libssl-dev -+Description: Linux kernel headers for $version on $debarch -+ This package provides kernel header files for $version on $debarch -+ . -+ This is useful for people who need to build external modules -+ - Package: linux-libc-dev - Section: devel - Provides: linux-kernel-headers -@@ -194,22 +208,10 @@ Description: Linux support headers for userspace development - Multi-Arch: same - EOF - --if is_enabled CONFIG_MODULES; then --cat <> debian/control -- --Package: linux-headers-$version --Architecture: $debarch --Description: Linux kernel headers for $version on $debarch -- This package provides kernel header files for $version on $debarch -- . -- This is useful for people who need to build external modules --EOF --fi -- - if is_enabled CONFIG_DEBUG_INFO; then - cat <> debian/control - --Package: linux-image-$version-dbg -+Package: $dbg_packagename - Section: debug - Architecture: $debarch - Description: Linux kernel debugging symbols for $version -@@ -223,15 +225,11 @@ cat < debian/rules - - srctree ?= . - --build-indep: --build-arch: -+build: - \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \ - KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile - --build: build-arch -- --binary-indep: --binary-arch: build-arch -+binary-arch: - \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \ - KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile intdeb-pkg - diff --git a/patch/misc/general-packaging-5.3.y.patch b/patch/misc/general-packaging-5.3.y.patch deleted file mode 100644 index 97c8f3c6d..000000000 --- a/patch/misc/general-packaging-5.3.y.patch +++ /dev/null @@ -1,262 +0,0 @@ -From 87395a5fca108473ae5b4124fe1611d0493701ac Mon Sep 17 00:00:00 2001 -From: The-going <48602507+The-going@users.noreply.github.com> -Date: Tue, 10 Mar 2020 17:16:41 +0300 -Subject: [PATCH] general packaging 5.3.y - ---- - arch/arm64/Makefile | 2 +- - scripts/package/builddeb | 116 ++++++++++++++++++++++++++++++++++++--- - scripts/package/mkdebian | 15 ++++- - 3 files changed, 121 insertions(+), 12 deletions(-) - -diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index d227cf87c..2ccca81a1 100644 ---- a/arch/arm64/Makefile -+++ b/arch/arm64/Makefile -@@ -133,7 +133,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a - - # Default target when executing plain make - boot := arch/arm64/boot --KBUILD_IMAGE := $(boot)/Image.gz -+KBUILD_IMAGE := $(boot)/Image - - all: Image.gz - -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index c4c580f54..3d10f513d 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -41,9 +41,47 @@ 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 -+ -+ cat >> $pdir/DEBIAN/preinst <> $pdir/DEBIAN/postinst < /dev/null || mv dtb-$version dtb -+exit 0 -+EOT -+ -+ chmod 775 $pdir/DEBIAN/preinst ; chmod 775 $pdir/DEBIAN/postinst -+ fi -+ -+ # Create postinst prerm scripts for headers -+ if [ "$3" = "headers" ]; then -+ -+cat >> $pdir/DEBIAN/postinst << EOT -+cd /usr/src/linux-headers-$version -+echo "Compiling headers - please wait ..." -+find -type f -exec touch {} + -+yes "" | make oldconfig >/dev/null -+make -j\$(grep -c 'processor' /proc/cpuinfo) -s scripts >/dev/null -+make -j\$(grep -c 'processor' /proc/cpuinfo) -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 - dpkg-gencontrol -p$pname -P"$pdir" -- dpkg --build "$pdir" .. -+ dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. - } - - version=$KERNELRELEASE -@@ -51,9 +89,11 @@ tmpdir="$objtree/debian/tmp" - kernel_headers_dir="$objtree/debian/hdrtmp" - libc_headers_dir="$objtree/debian/headertmp" - dbg_dir="$objtree/debian/dbgtmp" --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version --libc_headers_packagename=linux-libc-dev -+dtb_dir="$objtree/debian/dtbtmp" -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -64,6 +104,15 @@ fi - # XXX: have each arch Makefile export a variable of the canonical image install - # path instead - case $ARCH in -+aarch64|arm64) -+ image_name=Image -+ installed_image_path="boot/vmlinuz-$version" -+ -+ ;; -+arm*) -+ image_name=zImage -+ installed_image_path="boot/vmlinuz-$version" -+ ;; - um) - installed_image_path="usr/bin/linux-$version" - ;; -@@ -77,7 +126,9 @@ esac - BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes) - - # Setup the directory structure --rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files -+rm -rf "$tmpdir" "$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-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" - mkdir -p "$kernel_headers_dir/lib/modules/$version/" -@@ -129,6 +180,11 @@ if is_enabled CONFIG_MODULES; then - fi - fi - -+if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then -+ #mkdir -p "$tmpdir/boot/dtb" -+ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $MAKE KBUILD_SRC= dtbs_install -+fi -+ - if [ "$ARCH" != "um" ]; then - $MAKE -f $srctree/Makefile headers - $MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr" -@@ -148,7 +204,7 @@ debhookdir=${KDEB_HOOKDIR:-/etc/kernel} - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - set -e - -@@ -164,9 +220,49 @@ 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 <> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst -+ - # Build kernel header package - (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" - (cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" - if is_enabled CONFIG_STACK_VALIDATION; then -@@ -178,15 +274,19 @@ if is_enabled CONFIG_GCC_PLUGINS; then - fi - destdir=$kernel_headers_dir/usr/src/linux-headers-$version - mkdir -p "$destdir" -+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.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) -+ - if [ "$ARCH" != "um" ]; then -- create_package "$kernel_headers_packagename" "$kernel_headers_dir" -- create_package "$libc_headers_packagename" "$libc_headers_dir" -+ create_package "$kernel_headers_packagename" "$kernel_headers_dir" "headers" -+#UNCOMENT create_package "$libc_headers_packagename" "$libc_headers_dir" -+ create_package "$dtb_packagename" "$dtb_dir" "dtb" - fi - - create_package "$packagename" "$tmpdir" -diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian -index 357dc56bc..602e709bc 100755 ---- a/scripts/package/mkdebian -+++ b/scripts/package/mkdebian -@@ -94,10 +94,13 @@ else - packageversion=$version-$revision - fi - sourcename=$KDEB_SOURCENAME --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version -+packagename=linux-image-$BRANCH$LOCALVERSION -+kernel_headers_packagename=linux-headers-$BRANCH$LOCALVERSION -+libc_headers_packagename=linux-libc-dev-$BRANCH$LOCALVERSION -+dtb_packagename=linux-dtb-$BRANCH$LOCALVERSION - dbg_packagename=$packagename-dbg - debarch= -+image_name= - set_debarch - - if [ "$ARCH" = "um" ] ; then -@@ -185,12 +188,13 @@ Description: Linux kernel, version $version - - Package: $kernel_headers_packagename - Architecture: $debarch -+Depends: make, gcc, libc6-dev, bison, flex, libssl-dev - Description: Linux kernel headers for $version on $debarch - This package provides kernel header files for $version on $debarch - . - This is useful for people who need to build external modules - --Package: linux-libc-dev -+Package: $libc_headers_packagename - Section: devel - Provides: linux-kernel-headers - Architecture: $debarch -@@ -205,6 +209,11 @@ Architecture: $debarch - Description: Linux kernel debugging symbols for $version - This package will come in handy if you need to debug the kernel. It provides - all the necessary debug symbols for the kernel and its modules. -+ -+Package: $dtb_packagename -+Architecture: $debarch -+Description: Linux DTB, version $version -+ This package contains device blobs from the Linux kernel, version $version - EOF - - cat < debian/rules --- -2.34.1 - diff --git a/patch/misc/general-packaging-5.6.y.patch b/patch/misc/general-packaging-5.6.y.patch deleted file mode 100644 index b1350ee43..000000000 --- a/patch/misc/general-packaging-5.6.y.patch +++ /dev/null @@ -1,263 +0,0 @@ -diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index 5858d6e44..e81b8a6fc 100644 ---- a/arch/arm64/Makefile -+++ b/arch/arm64/Makefile -@@ -142,7 +142,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a - - # Default target when executing plain make - boot := arch/arm64/boot --KBUILD_IMAGE := $(boot)/Image.gz -+KBUILD_IMAGE := $(boot)/Image - - all: Image.gz - -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,47 @@ 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 -+ -+ cat >> $pdir/DEBIAN/preinst <> $pdir/DEBIAN/postinst < /dev/null || mv dtb-$version dtb -+exit 0 -+EOT -+ -+ chmod 775 $pdir/DEBIAN/preinst ; chmod 775 $pdir/DEBIAN/postinst -+ fi -+ -+ # Create postinst prerm scripts for headers -+ if [ "$3" = "headers" ]; then -+ -+cat >> $pdir/DEBIAN/postinst << EOT -+cd /usr/src/linux-headers-$version -+echo "Compiling headers - please wait ..." -+yes "" | make oldconfig >/dev/null -+find -type f -exec touch {} + -+make -j\$(grep -c 'processor' /proc/cpuinfo) -s scripts >/dev/null -+make -j\$(grep -c 'processor' /proc/cpuinfo) -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 -- dpkg-gencontrol -p$pname -P"$pdir" -- dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. -+ dpkg-gencontrol -p$pname -P"$pdir" -+ dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. - } - - deploy_kernel_headers () { -@@ -100,9 +122,15 @@ deploy_libc_headers () { - } - - version=$KERNELRELEASE --tmpdir=debian/linux-image --dbg_dir=debian/linux-image-dbg --packagename=linux-image-$version -+tmpdir="$objtree/debian/tmp" -+kernel_headers_dir="$objtree/debian/hdrtmp" -+libc_headers_dir="$objtree/debian/headertmp" -+dbg_dir="$objtree/debian/dbgtmp" -+dtb_dir="$objtree/debian/dtbtmp" -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -113,6 +141,15 @@ fi - # XXX: have each arch Makefile export a variable of the canonical image install - # path instead - case $ARCH in -+aarch64|arm64) -+ image_name=Image -+ installed_image_path="boot/vmlinuz-$version" -+ -+ ;; -+arm*) -+ image_name=zImage -+ installed_image_path="boot/vmlinuz-$version" -+ ;; - um) - installed_image_path="usr/bin/linux-$version" - ;; -@@ -126,13 +163,17 @@ esac - BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes) - - # Setup the directory structure --rm -rf "$tmpdir" "$dbg_dir" debian/files -+rm -rf "$tmpdir" "$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-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" -+mkdir -p "$kernel_headers_dir/lib/modules/$version/" - --# Install the kernel -+# Build and install the kernel - if [ "$ARCH" = "um" ] ; then - mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/bin" "$tmpdir/usr/share/doc/$packagename" -+ $MAKE linux - cp System.map "$tmpdir/usr/lib/uml/modules/$version/System.map" - cp $KCONFIG_CONFIG "$tmpdir/usr/share/doc/$packagename/config" - gzip "$tmpdir/usr/share/doc/$packagename/config" -@@ -176,6 +217,21 @@ if is_enabled CONFIG_MODULES; then - fi - fi - -+if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then -+ #mkdir -p "$tmpdir/boot/dtb" -+ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $MAKE KBUILD_SRC= dtbs_install -+fi -+ -+if [ "$ARCH" != "um" ]; then -+ $MAKE -f $srctree/Makefile headers -+ $MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr" -+ # move asm headers to /usr/include//asm to match the structure -+ # used by Debian-based distros (to support multi-arch) -+ host_arch=$(dpkg-architecture -a$(cat debian/arch) -qDEB_HOST_MULTIARCH) -+ mkdir $libc_headers_dir/usr/include/$host_arch -+ mv $libc_headers_dir/usr/include/asm $libc_headers_dir/usr/include/$host_arch/ -+fi -+ - # Install the maintainer scripts - # Note: hook scripts under /etc/kernel are also executed by official Debian - # kernel packages, as well as kernel packages built using make-kpkg. -@@ -185,7 +241,7 @@ debhookdir=${KDEB_HOOKDIR:-/etc/kernel} - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - set -e - -@@ -201,12 +257,72 @@ EOF - chmod 755 "$tmpdir/DEBIAN/$script" - done - --if [ "$ARCH" != "um" ]; then -- deploy_kernel_headers debian/linux-headers -- create_package linux-headers-$version debian/linux-headers -+## -+## Create sym link to kernel image -+## -+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst -+cat >> $tmpdir/DEBIAN/postinst < /dev/null || mv /$installed_image_path /boot/$image_name -+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 -+ -+# Build kernel header package -+(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" -+if is_enabled CONFIG_STACK_VALIDATION; then -+ (cd $objtree; find tools/objtool -type f -executable) >> "$objtree/debian/hdrobjfiles" -+fi -+(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" -+if is_enabled CONFIG_GCC_PLUGINS; then -+ (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name gcc-common.h) >> "$objtree/debian/hdrobjfiles" -+fi -+destdir=$kernel_headers_dir/usr/src/linux-headers-$version -+mkdir -p "$destdir" -+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.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) -+ -+if [ "$ARCH" != "um" ]; then -+ create_package "$kernel_headers_packagename" "$kernel_headers_dir" "headers" -+ create_package "$dtb_packagename" "$dtb_dir" "dtb" - fi - - create_package "$packagename" "$tmpdir" ---- a/scripts/package/mkdebian -+++ b/scripts/package/mkdebian -@@ -94,10 +94,12 @@ else - packageversion=$version-$revision - fi - sourcename=$KDEB_SOURCENAME --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version -+packagename=linux-image-$BRANCH$LOCALVERSION -+kernel_headers_packagename=linux-headers-$BRANCH$LOCALVERSION -+dtb_packagename=linux-dtb-$BRANCH$LOCALVERSION - dbg_packagename=$packagename-dbg - debarch= -+image_name= - set_debarch - - if [ "$ARCH" = "um" ] ; then -@@ -183,8 +185,14 @@ Description: Linux kernel, version $version - This package contains the Linux kernel, modules and corresponding other - files, version: $version. - -+Package: $dtb_packagename -+Architecture: $debarch -+Description: Linux DTB, version $version -+ This package contains device blobs from the Linux kernel, version $version -+ - Package: $kernel_headers_packagename - Architecture: $debarch -+Depends: make, gcc, libc6-dev, bison, flex, libssl-dev - Description: Linux kernel headers for $version on $debarch - This package provides kernel header files for $version on $debarch - . diff --git a/patch/misc/general-packaging-5.8-9.y.patch b/patch/misc/general-packaging-5.8-9.y.patch deleted file mode 100644 index 0ed5ed3ee..000000000 --- a/patch/misc/general-packaging-5.8-9.y.patch +++ /dev/null @@ -1,265 +0,0 @@ -diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index 5858d6e44..e81b8a6fc 100644 ---- a/arch/arm64/Makefile -+++ b/arch/arm64/Makefile -@@ -142,7 +142,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a - - # Default target when executing plain make - boot := arch/arm64/boot --KBUILD_IMAGE := $(boot)/Image.gz -+KBUILD_IMAGE := $(boot)/Image - - all: Image.gz - -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,47 @@ 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 -+ -+ cat >> $pdir/DEBIAN/preinst <> $pdir/DEBIAN/postinst < /dev/null || mv dtb-$version dtb -+exit 0 -+EOT -+ -+ chmod 775 $pdir/DEBIAN/preinst ; chmod 775 $pdir/DEBIAN/postinst -+ fi -+ -+ # Create postinst prerm scripts for headers -+ if [ "$3" = "headers" ]; then -+ -+cat >> $pdir/DEBIAN/postinst << EOT -+cd /usr/src/linux-headers-$version -+echo "Compiling headers - please wait ..." -+find -type f -exec touch {} + -+yes "" | make oldconfig >/dev/null -+make -j\$(grep -c 'processor' /proc/cpuinfo) -s scripts >/dev/null -+make -j\$(grep -c 'processor' /proc/cpuinfo) -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 -- dpkg-gencontrol -p$pname -P"$pdir" -- dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. -+ dpkg-gencontrol -p$pname -P"$pdir" -+ dpkg-deb --build "$pdir" .. - } - - deploy_kernel_headers () { -@@ -100,9 +122,15 @@ deploy_libc_headers () { - } - - version=$KERNELRELEASE --tmpdir=debian/linux-image --dbg_dir=debian/linux-image-dbg --packagename=linux-image-$version -+tmpdir="$objtree/debian/tmp" -+kernel_headers_dir="$objtree/debian/hdrtmp" -+libc_headers_dir="$objtree/debian/headertmp" -+dbg_dir="$objtree/debian/dbgtmp" -+dtb_dir="$objtree/debian/dtbtmp" -+packagename=linux-image-"$BRANCH$LOCALVERSION" -+kernel_headers_packagename=linux-headers-"$BRANCH$LOCALVERSION" -+dtb_packagename=linux-dtb-"$BRANCH$LOCALVERSION" -+libc_headers_packagename=linux-libc-dev-"$BRANCH$LOCALVERSION" - dbg_packagename=$packagename-dbg - - if [ "$ARCH" = "um" ] ; then -@@ -113,6 +141,15 @@ fi - # XXX: have each arch Makefile export a variable of the canonical image install - # path instead - case $ARCH in -+aarch64|arm64) -+ image_name=Image -+ installed_image_path="boot/vmlinuz-$version" -+ -+ ;; -+arm*) -+ image_name=zImage -+ installed_image_path="boot/vmlinuz-$version" -+ ;; - um) - installed_image_path="usr/bin/linux-$version" - ;; -@@ -126,13 +163,17 @@ esac - BUILD_DEBUG=$(if_enabled_echo CONFIG_DEBUG_INFO Yes) - - # Setup the directory structure --rm -rf "$tmpdir" "$dbg_dir" debian/files -+rm -rf "$tmpdir" "$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-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" -+mkdir -p "$kernel_headers_dir/lib/modules/$version/" - --# Install the kernel -+# Build and install the kernel - if [ "$ARCH" = "um" ] ; then - mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/bin" "$tmpdir/usr/share/doc/$packagename" -+ $MAKE linux - cp System.map "$tmpdir/usr/lib/uml/modules/$version/System.map" - cp $KCONFIG_CONFIG "$tmpdir/usr/share/doc/$packagename/config" - gzip "$tmpdir/usr/share/doc/$packagename/config" -@@ -176,6 +217,21 @@ if is_enabled CONFIG_MODULES; then - fi - fi - -+if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then -+ #mkdir -p "$tmpdir/boot/dtb" -+ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $MAKE KBUILD_SRC= dtbs_install -+fi -+ -+if [ "$ARCH" != "um" ]; then -+ $MAKE -f $srctree/Makefile headers -+ $MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr" -+ # move asm headers to /usr/include//asm to match the structure -+ # used by Debian-based distros (to support multi-arch) -+ host_arch=$(dpkg-architecture -a$(cat debian/arch) -qDEB_HOST_MULTIARCH) -+ mkdir $libc_headers_dir/usr/include/$host_arch -+ mv $libc_headers_dir/usr/include/asm $libc_headers_dir/usr/include/$host_arch/ -+fi -+ - # Install the maintainer scripts - # Note: hook scripts under /etc/kernel are also executed by official Debian - # kernel packages, as well as kernel packages built using make-kpkg. -@@ -185,7 +241,7 @@ debhookdir=${KDEB_HOOKDIR:-/etc/kernel} - for script in postinst postrm preinst prerm ; do - mkdir -p "$tmpdir$debhookdir/$script.d" - cat < "$tmpdir/DEBIAN/$script" --#!/bin/sh -+#!/bin/bash - - set -e - -@@ -201,14 +257,72 @@ EOF - chmod 755 "$tmpdir/DEBIAN/$script" - done - --if [ "$ARCH" != "um" ]; then -- if is_enabled CONFIG_MODULES; then -- deploy_kernel_headers debian/linux-headers -- create_package linux-headers-$version debian/linux-headers -- fi -+## -+## Create sym link to kernel image -+## -+sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst -+cat >> $tmpdir/DEBIAN/postinst < /dev/null || mv /$installed_image_path /boot/$image_name -+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 -+ -+# Build kernel header package -+(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" -+(cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" -+if is_enabled CONFIG_STACK_VALIDATION; then -+ (cd $objtree; find tools/objtool -type f -executable) >> "$objtree/debian/hdrobjfiles" -+fi -+(cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" -+if is_enabled CONFIG_GCC_PLUGINS; then -+ (cd $objtree; find scripts/gcc-plugins -name \*.so -o -name gcc-common.h) >> "$objtree/debian/hdrobjfiles" -+fi -+destdir=$kernel_headers_dir/usr/src/linux-headers-$version -+mkdir -p "$destdir" -+(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.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) -+ -+if [ "$ARCH" != "um" ]; then -+ create_package "$kernel_headers_packagename" "$kernel_headers_dir" "headers" -+ create_package "$dtb_packagename" "$dtb_dir" "dtb" - fi - - create_package "$packagename" "$tmpdir" ---- a/scripts/package/mkdebian -+++ b/scripts/package/mkdebian -@@ -94,10 +94,12 @@ else - packageversion=$version-$revision - fi - sourcename=$KDEB_SOURCENAME --packagename=linux-image-$version --kernel_headers_packagename=linux-headers-$version -+packagename=linux-image-$BRANCH$LOCALVERSION -+kernel_headers_packagename=linux-headers-$BRANCH$LOCALVERSION -+dtb_packagename=linux-dtb-$BRANCH$LOCALVERSION - dbg_packagename=$packagename-dbg - debarch= -+image_name= - set_debarch - - if [ "$ARCH" = "um" ] ; then -@@ -183,8 +185,14 @@ Description: Linux kernel, version $version - This package contains the Linux kernel, modules and corresponding other - files, version: $version. - -+Package: $dtb_packagename -+Architecture: $debarch -+Description: Linux DTB, version $version -+ This package contains device blobs from the Linux kernel, version $version -+ - Package: $kernel_headers_packagename - Architecture: $debarch -+Depends: make, gcc, libc6-dev, bison, flex, libssl-dev - Description: Linux kernel headers for $version on $debarch - This package provides kernel header files for $version on $debarch - . diff --git a/patch/misc/headers-debian-byteshift.patch b/patch/misc/headers-debian-byteshift.patch deleted file mode 100644 index ef375ff66..000000000 --- a/patch/misc/headers-debian-byteshift.patch +++ /dev/null @@ -1,156 +0,0 @@ -Signed-off-by: Matt Fleming -Link: http://lkml.kernel.org/r/1330436245-24875-2-git-send-email-matt@console-pimps.org -Signed-off-by: H. Peter Anvin -Signed-off-by: Greg Kroah-Hartman - ---- -tools/include/tools/be_byteshift.h | 70 +++++++++++++++++++++++++++++++++++++ -tools/include/tools/le_byteshift.h | 70 +++++++++++++++++++++++++++++++++++++ -2 files changed, 140 insertions(+) - ---- /dev/null -+++ b/tools/include/tools/be_byteshift.h -@@ -0,0 +1,70 @@ -+#ifndef _TOOLS_BE_BYTESHIFT_H -+#define _TOOLS_BE_BYTESHIFT_H -+ -+#include -+ -+static inline __u16 __get_unaligned_be16(const __u8 *p) -+{ -+ return p[0] << 8 | p[1]; -+} -+ -+static inline __u32 __get_unaligned_be32(const __u8 *p) -+{ -+ return p[0] << 24 | p[1] << 16 | p[2] << 8 | p[3]; -+} -+ -+static inline __u64 __get_unaligned_be64(const __u8 *p) -+{ -+ return (__u64)__get_unaligned_be32(p) << 32 | -+ __get_unaligned_be32(p + 4); -+} -+ -+static inline void __put_unaligned_be16(__u16 val, __u8 *p) -+{ -+ *p++ = val >> 8; -+ *p++ = val; -+} -+ -+static inline void __put_unaligned_be32(__u32 val, __u8 *p) -+{ -+ __put_unaligned_be16(val >> 16, p); -+ __put_unaligned_be16(val, p + 2); -+} -+ -+static inline void __put_unaligned_be64(__u64 val, __u8 *p) -+{ -+ __put_unaligned_be32(val >> 32, p); -+ __put_unaligned_be32(val, p + 4); -+} -+ -+static inline __u16 get_unaligned_be16(const void *p) -+{ -+ return __get_unaligned_be16((const __u8 *)p); -+} -+ -+static inline __u32 get_unaligned_be32(const void *p) -+{ -+ return __get_unaligned_be32((const __u8 *)p); -+} -+ -+static inline __u64 get_unaligned_be64(const void *p) -+{ -+ return __get_unaligned_be64((const __u8 *)p); -+} -+ -+static inline void put_unaligned_be16(__u16 val, void *p) -+{ -+ __put_unaligned_be16(val, p); -+} -+ -+static inline void put_unaligned_be32(__u32 val, void *p) -+{ -+ __put_unaligned_be32(val, p); -+} -+ -+static inline void put_unaligned_be64(__u64 val, void *p) -+{ -+ __put_unaligned_be64(val, p); -+} -+ -+#endif /* _TOOLS_BE_BYTESHIFT_H */ ---- /dev/null -+++ b/tools/include/tools/le_byteshift.h -@@ -0,0 +1,70 @@ -+#ifndef _TOOLS_LE_BYTESHIFT_H -+#define _TOOLS_LE_BYTESHIFT_H -+ -+#include -+ -+static inline __u16 __get_unaligned_le16(const __u8 *p) -+{ -+ return p[0] | p[1] << 8; -+} -+ -+static inline __u32 __get_unaligned_le32(const __u8 *p) -+{ -+ return p[0] | p[1] << 8 | p[2] << 16 | p[3] << 24; -+} -+ -+static inline __u64 __get_unaligned_le64(const __u8 *p) -+{ -+ return (__u64)__get_unaligned_le32(p + 4) << 32 | -+ __get_unaligned_le32(p); -+} -+ -+static inline void __put_unaligned_le16(__u16 val, __u8 *p) -+{ -+ *p++ = val; -+ *p++ = val >> 8; -+} -+ -+static inline void __put_unaligned_le32(__u32 val, __u8 *p) -+{ -+ __put_unaligned_le16(val >> 16, p + 2); -+ __put_unaligned_le16(val, p); -+} -+ -+static inline void __put_unaligned_le64(__u64 val, __u8 *p) -+{ -+ __put_unaligned_le32(val >> 32, p + 4); -+ __put_unaligned_le32(val, p); -+} -+ -+static inline __u16 get_unaligned_le16(const void *p) -+{ -+ return __get_unaligned_le16((const __u8 *)p); -+} -+ -+static inline __u32 get_unaligned_le32(const void *p) -+{ -+ return __get_unaligned_le32((const __u8 *)p); -+} -+ -+static inline __u64 get_unaligned_le64(const void *p) -+{ -+ return __get_unaligned_le64((const __u8 *)p); -+} -+ -+static inline void put_unaligned_le16(__u16 val, void *p) -+{ -+ __put_unaligned_le16(val, p); -+} -+ -+static inline void put_unaligned_le32(__u32 val, void *p) -+{ -+ __put_unaligned_le32(val, p); -+} -+ -+static inline void put_unaligned_le64(__u64 val, void *p) -+{ -+ __put_unaligned_le64(val, p); -+} -+ -+#endif /* _TOOLS_LE_BYTESHIFT_H */