Use meta-packages for debian kernels
This commit is contained in:
parent
f67f7d4ddd
commit
81a9574e70
15
.github/workflows/debian.yml
vendored
15
.github/workflows/debian.yml
vendored
|
@ -8,7 +8,7 @@ name: Debian
|
|||
env:
|
||||
GPG_KEY_ID: 56C464BAAC421453
|
||||
KERNEL_VERSION: 5.7.7
|
||||
KDEB_PKGVERSION: 5.7.7-1
|
||||
KERNEL_REVISION: 1
|
||||
LOCALVERSION: -surface
|
||||
MAINLINE_REPO: git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
|
||||
MAINLINE_BRANCH: cod/mainline
|
||||
|
@ -71,6 +71,9 @@ jobs:
|
|||
../ubuntu.config \
|
||||
../../../../configs/surface-${KERNEL_VERSION%.*}.config
|
||||
|
||||
# set revision
|
||||
echo "$KERNEL_REVISION" > .version
|
||||
|
||||
- name: Setup secureboot certificate
|
||||
env:
|
||||
SB_KEY: ${{ secrets.SURFACE_SB_KEY }}
|
||||
|
@ -83,15 +86,23 @@ jobs:
|
|||
echo "$SB_KEY" | base64 -d > debian/kernel/linux/keys/MOK.key
|
||||
cp keys/surface.crt debian/kernel/linux/keys/MOK.crt
|
||||
|
||||
- name: Build
|
||||
- name: Build kernel
|
||||
run: |
|
||||
cd pkg/debian/kernel/linux
|
||||
make bindeb-pkg -j2
|
||||
|
||||
- name: Build meta-package
|
||||
run: |
|
||||
cd pkg/debian/meta
|
||||
./mkdebian.sh $(make -C ../kernel/linux -s kernelrelease) ${KERNEL_REVISION}
|
||||
dpkg-buildpkg -b
|
||||
|
||||
- name: Prepare release
|
||||
run: |
|
||||
mkdir release
|
||||
rm pkg/debian/kernel/linux-libc-dev*.deb
|
||||
mv pkg/debian/kernel/*.deb release
|
||||
mv pkg/debian/*.deb release
|
||||
|
||||
- name: Sign packages
|
||||
env:
|
||||
|
|
15
.github/workflows/debian_lts.yml
vendored
15
.github/workflows/debian_lts.yml
vendored
|
@ -8,7 +8,7 @@ name: Debian LTS
|
|||
env:
|
||||
GPG_KEY_ID: 56C464BAAC421453
|
||||
KERNEL_VERSION: 4.19.131
|
||||
KDEB_PKGVERSION: 4.19.131-1
|
||||
KERNEL_REVISION: 1
|
||||
LOCALVERSION: -surface-lts
|
||||
MAINLINE_REPO: git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
|
||||
MAINLINE_BRANCH: cod/mainline
|
||||
|
@ -71,6 +71,9 @@ jobs:
|
|||
../ubuntu.config \
|
||||
../../../../configs/surface-${KERNEL_VERSION%.*}.config
|
||||
|
||||
# set revision
|
||||
echo "$KERNEL_REVISION" > .version
|
||||
|
||||
- name: Setup secureboot certificate
|
||||
env:
|
||||
SB_KEY: ${{ secrets.SURFACE_SB_KEY }}
|
||||
|
@ -83,15 +86,23 @@ jobs:
|
|||
echo "$SB_KEY" | base64 -d > debian/kernel-lts/linux/keys/MOK.key
|
||||
cp keys/surface.crt debian/kernel-lts/linux/keys/MOK.crt
|
||||
|
||||
- name: Build
|
||||
- name: Build kernel
|
||||
run: |
|
||||
cd pkg/debian/kernel-lts/linux
|
||||
make bindeb-pkg -j2
|
||||
|
||||
- name: Build meta-package
|
||||
run: |
|
||||
cd pkg/debian/meta
|
||||
./mkdebian.sh $(make -C ../kernel-lts/linux -s kernelrelease) ${KERNEL_REVISION}
|
||||
dpkg-buildpkg -b
|
||||
|
||||
- name: Prepare release
|
||||
run: |
|
||||
mkdir release
|
||||
rm pkg/debian/kernel-lts/linux-libc-dev*.deb
|
||||
mv pkg/debian/kernel-lts/*.deb release
|
||||
mv pkg/debian/*.deb release
|
||||
|
||||
- name: Sign packages
|
||||
env:
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
From 8b2757ee31252c7a4fe1b3531397f76ce00e9ad6 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sun, 19 Jan 2020 22:50:24 +0100
|
||||
Subject: [PATCH] Version changes for linux-surface debian package
|
||||
|
||||
Rename debian kernel packages so that they do not contain the full version
|
||||
in the name any more as this allows automated updates via a package
|
||||
repository. Instead the package name now only contains the $LOCALVERSION
|
||||
string.
|
||||
|
||||
Also rename libc-dev to allow multiple versions to co-exist in the same
|
||||
repository.
|
||||
|
||||
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
---
|
||||
scripts/package/builddeb | 7 ++++---
|
||||
scripts/package/mkdebian | 13 +++++++++----
|
||||
2 files changed, 13 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
|
||||
index 0b31f4f1f92c..af25b9397c39 100755
|
||||
--- a/scripts/package/builddeb
|
||||
+++ b/scripts/package/builddeb
|
||||
@@ -35,13 +35,14 @@ create_package() {
|
||||
}
|
||||
|
||||
version=$KERNELRELEASE
|
||||
+featureset=$(echo "$version" | sed -E 's/[0-9]+\.[0-9]+\.[0-9]+-(.*)/\1/')
|
||||
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
|
||||
+packagename=linux-image-$featureset
|
||||
+kernel_headers_packagename=linux-headers-$featureset
|
||||
+libc_headers_packagename=linux-libc-dev-$featureset
|
||||
dbg_packagename=$packagename-dbg
|
||||
|
||||
if [ "$ARCH" = "um" ] ; then
|
||||
diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
|
||||
index edcad61fe3cd..34f6bd2447b6 100755
|
||||
--- a/scripts/package/mkdebian
|
||||
+++ b/scripts/package/mkdebian
|
||||
@@ -86,6 +86,8 @@ set_debarch() {
|
||||
|
||||
# Some variables and settings used throughout the script
|
||||
version=$KERNELRELEASE
|
||||
+featureset=$(echo "$version" | sed -E 's/[0-9]+\.[0-9]+\.[0-9]+-(.*)/\1/')
|
||||
+shortversion=$(echo "$version" | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+)-.*/\1/')
|
||||
if [ -n "$KDEB_PKGVERSION" ]; then
|
||||
packageversion=$KDEB_PKGVERSION
|
||||
revision=${packageversion##*-}
|
||||
@@ -94,8 +96,9 @@ else
|
||||
packageversion=$version-$revision
|
||||
fi
|
||||
sourcename=$KDEB_SOURCENAME
|
||||
-packagename=linux-image-$version
|
||||
-kernel_headers_packagename=linux-headers-$version
|
||||
+packagename=linux-image-$featureset
|
||||
+kernel_headers_packagename=linux-headers-$featureset
|
||||
+libc_headers_packagename=linux-libc-dev-$featureset
|
||||
dbg_packagename=$packagename-dbg
|
||||
debarch=
|
||||
set_debarch
|
||||
@@ -186,9 +189,11 @@ Description: Linux kernel headers 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
|
||||
+Provides: linux-kernel-headers, linux-libc-dev (= $shortversion)
|
||||
+Conflicts: linux-libc-dev
|
||||
+Replaces: linux-libc-dev
|
||||
Architecture: $debarch
|
||||
Description: Linux support headers for userspace development
|
||||
This package provides userspaces headers from the Linux kernel. These headers
|
||||
--
|
||||
2.25.0
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
From 0ba6e3fc4c3b40a7a38dc835a5e6cfc143e2afd9 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sun, 3 May 2020 16:55:14 +0200
|
||||
Subject: [PATCH] Version changes for linux-surface debian package
|
||||
|
||||
Rename debian kernel packages so that they do not contain the full version
|
||||
in the name any more as this allows automated updates via a package
|
||||
repository. Instead the package name now only contains the $LOCALVERSION
|
||||
string.
|
||||
|
||||
Also rename libc-dev to allow multiple versions to co-exist in the same
|
||||
repository.
|
||||
|
||||
Further, revert upstream change 9945722afdc3443eab826b2da1122509a13a50a5
|
||||
as the Kconfig files dropped in this commit seem to be required by some
|
||||
out-of-tree driver modules.
|
||||
|
||||
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
---
|
||||
scripts/package/builddeb | 17 ++++++++++-------
|
||||
scripts/package/mkdebian | 13 +++++++++----
|
||||
2 files changed, 19 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
|
||||
index 6df3c9f8b2da..48be1f95a413 100755
|
||||
--- a/scripts/package/builddeb
|
||||
+++ b/scripts/package/builddeb
|
||||
@@ -53,8 +53,8 @@ deploy_kernel_headers () {
|
||||
|
||||
(
|
||||
cd $srctree
|
||||
- find . arch/$SRCARCH -maxdepth 1 -name Makefile\*
|
||||
- find include scripts -type f -o -type l
|
||||
+ find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl
|
||||
+ find arch/*/include include scripts -type f -o -type l
|
||||
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
|
||||
@@ -71,7 +71,7 @@ deploy_kernel_headers () {
|
||||
fi
|
||||
} > debian/hdrobjfiles
|
||||
|
||||
- destdir=$pdir/usr/src/linux-headers-$version
|
||||
+ destdir=$pdir/usr/src/$kernel_headers_packagename
|
||||
mkdir -p $destdir
|
||||
tar -c -f - -C $srctree -T debian/hdrsrcfiles | tar -xf - -C $destdir
|
||||
tar -c -f - -T debian/hdrobjfiles | tar -xf - -C $destdir
|
||||
@@ -81,7 +81,7 @@ deploy_kernel_headers () {
|
||||
cp $KCONFIG_CONFIG $destdir/.config
|
||||
|
||||
mkdir -p $pdir/lib/modules/$version/
|
||||
- ln -s /usr/src/linux-headers-$version $pdir/lib/modules/$version/build
|
||||
+ ln -s /usr/src/$kernel_headers_packagename $pdir/lib/modules/$version/build
|
||||
}
|
||||
|
||||
deploy_libc_headers () {
|
||||
@@ -100,9 +100,12 @@ deploy_libc_headers () {
|
||||
}
|
||||
|
||||
version=$KERNELRELEASE
|
||||
+featureset=$(echo "$version" | sed -E 's/[0-9]+\.[0-9]+\.[0-9]+-(.*)/\1/')
|
||||
tmpdir=debian/linux-image
|
||||
dbg_dir=debian/linux-image-dbg
|
||||
-packagename=linux-image-$version
|
||||
+packagename=linux-image-$featureset
|
||||
+kernel_headers_packagename=linux-headers-$featureset
|
||||
+libc_headers_packagename=linux-libc-dev-$featureset
|
||||
dbg_packagename=$packagename-dbg
|
||||
|
||||
if [ "$ARCH" = "um" ] ; then
|
||||
@@ -203,10 +206,10 @@ done
|
||||
|
||||
if [ "$ARCH" != "um" ]; then
|
||||
deploy_kernel_headers debian/linux-headers
|
||||
- create_package linux-headers-$version debian/linux-headers
|
||||
+ create_package $kernel_headers_packagename debian/linux-headers
|
||||
|
||||
deploy_libc_headers debian/linux-libc-dev
|
||||
- create_package linux-libc-dev debian/linux-libc-dev
|
||||
+ create_package $libc_headers_packagename debian/linux-libc-dev
|
||||
fi
|
||||
|
||||
create_package "$packagename" "$tmpdir"
|
||||
diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
|
||||
index df1adbfb8ead..0a8ed2f98b6a 100755
|
||||
--- a/scripts/package/mkdebian
|
||||
+++ b/scripts/package/mkdebian
|
||||
@@ -86,6 +86,8 @@ set_debarch() {
|
||||
|
||||
# Some variables and settings used throughout the script
|
||||
version=$KERNELRELEASE
|
||||
+featureset=$(echo "$version" | sed -E 's/[0-9]+\.[0-9]+\.[0-9]+-(.*)/\1/')
|
||||
+shortversion=$(echo "$version" | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+)-.*/\1/')
|
||||
if [ -n "$KDEB_PKGVERSION" ]; then
|
||||
packageversion=$KDEB_PKGVERSION
|
||||
revision=${packageversion##*-}
|
||||
@@ -94,8 +96,9 @@ else
|
||||
packageversion=$version-$revision
|
||||
fi
|
||||
sourcename=$KDEB_SOURCENAME
|
||||
-packagename=linux-image-$version
|
||||
-kernel_headers_packagename=linux-headers-$version
|
||||
+packagename=linux-image-$featureset
|
||||
+kernel_headers_packagename=linux-headers-$featureset
|
||||
+libc_headers_packagename=linux-libc-dev-$featureset
|
||||
dbg_packagename=$packagename-dbg
|
||||
debarch=
|
||||
set_debarch
|
||||
@@ -190,9 +193,11 @@ Description: Linux kernel headers 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
|
||||
+Provides: linux-kernel-headers, linux-libc-dev (= $shortversion)
|
||||
+Conflicts: linux-libc-dev
|
||||
+Replaces: linux-libc-dev
|
||||
Architecture: $debarch
|
||||
Description: Linux support headers for userspace development
|
||||
This package provides userspaces headers from the Linux kernel. These headers
|
||||
--
|
||||
2.26.2
|
||||
|
60
pkg/debian/meta/mkdebian.sh
Executable file
60
pkg/debian/meta/mkdebian.sh
Executable file
|
@ -0,0 +1,60 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
kernelrelease="${1}"
|
||||
pkgrevision="${2}"
|
||||
|
||||
distribution="unstable"
|
||||
debarch="amd64"
|
||||
debcompat="10"
|
||||
sourcename="linux-surface"
|
||||
maintainer="surfacebot <surfacebot@users.noreply.github.com>"
|
||||
pkgversion="${kernelrelease}-${pkgrevision}"
|
||||
|
||||
image_pkgname="linux-image-surface"
|
||||
image_pkgname_actual="linux-image-${kernelrelease}"
|
||||
|
||||
headers_pkgname="linux-headers-surface"
|
||||
headers_pkgname_actual="linux-headers-${kernelrelease}"
|
||||
|
||||
|
||||
mkdir -p "debian/source"
|
||||
echo "1.0" > "debian/source/format"
|
||||
echo "${debarch}" > "debian/arch"
|
||||
echo "${debcompat}" > "debian/compat"
|
||||
|
||||
cat <<EOF > "debian/changelog"
|
||||
${sourcename} (${pkgversion}) ${distribution}; urgency=medium
|
||||
|
||||
* Linux kernel for Microsoft Surface devices.
|
||||
|
||||
-- $maintainer $(date -R)
|
||||
EOF
|
||||
|
||||
cat <<EOF > "debian/control"
|
||||
Source: ${sourcename}
|
||||
Section: kernel
|
||||
Priority: optional
|
||||
Maintainer: ${maintainer}
|
||||
Homepage: https://github.com/linux-surface/linux-surface
|
||||
|
||||
Package: ${image_pkgname}
|
||||
Architecture: ${debarch}
|
||||
Depends: ${image_pkgname_actual} (= ${pkgversion})
|
||||
Description:
|
||||
Meta-package for linux-surface kernel images.
|
||||
|
||||
Package: ${headers_pkgname}
|
||||
Architecture: ${debarch}
|
||||
Depends: ${headers_pkgname_actual} (= ${pkgversion})
|
||||
Description:
|
||||
Meta-package for linux-surface headers.
|
||||
EOF
|
||||
|
||||
cat <<EOF > "debian/rules"
|
||||
#!/usr/bin/make -f
|
||||
export DH_VERBOSE = 1
|
||||
|
||||
%:
|
||||
dh \$@
|
||||
EOF
|
||||
chmod +x "debian/rules"
|
Loading…
Reference in a new issue