* kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n

Since commit 269a535ca931 ("modpost: generate vmlinux.symvers and
reuse it for the second modpost"), with CONFIG_MODULES disabled,
"make deb-pkg" (or "make bindeb-pkg") fails with:

find: ‘Module.symvers’: No such file or directory

If CONFIG_MODULES is disabled, it doesn't really make sense to build
the linux-headers package.

Author: Masahiro Yamada <masahiroy@kernel.org>
Date:   Wed Oct 14 03:38:19 2020 +0900
Upstream commit bac977cbc0d6731fb8e67c2be0e4acbd959e10b3

Fixes: 269a535ca931 ("modpost: generate vmlinux.symvers and reuse it for the second modpost")
Reported-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* mkdebian: fix: build a package for version 5.13

upstream commit 82526ef43399a7556b860538041802042b3872c1
Author: Masahiro Yamada <masahiroy@kernel.org>
Date:   Tue Apr 20 02:05:05 2021 +0900

    kbuild: deb-pkg: change the source package name to linux-upstream

    Change the source package name from 'linux-$(KERNELRELEASE)' to
    'linux-upstream'.

    Initially, I tried to use 'linux' to be aligned with the Debian
    kernel package, but Ben suggested 'linux-upstream' so that it is
    clearly distinguished from distribution packages. [1]

    The filenames will be changed as follows:

    [Before]
      linux-5.12.0-rc3+_5.12.0-rc3+-1.dsc
      linux-5.12.0-rc3+_5.12.0-rc3+.orig.tar.gz
      linux-5.12.0-rc3+_5.12.0-rc3+-1.diff.gz

    [After]
      linux-upstream_5.12.0-rc3+-1.dsc
      linux-upstream_5.12.0-rc3+.orig.tar.gz
      linux-upstream_5.12.0-rc3+-1.diff.gz

    Commit 3716001bcb7f ("deb-pkg: add source package") introduced
    KDEB_SOURCENAME. If you are unhappy with the default name, you can
    override it via KDEB_SOURCENAME.

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* Search by template when updating initramfs

Search by pattern first, then use in the command.
If unsuccessful then exit by mistake.

Fix:
depmod: WARNING:
could not open modules.order at /var/tmp/mkinitramfs_bp3vP5/lib/modules/5.13.0-sunxi64:
 No such file or directory
could not open modules.builtin at /var/tmp/mkinitramfs_bp3vP5/lib/modules/5.13.0-sunxi64:
 No such file or directory
When a valid directory lib/modules/5.13.0-rc6-sunxi64
Or when the user added a localversion to the configuration file
and valid directory lib/modules/5.13.0-rt7-sunxi64

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>

* Code Cleanup: kernel build: Removing EXTRAVERSION Cleanup

This was intended for the EDGE kernel and is no longer required.
Moreover, this code is not working.

Signed-off-by: The-going <48602507+The-going@users.noreply.github.com>
This commit is contained in:
The-going 2021-06-29 21:18:52 +03:00 committed by GitHub
parent 784f6cf3b8
commit 92b8320edd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 16 deletions

View File

@ -381,9 +381,6 @@ compile_kernel()
fi
cd "${kerneldir}" || exit
if ! grep -qoE '^-rc[[:digit:]]+' <(grep "^EXTRAVERSION" Makefile | head -1 | awk '{print $(NF)}'); then
sed -i 's/EXTRAVERSION = .*/EXTRAVERSION = /' Makefile
fi
rm -f localversion
# read kernel version

View File

@ -668,7 +668,14 @@ prepare_partitions()
update_initramfs()
{
local chroot_target=$1
update_initramfs_cmd="update-initramfs -uv -k ${VER}-${LINUXFAMILY}"
local target_dir=$(
find ${chroot_target}/lib/modules/ -maxdepth 1 -type d -name "*${VER}*"
)
if [ "$target_dir" != "" ]; then
update_initramfs_cmd="update-initramfs -uv -k $(basename $target_dir)"
else
exit_with_error "No kernel installed for the version" "${VER}"
fi
display_alert "Updating initramfs..." "$update_initramfs_cmd" ""
cp /usr/bin/$QEMU_BINARY $chroot_target/usr/bin/
mount_chroot "$chroot_target/"

View File

@ -334,8 +334,10 @@ if [ "$ARCH" != "um" ]; then
deploy_libc_headers $libc_headers_dir
create_package $libc_headers_packagename $libc_headers_dir
deploy_kernel_headers $kernel_headers_dir
create_package $kernel_headers_packagename $kernel_headers_dir "headers"
if is_enabled CONFIG_MODULES; then
deploy_kernel_headers $kernel_headers_dir
create_package $kernel_headers_packagename $kernel_headers_dir "headers"
fi
create_package "$dtb_packagename" "$dtb_dir" "dtb"
fi

View File

@ -85,6 +85,7 @@ set_debarch() {
}
# Some variables and settings used throughout the script
KDEB_SOURCENAME=linux-$KERNELRELEASE
version=$KERNELRELEASE
if [ -n "$KDEB_PKGVERSION" ]; then
packageversion=$KDEB_PKGVERSION
@ -187,16 +188,6 @@ Description: Linux kernel, armbian version $version $BRANCH
This package contains the Linux kernel, modules and corresponding other
files, version: $version.
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
Package: $libc_headers_packagename
Section: devel
Provides: linux-kernel-headers
@ -215,6 +206,21 @@ 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 <<EOF >> 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 <<EOF >> debian/control
Package: $dbg_packagename