diff --git a/3rdparty/packaging/Makefile b/3rdparty/packaging/Makefile index 9fbcf5ed0ca778e1713fff945c9f211488d47a86..73503ebce6326ced505165feeec9e1a05233233d 100644 --- a/3rdparty/packaging/Makefile +++ b/3rdparty/packaging/Makefile @@ -24,6 +24,7 @@ # Remove hyphens since they have special meaning in RPM filenames KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE)) KDEB_SOURCENAME ?= linux-$(KERNELRELEASE) +KBUILD_PKG_ROOTCMD ?="fakeroot -u" export KDEB_SOURCENAME # Include only those top-level files that are needed by make, plus the GPL copy TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion Makefile \ @@ -66,35 +67,20 @@ binrpm-pkg: FORCE clean-files += $(objtree)/*.spec -# Deb target -# --------------------------------------------------------------------------- -quiet_cmd_builddeb = BUILDDEB - cmd_builddeb = set -e; \ - test `id -u` = 0 || \ - test -n "$(KBUILD_PKG_ROOTCMD)" || { \ - which fakeroot >/dev/null 2>&1 && \ - KBUILD_PKG_ROOTCMD="fakeroot -u"; \ - } || { \ - echo; \ - echo "builddeb must be run as root (or using fakeroot)."; \ - echo "KBUILD_PKG_ROOTCMD is unset and fakeroot not found."; \ - echo "Try setting KBUILD_PKG_ROOTCMD to a command to acquire"; \ - echo "root privileges (e.g., 'fakeroot -u' or 'sudo')."; \ - false; \ - } && \ - \ - $$KBUILD_PKG_ROOTCMD $(CONFIG_SHELL) \ - $(srctree)/scripts/package/builddeb $@ - deb-pkg: FORCE $(MAKE) clean + $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian $(call cmd,src_tar,$(KDEB_SOURCENAME)) - $(MAKE) KBUILD_SRC= - +$(call cmd,builddeb) + origversion=$$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$$//');\ + mv $(KDEB_SOURCENAME).tar.gz ../$(KDEB_SOURCENAME)_$${origversion}.orig.tar.gz + +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -i.git -us -uc bindeb-pkg: FORCE - $(MAKE) KBUILD_SRC= - +$(call cmd,builddeb) + $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian + +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -b -nc -uc + +intdeb-pkg: FORCE + +$(CONFIG_SHELL) $(srctree)/scripts/package/builddeb clean-dirs += $(objtree)/debian/ diff --git a/3rdparty/packaging/builddeb b/3rdparty/packaging/builddeb index f4dcc319506d11bd7652d1c6226d88935a0696bf..b274b7994ac77b4c0e0dc84bd8107377fc0c70d7 100755 --- a/3rdparty/packaging/builddeb +++ b/3rdparty/packaging/builddeb @@ -30,80 +30,19 @@ create_package() { chmod -R a+rX "$pdir" # Create the package - dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" + dpkg-gencontrol -p$pname -P"$pdir" dpkg --build "$pdir" .. } -set_debarch() { - # Attempt to find the correct Debian architecture - case "$UTS_MACHINE" in - i386|ia64|alpha) - debarch="$UTS_MACHINE" ;; - x86_64) - debarch=amd64 ;; - sparc*) - debarch=sparc ;; - s390*) - debarch=s390$(grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;; - ppc*) - debarch=$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo ppc64el || echo powerpc) ;; - parisc*) - debarch=hppa ;; - mips*) - debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;; - aarch64|arm64) - debarch=arm64 ;; - arm*) - if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then - if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then - debarch=armhf - else - debarch=armel - fi - else - debarch=arm - fi - ;; - *) - debarch=$(dpkg --print-architecture) - 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 using your current userspace instead!" >&2 - echo "Please add support for $UTS_MACHINE to ${0} ..." >&2 - echo "" >&2 - esac - if [ -n "$KBUILD_DEBARCH" ] ; then - debarch="$KBUILD_DEBARCH" - fi - forcearch="-DArchitecture=$debarch" - -} - -# Some variables and settings used throughout the script version=$KERNELRELEASE -revision=$(cat .version) -if [ -n "$KDEB_PKGVERSION" ]; then - packageversion=$KDEB_PKGVERSION -else - packageversion=$version-$revision -fi -sourcename=$KDEB_SOURCENAME tmpdir="$objtree/debian/tmp" -fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" libc_headers_dir="$objtree/debian/headertmp" 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 dbg_packagename=$packagename-dbg -debarch= -forcearch= -set_debarch if [ "$ARCH" = "um" ] ; then packagename=user-mode-linux-$version @@ -126,10 +65,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" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files mkdir -m 755 -p "$tmpdir/DEBIAN" mkdir -p "$tmpdir/lib" "$tmpdir/boot" -mkdir -p "$fwdir/lib/firmware/$version/" mkdir -p "$kernel_headers_dir/lib/modules/$version/" # Build and install the kernel @@ -146,18 +84,10 @@ fi cp "$($MAKE -s -f $srctree/Makefile image_name)" "$tmpdir/$installed_image_path" if grep -q "^CONFIG_OF_EARLY_FLATTREE=y" $KCONFIG_CONFIG ; then - mkdir -p "$tmpdir/boot/dtbs/$version" # Only some architectures with OF support have this target if [ -d "${srctree}/arch/$SRCARCH/boot/dts" ]; then + $MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install $MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/boot/dtbs/$version" dtbs_install - else - $MAKE KBUILD_SRC= dtbs - find arch/arm/boot/ -iname "*.dtb" -exec cp -v '{}' "$tmpdir/boot/dtbs/$version" \; - fi - - #make dtbs_install seems to add an .old directory - if [ -d "$tmpdir/boot/dtbs/$version.old" ] ; then - rm -rf "$tmpdir/boot/dtbs/$version.old" fi fi @@ -224,107 +154,6 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done -# Try to determine maintainer and email values -if [ -n "$DEBEMAIL" ]; then - email=$DEBEMAIL -elif [ -n "$EMAIL" ]; then - email=$EMAIL -else - email=$(id -nu)@$(hostname -f 2>/dev/null || hostname) -fi -if [ -n "$DEBFULLNAME" ]; then - name=$DEBFULLNAME -elif [ -n "$NAME" ]; then - name=$NAME -else - name="Anonymous" -fi -maintainer="$name <$email>" - -# 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 - -# Generate a simple changelog template -cat <<EOF > debian/changelog -$sourcename ($packageversion) $distribution; urgency=low - - * Custom built Linux kernel. - - -- $maintainer $(date -R) -EOF - -# Generate copyright file -cat <<EOF > debian/copyright -This is a packacked upstream 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 - 2017 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 - - -build_depends="bc, kmod, cpio " - -# Generate a control file -cat <<EOF > debian/control -Source: $sourcename -Section: kernel -Priority: optional -Maintainer: $maintainer -Build-Depends: $build_depends -Homepage: http://www.kernel.org/ -EOF - -if [ "$ARCH" = "um" ]; then - cat <<EOF >> debian/control - -Package: $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 - interface. It provides a kind of virtual machine, which runs Linux - as a user process under another Linux kernel. This is useful for - kernel development, sandboxes, jails, experimentation, and - many other things. - . - This package contains the Linux kernel, modules and corresponding other - files, version: $version. -EOF - -else - cat <<EOF >> debian/control - -Package: $packagename -Suggests: $fwpackagename -Architecture: any -Depends: initramfs-tools -Description: Linux kernel, version $version - This package contains the Linux kernel, modules and corresponding other - files, version: $version. -EOF - -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" @@ -345,43 +174,6 @@ mkdir -p "$destdir" ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" -cat <<EOF >> debian/control - -Package: $kernel_headers_packagename -Architecture: any -Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} - This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} - . - This is useful for people who need to build external modules -EOF - -# Do we have firmware? Move it out of the way and build it into a package. -if [ -e "$tmpdir/lib/firmware" ]; then - mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/" - rmdir "$tmpdir/lib/firmware" - - cat <<EOF >> debian/control - -Package: $fwpackagename -Architecture: all -Description: Linux kernel firmware, version $version - This package contains firmware from the Linux kernel, version $version. -EOF - - create_package "$fwpackagename" "$fwdir" -fi - -cat <<EOF >> debian/control - -Package: $libc_headers_packagename -Section: devel -Provides: linux-kernel-headers -Architecture: any -Description: 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. -EOF - if [ "$ARCH" != "um" ]; then create_package "$kernel_headers_packagename" "$kernel_headers_dir" create_package "$libc_headers_packagename" "$libc_headers_dir" @@ -400,47 +192,7 @@ if [ -n "$BUILD_DEBUG" ] ; then 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 - - cat <<EOF >> debian/control - -Package: $dbg_packagename -Section: debug -Architecture: any -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 - create_package "$dbg_packagename" "$dbg_dir" fi -if [ "x$1" = "xdeb-pkg" ] -then - cat <<EOF > debian/rules -#!/usr/bin/make -f - -build: - \$(MAKE) - -binary-arch: - \$(MAKE) KDEB_SOURCENAME=${sourcename} KDEB_PKGVERSION=${packageversion} bindeb-pkg - -clean: - rm -rf debian/*tmp debian/files - mv debian/ debian.backup # debian/ might be cleaned away - \$(MAKE) clean - mv debian.backup debian - -binary: binary-arch -EOF - mv ${sourcename}.tar.gz ../${sourcename}_${version}.orig.tar.gz - tar caf ../${sourcename}_${packageversion}.debian.tar.gz debian/{copyright,rules,changelog,control} - dpkg-source -cdebian/control -ldebian/changelog --format="3.0 (custom)" --target-format="3.0 (quilt)" \ - -b / ../${sourcename}_${version}.orig.tar.gz ../${sourcename}_${packageversion}.debian.tar.gz - mv ${sourcename}_${packageversion}*dsc .. - dpkg-genchanges -Vkernel:debarch="${debarch}" > ../${sourcename}_${packageversion}_${debarch}.changes -else - dpkg-genchanges -b -Vkernel:debarch="${debarch}" > ../${sourcename}_${packageversion}_${debarch}.changes -fi - exit 0 diff --git a/3rdparty/packaging/mkdebian b/3rdparty/packaging/mkdebian new file mode 100755 index 0000000000000000000000000000000000000000..edcad61fe3cdae66b8e8fe497f7f52329591ee0a --- /dev/null +++ b/3rdparty/packaging/mkdebian @@ -0,0 +1,223 @@ +#!/bin/sh +# +# Copyright 2003 Wichert Akkerman <wichert@wiggy.net> +# +# Simple script to generate a debian/ directory for a Linux kernel. + +set -e + +is_enabled() { + grep -q "^CONFIG_$1=y" $KCONFIG_CONFIG +} + +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 64BIT 64) ;; + s390*) + debarch=s390x ;; + ppc*) + if is_enabled 64BIT; then + debarch=ppc64$(if_enabled_echo CPU_LITTLE_ENDIAN el) + else + debarch=powerpc$(if_enabled_echo SPE spe) + fi + ;; + parisc*) + debarch=hppa ;; + mips*) + if is_enabled CPU_LITTLE_ENDIAN; then + debarch=mips$(if_enabled_echo 64BIT 64)$(if_enabled_echo CPU_MIPSR6 r6)el + elif is_enabled CPU_MIPSR6; then + debarch=mips$(if_enabled_echo 64BIT 64)r6 + else + debarch=mips + fi + ;; + aarch64|arm64) + debarch=arm64 ;; + arm*) + if is_enabled AEABI; then + debarch=arm$(if_enabled_echo VFP hf el) + else + debarch=arm + fi + ;; + openrisc) + debarch=or1k ;; + sh) + if is_enabled CPU_SH3; then + debarch=sh3$(if_enabled_echo CPU_BIG_ENDIAN eb) + elif is_enabled CPU_SH4; then + debarch=sh4$(if_enabled_echo 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 +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-$version +kernel_headers_packagename=linux-headers-$version +dbg_packagename=$packagename-dbg +debarch= +set_debarch + +if [ "$ARCH" = "um" ] ; then + packagename=user-mode-linux-$version +fi + +email=${DEBEMAIL-$EMAIL} + +# use email string directly if it contains <email> +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/ +echo $debarch > debian/arch + +# Generate a simple changelog template +cat <<EOF > debian/changelog +$sourcename ($packageversion) $distribution; urgency=low + + * Custom built Linux kernel. + + -- $maintainer $(date -R) +EOF + +# Generate copyright file +cat <<EOF > debian/copyright +This is a packacked upstream 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 <<EOF > debian/control +Source: $sourcename +Section: kernel +Priority: optional +Maintainer: $maintainer +Build-Depends: bc, kmod, cpio +Homepage: http://www.kernel.org/ + +Package: $packagename +Architecture: $debarch +Description: Linux kernel, version $version + This package contains the Linux kernel, modules and corresponding other + files, version: $version. + +Package: $kernel_headers_packagename +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 + +Package: linux-libc-dev +Section: devel +Provides: linux-kernel-headers +Architecture: $debarch +Description: 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. + +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 + +cat <<EOF > debian/rules +#!$(command -v $MAKE) -f + +build: + \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \ + KBUILD_BUILD_VERSION=${revision} KBUILD_SRC= + +binary-arch: + \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \ + KBUILD_BUILD_VERSION=${revision} KBUILD_SRC= intdeb-pkg + +clean: + rm -rf debian/*tmp debian/files + \$(MAKE) clean + +binary: binary-arch +EOF + +exit 0 diff --git a/build_deb.sh b/build_deb.sh index dd353ddfa870a7a1ba9de301ff0f5f42f3ccb112..21982ad51002981b70302a4853d36de302be6c91 100755 --- a/build_deb.sh +++ b/build_deb.sh @@ -84,13 +84,11 @@ make_deb () { echo "-----------------------------" echo "make ${build_opts} CROSS_COMPILE="${CC}" bindeb-pkg" echo "-----------------------------" - fakeroot make ${build_opts} CROSS_COMPILE="${CC}" bindeb-pkg + make ${build_opts} CROSS_COMPILE="${CC}" bindeb-pkg - mv "${DIR}"/*.deb "${DIR}/deploy/" || true - mv "${DIR}"/*.debian.tar.gz "${DIR}/deploy/" || true - mv "${DIR}"/*.dsc "${DIR}/deploy/" || true + mv "${DIR}"/*.buildinfo "${DIR}/deploy/" || true mv "${DIR}"/*.changes "${DIR}/deploy/" || true - mv "${DIR}"/*.orig.tar.gz "${DIR}/deploy/" || true + mv "${DIR}"/*.deb "${DIR}/deploy/" || true KERNEL_UTS=$(cat "${DIR}/KERNEL/include/generated/utsrelease.h" | awk '{print $3}' | sed 's/\"//g' ) diff --git a/patch.sh b/patch.sh index 6898ca2d657f5b1d65d53ae4c548e578319a31c0..2f1b7be1573a57b7325c702fe247f5be9bf1c6f9 100644 --- a/patch.sh +++ b/patch.sh @@ -492,8 +492,7 @@ packaging () { if [ "x${regenerate}" = "xenable" ] ; then cp -v "${DIR}/3rdparty/packaging/Makefile" "${DIR}/KERNEL/scripts/package" cp -v "${DIR}/3rdparty/packaging/builddeb" "${DIR}/KERNEL/scripts/package" - #Needed for v4.11.x and less - #patch -p1 < "${DIR}/patches/packaging/0002-Revert-deb-pkg-Remove-the-KBUILD_IMAGE-workaround.patch" + cp -v "${DIR}/3rdparty/packaging/mkdebian" "${DIR}/KERNEL/scripts/package" ${git_bin} commit -a -m 'packaging: sync builddeb changes' -s ${git_bin} format-patch -1 -o "${DIR}/patches/packaging" exit 2 diff --git a/patches/WireGuard/0001-merge-WireGuard.patch b/patches/WireGuard/0001-merge-WireGuard.patch index da7a0fbd2391cbf1d34909bd7acfb9c1d09cd347..fe35d54c0275363a38a8e7c00dda98651e58e770 100644 --- a/patches/WireGuard/0001-merge-WireGuard.patch +++ b/patches/WireGuard/0001-merge-WireGuard.patch @@ -1,6 +1,6 @@ -From 61118fcc17bec76149b762b79e476c9e5a78204c Mon Sep 17 00:00:00 2001 +From c5b3185342ef1842698e437d064abc6b240d8a72 Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> -Date: Sun, 9 Dec 2018 18:12:26 -0600 +Date: Sun, 16 Dec 2018 18:17:02 -0600 Subject: [PATCH] merge: WireGuard Signed-off-by: Robert Nelson <robertcnelson@gmail.com> @@ -1115,7 +1115,7 @@ index 000000000000..8ce3045693fb +#endif /* _WG_COMPATASM_H */ diff --git a/net/wireguard/compat/compat.h b/net/wireguard/compat/compat.h new file mode 100644 -index 000000000000..e52f53bb7a45 +index 000000000000..c6b725dec64e --- /dev/null +++ b/net/wireguard/compat/compat.h @@ -0,0 +1,809 @@ @@ -1914,7 +1914,7 @@ index 000000000000..e52f53bb7a45 +#undef __read_mostly +#define __read_mostly +#endif -+#if defined(RAP_PLUGIN) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) ++#if (defined(RAP_PLUGIN) || defined(CONFIG_CFI_CLANG)) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) +#include <linux/timer.h> +#define wg_expired_retransmit_handshake(a) wg_expired_retransmit_handshake(unsigned long timer) +#define wg_expired_send_keepalive(a) wg_expired_send_keepalive(unsigned long timer) diff --git a/patches/defconfig b/patches/defconfig index 00609713cf0c49129986fed87953d316020a4dd5..830dd957be5063e5210ac3a25194f9d9f34d5ed9 100644 --- a/patches/defconfig +++ b/patches/defconfig @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.20.0-rc6 Kernel Configuration +# Linux/arm 4.20.0-rc7 Kernel Configuration # # @@ -20,7 +20,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set -CONFIG_BUILD_SALT="4.20-rc6-bone0" +CONFIG_BUILD_SALT="4.20-rc7-bone0" CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y @@ -111,7 +111,7 @@ CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y -CONFIG_MEMCG_SWAP_ENABLED=y +# CONFIG_MEMCG_SWAP_ENABLED is not set CONFIG_MEMCG_KMEM=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set @@ -119,7 +119,7 @@ CONFIG_CGROUP_WRITEBACK=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y +# CONFIG_RT_GROUP_SCHED is not set CONFIG_CGROUP_PIDS=y # CONFIG_CGROUP_RDMA is not set CONFIG_CGROUP_FREEZER=y @@ -157,8 +157,8 @@ CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y # CONFIG_SGETMASK_SYSCALL is not set -CONFIG_SYSFS_SYSCALL=y -CONFIG_SYSCTL_SYSCALL=y +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_SYSCTL_SYSCALL is not set CONFIG_FHANDLE=y CONFIG_POSIX_TIMERS=y CONFIG_PRINTK=y @@ -177,7 +177,7 @@ CONFIG_AIO=y CONFIG_ADVISE_SYSCALLS=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y -CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_ALL is not set CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_BPF_SYSCALL=y # CONFIG_BPF_JIT_ALWAYS_ON is not set @@ -1378,7 +1378,7 @@ CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_QFQ=m CONFIG_NET_SCH_CODEL=m CONFIG_NET_SCH_FQ_CODEL=m -# CONFIG_NET_SCH_CAKE is not set +CONFIG_NET_SCH_CAKE=m CONFIG_NET_SCH_FQ=m CONFIG_NET_SCH_HHF=m CONFIG_NET_SCH_PIE=m @@ -1675,8 +1675,7 @@ CONFIG_HAVE_EBPF_JIT=y # # Generic Driver Options # -CONFIG_UEVENT_HELPER=y -CONFIG_UEVENT_HELPER_PATH="" +# CONFIG_UEVENT_HELPER is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y @@ -2077,7 +2076,6 @@ CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m -CONFIG_TCM_USER2=m CONFIG_LOOPBACK_TARGET=m CONFIG_TCM_FC=m CONFIG_ISCSI_TARGET=m @@ -2511,7 +2509,7 @@ CONFIG_KEYBOARD_MAX7359=m # CONFIG_KEYBOARD_MCS is not set # CONFIG_KEYBOARD_MPR121 is not set # CONFIG_KEYBOARD_NEWTON is not set -CONFIG_KEYBOARD_OPENCORES=m +# CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_SAMSUNG is not set CONFIG_KEYBOARD_STOWAWAY=m # CONFIG_KEYBOARD_SUNKBD is not set @@ -2733,7 +2731,7 @@ CONFIG_UNIX98_PTYS=y CONFIG_N_GSM=m # CONFIG_TRACE_SINK is not set CONFIG_DEVMEM=y -CONFIG_DEVKMEM=y +# CONFIG_DEVKMEM is not set # # Serial drivers @@ -4097,7 +4095,7 @@ CONFIG_FB_TILEBLITTING=y # Frame buffer hardware drivers # # CONFIG_FB_UVESA is not set -CONFIG_FB_EFI=y +# CONFIG_FB_EFI is not set # CONFIG_FB_OPENCORES is not set # CONFIG_FB_S1D13XXX is not set CONFIG_FB_SMSCUFX=m @@ -4274,7 +4272,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_CS43130 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set -# CONFIG_SND_SOC_DMIC is not set +CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_HDMI_CODEC=y # CONFIG_SND_SOC_ES7134 is not set # CONFIG_SND_SOC_ES7241 is not set @@ -4375,8 +4373,8 @@ CONFIG_SND_SIMPLE_CARD=y CONFIG_HID=y CONFIG_HID_BATTERY_STRENGTH=y CONFIG_HIDRAW=y -CONFIG_UHID=y -CONFIG_HID_GENERIC=y +CONFIG_UHID=m +CONFIG_HID_GENERIC=m # # Special HID drivers @@ -4438,7 +4436,7 @@ CONFIG_HID_MAGICMOUSE=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m -# CONFIG_HID_NTI is not set +CONFIG_HID_NTI=m CONFIG_HID_NTRIG=m CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m @@ -4593,7 +4591,8 @@ CONFIG_USB_MUSB_AM335X_CHILD=y # # MUSB DMA mode # -CONFIG_MUSB_PIO_ONLY=y +# CONFIG_MUSB_PIO_ONLY is not set +CONFIG_USB_TI_CPPI41_DMA=y # CONFIG_USB_DWC3 is not set # CONFIG_USB_DWC2 is not set # CONFIG_USB_CHIPIDEA is not set @@ -5053,10 +5052,7 @@ CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set # CONFIG_UDMABUF is not set # CONFIG_AUXDISPLAY is not set -CONFIG_UIO=m -CONFIG_UIO_PDRV_GENIRQ=m -CONFIG_UIO_DMEM_GENIRQ=m -# CONFIG_UIO_PRUSS is not set +# CONFIG_UIO is not set # CONFIG_VFIO is not set CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO=y @@ -5854,32 +5850,15 @@ CONFIG_EXT4_FS_ENCRYPTION=y CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_PROC_INFO is not set -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y +# CONFIG_REISERFS_FS is not set CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_SECURITY=y # CONFIG_JFS_DEBUG is not set # CONFIG_JFS_STATISTICS is not set -CONFIG_XFS_FS=y -CONFIG_XFS_QUOTA=y -CONFIG_XFS_POSIX_ACL=y -CONFIG_XFS_RT=y -# CONFIG_XFS_ONLINE_SCRUB is not set -# CONFIG_XFS_WARN is not set -# CONFIG_XFS_DEBUG is not set -CONFIG_GFS2_FS=m -CONFIG_GFS2_FS_LOCKING_DLM=y -CONFIG_OCFS2_FS=m -CONFIG_OCFS2_FS_O2CB=m -CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m -CONFIG_OCFS2_FS_STATS=y -CONFIG_OCFS2_DEBUG_MASKLOG=y -# CONFIG_OCFS2_DEBUG_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set CONFIG_BTRFS_FS=y CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set @@ -5887,7 +5866,7 @@ CONFIG_BTRFS_FS_POSIX_ACL=y # CONFIG_BTRFS_DEBUG is not set # CONFIG_BTRFS_ASSERT is not set # CONFIG_BTRFS_FS_REF_VERIFY is not set -CONFIG_NILFS2_FS=m +# CONFIG_NILFS2_FS is not set # CONFIG_F2FS_FS is not set CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y @@ -5905,7 +5884,7 @@ CONFIG_QUOTA_NETLINK_INTERFACE=y CONFIG_PRINT_QUOTA_WARNING=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_TREE=m -CONFIG_QFMT_V1=m +# CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y @@ -5968,16 +5947,15 @@ CONFIG_MEMFD_CREATE=y CONFIG_CONFIGFS_FS=y CONFIG_EFIVAR_FS=m CONFIG_MISC_FILESYSTEMS=y -# CONFIG_ORANGEFS_FS is not set +CONFIG_ORANGEFS_FS=m # CONFIG_ADFS_FS is not set -CONFIG_AFFS_FS=m +# CONFIG_AFFS_FS is not set CONFIG_ECRYPT_FS=m CONFIG_ECRYPT_FS_MESSAGING=y # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set -CONFIG_BEFS_FS=m -# CONFIG_BEFS_DEBUG is not set -CONFIG_BFS_FS=m +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 @@ -6021,10 +5999,10 @@ CONFIG_SQUASHFS_ZSTD=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -CONFIG_VXFS_FS=m +# CONFIG_VXFS_FS is not set # CONFIG_MINIX_FS is not set -CONFIG_OMFS_FS=m -CONFIG_HPFS_FS=m +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_QNX6FS_FS is not set CONFIG_ROMFS_FS=m @@ -6034,10 +6012,8 @@ CONFIG_ROMFS_BACKED_BY_BOTH=y CONFIG_ROMFS_ON_BLOCK=y CONFIG_ROMFS_ON_MTD=y # CONFIG_PSTORE is not set -CONFIG_SYSV_FS=m -CONFIG_UFS_FS=m -# CONFIG_UFS_FS_WRITE is not set -# CONFIG_UFS_DEBUG is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set # CONFIG_EXOFS_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y @@ -6235,10 +6211,10 @@ CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y -CONFIG_CRYPTO_KPP=m +CONFIG_CRYPTO_KPP=y CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_RSA=y -CONFIG_CRYPTO_DH=m +CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y diff --git a/patches/packaging/0001-packaging-sync-builddeb-changes.patch b/patches/packaging/0001-packaging-sync-builddeb-changes.patch index 540c89bff7702d71bea28265b11c900b7995e50f..bdd65fbad408cd5b9e6eff31de29b7abdfa23a40 100644 --- a/patches/packaging/0001-packaging-sync-builddeb-changes.patch +++ b/patches/packaging/0001-packaging-sync-builddeb-changes.patch @@ -1,389 +1,25 @@ -From d2c68671cd66c8f86f59a37f754250ab69fa27ac Mon Sep 17 00:00:00 2001 +From 54450ab7199fe8501c0fa40e8c634104dbedd525 Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> -Date: Sun, 11 Nov 2018 17:38:21 -0600 +Date: Sun, 16 Dec 2018 18:06:04 -0600 Subject: [PATCH] packaging: sync builddeb changes Signed-off-by: Robert Nelson <robertcnelson@gmail.com> --- - scripts/package/Makefile | 34 ++++-- - scripts/package/builddeb | 255 ++++++++++++++++++++++++++++++++++++++- - 2 files changed, 276 insertions(+), 13 deletions(-) + scripts/package/builddeb | 1 + + 1 file changed, 1 insertion(+) -diff --git a/scripts/package/Makefile b/scripts/package/Makefile -index 73503ebce632..9fbcf5ed0ca7 100644 ---- a/scripts/package/Makefile -+++ b/scripts/package/Makefile -@@ -24,7 +24,6 @@ - # Remove hyphens since they have special meaning in RPM filenames - KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE)) - KDEB_SOURCENAME ?= linux-$(KERNELRELEASE) --KBUILD_PKG_ROOTCMD ?="fakeroot -u" - export KDEB_SOURCENAME - # Include only those top-level files that are needed by make, plus the GPL copy - TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion Makefile \ -@@ -67,20 +66,35 @@ binrpm-pkg: FORCE - - clean-files += $(objtree)/*.spec - -+# Deb target -+# --------------------------------------------------------------------------- -+quiet_cmd_builddeb = BUILDDEB -+ cmd_builddeb = set -e; \ -+ test `id -u` = 0 || \ -+ test -n "$(KBUILD_PKG_ROOTCMD)" || { \ -+ which fakeroot >/dev/null 2>&1 && \ -+ KBUILD_PKG_ROOTCMD="fakeroot -u"; \ -+ } || { \ -+ echo; \ -+ echo "builddeb must be run as root (or using fakeroot)."; \ -+ echo "KBUILD_PKG_ROOTCMD is unset and fakeroot not found."; \ -+ echo "Try setting KBUILD_PKG_ROOTCMD to a command to acquire"; \ -+ echo "root privileges (e.g., 'fakeroot -u' or 'sudo')."; \ -+ false; \ -+ } && \ -+ \ -+ $$KBUILD_PKG_ROOTCMD $(CONFIG_SHELL) \ -+ $(srctree)/scripts/package/builddeb $@ -+ - deb-pkg: FORCE - $(MAKE) clean -- $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian - $(call cmd,src_tar,$(KDEB_SOURCENAME)) -- origversion=$$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$$//');\ -- mv $(KDEB_SOURCENAME).tar.gz ../$(KDEB_SOURCENAME)_$${origversion}.orig.tar.gz -- +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -i.git -us -uc -+ $(MAKE) KBUILD_SRC= -+ +$(call cmd,builddeb) - - bindeb-pkg: FORCE -- $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian -- +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -b -nc -uc -- --intdeb-pkg: FORCE -- +$(CONFIG_SHELL) $(srctree)/scripts/package/builddeb -+ $(MAKE) KBUILD_SRC= -+ +$(call cmd,builddeb) - - clean-dirs += $(objtree)/debian/ - diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index f43a274f4f1d..f4dcc319506d 100755 +index f43a274f4f1d..b274b7994ac7 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb -@@ -30,19 +30,80 @@ create_package() { - chmod -R a+rX "$pdir" - - # Create the package -- dpkg-gencontrol -p$pname -P"$pdir" -+ dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" - dpkg --build "$pdir" .. - } - -+set_debarch() { -+ # Attempt to find the correct Debian architecture -+ case "$UTS_MACHINE" in -+ i386|ia64|alpha) -+ debarch="$UTS_MACHINE" ;; -+ x86_64) -+ debarch=amd64 ;; -+ sparc*) -+ debarch=sparc ;; -+ s390*) -+ debarch=s390$(grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;; -+ ppc*) -+ debarch=$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo ppc64el || echo powerpc) ;; -+ parisc*) -+ debarch=hppa ;; -+ mips*) -+ debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;; -+ aarch64|arm64) -+ debarch=arm64 ;; -+ arm*) -+ if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then -+ if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then -+ debarch=armhf -+ else -+ debarch=armel -+ fi -+ else -+ debarch=arm -+ fi -+ ;; -+ *) -+ debarch=$(dpkg --print-architecture) -+ 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 using your current userspace instead!" >&2 -+ echo "Please add support for $UTS_MACHINE to ${0} ..." >&2 -+ echo "" >&2 -+ esac -+ if [ -n "$KBUILD_DEBARCH" ] ; then -+ debarch="$KBUILD_DEBARCH" -+ fi -+ forcearch="-DArchitecture=$debarch" -+ -+} -+ -+# Some variables and settings used throughout the script - version=$KERNELRELEASE -+revision=$(cat .version) -+if [ -n "$KDEB_PKGVERSION" ]; then -+ packageversion=$KDEB_PKGVERSION -+else -+ packageversion=$version-$revision -+fi -+sourcename=$KDEB_SOURCENAME - tmpdir="$objtree/debian/tmp" -+fwdir="$objtree/debian/fwtmp" - kernel_headers_dir="$objtree/debian/hdrtmp" - libc_headers_dir="$objtree/debian/headertmp" - 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 - dbg_packagename=$packagename-dbg -+debarch= -+forcearch= -+set_debarch - - if [ "$ARCH" = "um" ] ; then - packagename=user-mode-linux-$version -@@ -65,9 +126,10 @@ 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" "$fwdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files - mkdir -m 755 -p "$tmpdir/DEBIAN" - mkdir -p "$tmpdir/lib" "$tmpdir/boot" -+mkdir -p "$fwdir/lib/firmware/$version/" - mkdir -p "$kernel_headers_dir/lib/modules/$version/" - - # Build and install the kernel -@@ -84,9 +146,18 @@ fi - cp "$($MAKE -s -f $srctree/Makefile image_name)" "$tmpdir/$installed_image_path" - - if grep -q "^CONFIG_OF_EARLY_FLATTREE=y" $KCONFIG_CONFIG ; then -+ mkdir -p "$tmpdir/boot/dtbs/$version" +@@ -87,6 +87,7 @@ if grep -q "^CONFIG_OF_EARLY_FLATTREE=y" $KCONFIG_CONFIG ; then # Only some architectures with OF support have this target if [ -d "${srctree}/arch/$SRCARCH/boot/dts" ]; then -- $MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install + $MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install + $MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/boot/dtbs/$version" dtbs_install -+ else -+ $MAKE KBUILD_SRC= dtbs -+ find arch/arm/boot/ -iname "*.dtb" -exec cp -v '{}' "$tmpdir/boot/dtbs/$version" \; -+ fi -+ -+ #make dtbs_install seems to add an .old directory -+ if [ -d "$tmpdir/boot/dtbs/$version.old" ] ; then -+ rm -rf "$tmpdir/boot/dtbs/$version.old" fi fi -@@ -153,6 +224,107 @@ EOF - chmod 755 "$tmpdir/DEBIAN/$script" - done - -+# Try to determine maintainer and email values -+if [ -n "$DEBEMAIL" ]; then -+ email=$DEBEMAIL -+elif [ -n "$EMAIL" ]; then -+ email=$EMAIL -+else -+ email=$(id -nu)@$(hostname -f 2>/dev/null || hostname) -+fi -+if [ -n "$DEBFULLNAME" ]; then -+ name=$DEBFULLNAME -+elif [ -n "$NAME" ]; then -+ name=$NAME -+else -+ name="Anonymous" -+fi -+maintainer="$name <$email>" -+ -+# 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 -+ -+# Generate a simple changelog template -+cat <<EOF > debian/changelog -+$sourcename ($packageversion) $distribution; urgency=low -+ -+ * Custom built Linux kernel. -+ -+ -- $maintainer $(date -R) -+EOF -+ -+# Generate copyright file -+cat <<EOF > debian/copyright -+This is a packacked upstream 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 - 2017 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 -+ -+ -+build_depends="bc, kmod, cpio " -+ -+# Generate a control file -+cat <<EOF > debian/control -+Source: $sourcename -+Section: kernel -+Priority: optional -+Maintainer: $maintainer -+Build-Depends: $build_depends -+Homepage: http://www.kernel.org/ -+EOF -+ -+if [ "$ARCH" = "um" ]; then -+ cat <<EOF >> debian/control -+ -+Package: $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 -+ interface. It provides a kind of virtual machine, which runs Linux -+ as a user process under another Linux kernel. This is useful for -+ kernel development, sandboxes, jails, experimentation, and -+ many other things. -+ . -+ This package contains the Linux kernel, modules and corresponding other -+ files, version: $version. -+EOF -+ -+else -+ cat <<EOF >> debian/control -+ -+Package: $packagename -+Suggests: $fwpackagename -+Architecture: any -+Depends: initramfs-tools -+Description: Linux kernel, version $version -+ This package contains the Linux kernel, modules and corresponding other -+ files, version: $version. -+EOF -+ -+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" -@@ -173,6 +345,43 @@ mkdir -p "$destdir" - ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" - rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" - -+cat <<EOF >> debian/control -+ -+Package: $kernel_headers_packagename -+Architecture: any -+Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} -+ This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} -+ . -+ This is useful for people who need to build external modules -+EOF -+ -+# Do we have firmware? Move it out of the way and build it into a package. -+if [ -e "$tmpdir/lib/firmware" ]; then -+ mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/" -+ rmdir "$tmpdir/lib/firmware" -+ -+ cat <<EOF >> debian/control -+ -+Package: $fwpackagename -+Architecture: all -+Description: Linux kernel firmware, version $version -+ This package contains firmware from the Linux kernel, version $version. -+EOF -+ -+ create_package "$fwpackagename" "$fwdir" -+fi -+ -+cat <<EOF >> debian/control -+ -+Package: $libc_headers_packagename -+Section: devel -+Provides: linux-kernel-headers -+Architecture: any -+Description: 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. -+EOF -+ - if [ "$ARCH" != "um" ]; then - create_package "$kernel_headers_packagename" "$kernel_headers_dir" - create_package "$libc_headers_packagename" "$libc_headers_dir" -@@ -191,7 +400,47 @@ if [ -n "$BUILD_DEBUG" ] ; then - 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 -+ -+ cat <<EOF >> debian/control -+ -+Package: $dbg_packagename -+Section: debug -+Architecture: any -+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 -+ - create_package "$dbg_packagename" "$dbg_dir" - fi - -+if [ "x$1" = "xdeb-pkg" ] -+then -+ cat <<EOF > debian/rules -+#!/usr/bin/make -f -+ -+build: -+ \$(MAKE) -+ -+binary-arch: -+ \$(MAKE) KDEB_SOURCENAME=${sourcename} KDEB_PKGVERSION=${packageversion} bindeb-pkg -+ -+clean: -+ rm -rf debian/*tmp debian/files -+ mv debian/ debian.backup # debian/ might be cleaned away -+ \$(MAKE) clean -+ mv debian.backup debian -+ -+binary: binary-arch -+EOF -+ mv ${sourcename}.tar.gz ../${sourcename}_${version}.orig.tar.gz -+ tar caf ../${sourcename}_${packageversion}.debian.tar.gz debian/{copyright,rules,changelog,control} -+ dpkg-source -cdebian/control -ldebian/changelog --format="3.0 (custom)" --target-format="3.0 (quilt)" \ -+ -b / ../${sourcename}_${version}.orig.tar.gz ../${sourcename}_${packageversion}.debian.tar.gz -+ mv ${sourcename}_${packageversion}*dsc .. -+ dpkg-genchanges -Vkernel:debarch="${debarch}" > ../${sourcename}_${packageversion}_${debarch}.changes -+else -+ dpkg-genchanges -b -Vkernel:debarch="${debarch}" > ../${sourcename}_${packageversion}_${debarch}.changes -+fi -+ - exit 0 -- -2.19.1 +2.19.2 diff --git a/patches/ref_omap2plus_defconfig b/patches/ref_omap2plus_defconfig index f7e217852f95ab6f2d5fb1d76aa839c2a82b2549..8bf7ec39be85e1e9eafafef03044e47decaef03b 100644 --- a/patches/ref_omap2plus_defconfig +++ b/patches/ref_omap2plus_defconfig @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.20.0-rc6 Kernel Configuration +# Linux/arm 4.20.0-rc7 Kernel Configuration # # diff --git a/tools/host_det.sh b/tools/host_det.sh index bb99289d1c037f1b6c2d4dc6eb624425263f8f22..9f82bbb7d204abb1e82d3696d1ad43f46c681558 100755 --- a/tools/host_det.sh +++ b/tools/host_det.sh @@ -156,6 +156,9 @@ debian_regs () { #GCC_PLUGINS pkg="libmpc-dev" check_dpkg + #"mkimage" command not found - U-Boot images will not be built + pkg="u-boot-tools" + check_dpkg unset warn_dpkg_ia32 unset stop_pkg_search diff --git a/tools/rebuild_deb.sh b/tools/rebuild_deb.sh index 3101214a5f36ab4c5640bd463654daca8c2227a6..1112974e904fdb2b8a231753807679b1fc280713 100755 --- a/tools/rebuild_deb.sh +++ b/tools/rebuild_deb.sh @@ -84,13 +84,11 @@ make_deb () { echo "-----------------------------" echo "make ${build_opts} CROSS_COMPILE="${CC}" bindeb-pkg" echo "-----------------------------" - fakeroot make ${build_opts} CROSS_COMPILE="${CC}" bindeb-pkg + make ${build_opts} CROSS_COMPILE="${CC}" bindeb-pkg - mv "${DIR}"/*.deb "${DIR}/deploy/" || true - mv "${DIR}"/*.debian.tar.gz "${DIR}/deploy/" || true - mv "${DIR}"/*.dsc "${DIR}/deploy/" || true + mv "${DIR}"/*.buildinfo "${DIR}/deploy/" || true mv "${DIR}"/*.changes "${DIR}/deploy/" || true - mv "${DIR}"/*.orig.tar.gz "${DIR}/deploy/" || true + mv "${DIR}"/*.deb "${DIR}/deploy/" || true KERNEL_UTS=$(cat "${DIR}/KERNEL/include/generated/utsrelease.h" | awk '{print $3}' | sed 's/\"//g' ) diff --git a/version.sh b/version.sh index c38b98a01e6c56d8b9db112c4f1da5bac46d5965..355c9b48e659061871dc4c037ec9864bdbbb0d1d 100644 --- a/version.sh +++ b/version.sh @@ -28,10 +28,11 @@ toolchain="gcc_arm_gnueabihf_8" #toolchain="gcc_linaro_aarch64_gnu_5" #toolchain="gcc_linaro_aarch64_gnu_6" #toolchain="gcc_linaro_aarch64_gnu_7" +#toolchain="gcc_arm_aarch64_gnu_8" #Kernel KERNEL_REL=4.20 -KERNEL_TAG=${KERNEL_REL}-rc6 +KERNEL_TAG=${KERNEL_REL}-rc7 kernel_rt=".X-rtY" #Kernel Build BUILD=${build_prefix}0