Github messages for voidlinux
 help / color / mirror / Atom feed
From: classabbyamp <classabbyamp@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] make linux-headers a virtual package
Date: Tue, 17 Oct 2023 10:37:11 +0200	[thread overview]
Message-ID: <20231017083711.n3d0PWtF4jnOl9oSDFBxmDj_NQehw8KWtFCeYfvCiOw@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43519@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 2025 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages headers-virtual
https://github.com/void-linux/void-packages/pull/43519

make linux-headers a virtual package
this will allow device-specific kernels to provide linux-headers for packages that need it (like dkms) without needing hacks like `ignorepkg=`

fixes #43517

- etc/defaults.virtual: create vpkg linux-headers

generic kernels:
- linux4.14: -headers subpkg provides linux-headers
- linux4.19: -headers subpkg provides linux-headers
- linux5.4: -headers subpkg provides linux-headers
- linux5.10: -headers subpkg provides linux-headers
- linux5.15: -headers subpkg provides linux-headers
- linux6.1: -headers subpkg provides linux-headers
- linux6.2: -headers subpkg provides linux-headers

I did not add `linux`, `linux-lts`, and `linux-mainline` headers subpkgs as providers because then you'd have two providers installed (the metapackage and the package it points to), which I think makes sense.

device kernels:
- beaglebone-kernel: -headers subpkg provides linux-headers
- ci20-kernel: -headers subpkg provides linux-headers
- odroid-u2-kernel: -headers subpkg provides linux-headers
- pinebookpro-kernel: -headers subpkg provides linux-headers
- pinephone-kernel: -headers subpkg provides linux-headers
- rpi-kernel: -headers subpkg provides linux-headers
- sun7i-kernel: -headers subpkg provides linux-headers

packages that require linux-headers:
- bcc: depend on linux-headers vpkg
- dkms: depend on linux-headers vpkg
- lksctp-tools: depend on linux-headers vpkg

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

packages build with the vpkg in the proper metadata spot, but I haven't tried this otherwise, and I have no clue if updating to this will work

[ci skip]


A patch file from https://github.com/void-linux/void-packages/pull/43519.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-headers-virtual-43519.patch --]
[-- Type: text/x-diff, Size: 14942 bytes --]

From c4dec6f60fb058922d7e08b655080e8460d0e227 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:07:32 -0400
Subject: [PATCH 01/16] etc/defaults.virtual: create vpkg linux-headers

this will allow device-specific kernels to provide linux-headers for
packages that need it (like dkms) without needing hacks like `ignorepkg=`
---
 etc/defaults.virtual | 1 +
 1 file changed, 1 insertion(+)

diff --git a/etc/defaults.virtual b/etc/defaults.virtual
index 9af8895a8492ca..812eb55b27992d 100644
--- a/etc/defaults.virtual
+++ b/etc/defaults.virtual
@@ -38,3 +38,4 @@ xserver-abi-video xorg-server
 libGL libglvnd
 libEGL libglvnd
 libGLES libglvnd
+linux-headers linux-headers

From 40a2b594ac43c7f941e7f948074a3e7f8f4ec22a Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:51:15 -0400
Subject: [PATCH 02/16] linux4.14: -headers subpkg provides linux-headers

---
 srcpkgs/linux4.14/template | 1 +
 1 file changed, 1 insertion(+)

diff --git a/srcpkgs/linux4.14/template b/srcpkgs/linux4.14/template
index 7d74947b0b9561..c0e260e9cde6fb 100644
--- a/srcpkgs/linux4.14/template
+++ b/srcpkgs/linux4.14/template
@@ -304,6 +304,7 @@ linux4.14-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From b0f0d0d5a62c25dce5820c2d58a13ce1243397b7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:51:23 -0400
Subject: [PATCH 03/16] linux4.19: -headers subpkg provides linux-headers

---
 srcpkgs/linux4.19/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/linux4.19/template b/srcpkgs/linux4.19/template
index 1cac0fd3b66ae2..652bb75e0c43b1 100644
--- a/srcpkgs/linux4.19/template
+++ b/srcpkgs/linux4.19/template
@@ -1,7 +1,7 @@
 # Template file for 'linux4.19'
 pkgname=linux4.19
 version=4.19.296
-revision=1
+revision=2
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="GPL-2.0-only"
@@ -318,6 +318,7 @@ linux4.19-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From 5f92ad5ed8fe2db7f03a4cc11c993d257440908a Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:51:28 -0400
Subject: [PATCH 04/16] linux5.4: -headers subpkg provides linux-headers

---
 srcpkgs/linux5.4/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/linux5.4/template b/srcpkgs/linux5.4/template
index 4b5ecd5ffd3c78..3feb70826c9bf5 100644
--- a/srcpkgs/linux5.4/template
+++ b/srcpkgs/linux5.4/template
@@ -1,7 +1,7 @@
 # Template file for 'linux5.4'
 pkgname=linux5.4
 version=5.4.258
-revision=1
+revision=2
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="Helmut Pozimski <helmut@pozimski.eu>"
 license="GPL-2.0-only"
@@ -327,6 +327,7 @@ linux5.4-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From 29bc9a515c575ad7f1c1ba1072e62fc70e6937ea Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:51:32 -0400
Subject: [PATCH 05/16] linux5.10: -headers subpkg provides linux-headers

---
 srcpkgs/linux5.10/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/linux5.10/template b/srcpkgs/linux5.10/template
index 5bd87e647718f7..e6b7739b48a7f6 100644
--- a/srcpkgs/linux5.10/template
+++ b/srcpkgs/linux5.10/template
@@ -1,7 +1,7 @@
 # Template file for 'linux5.10'
 pkgname=linux5.10
 version=5.10.194
-revision=1
+revision=2
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-only"
@@ -326,6 +326,7 @@ linux5.10-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From 59ee1b70f84b837b98beece811a147601f135def Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:51:35 -0400
Subject: [PATCH 06/16] linux5.15: -headers subpkg provides linux-headers

---
 srcpkgs/linux5.15/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/linux5.15/template b/srcpkgs/linux5.15/template
index 5a42d6b387924c..b4282055acfeef 100644
--- a/srcpkgs/linux5.15/template
+++ b/srcpkgs/linux5.15/template
@@ -1,7 +1,7 @@
 # Template file for 'linux5.15'
 pkgname=linux5.15
 version=5.15.131
-revision=1
+revision=2
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="GPL-2.0-only"
@@ -305,6 +305,7 @@ linux5.15-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From f6b05be69457b933657dcde35f74d21dd695fec7 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:51:39 -0400
Subject: [PATCH 07/16] linux6.1: -headers subpkg provides linux-headers

---
 srcpkgs/linux6.1/template | 1 +
 1 file changed, 1 insertion(+)

diff --git a/srcpkgs/linux6.1/template b/srcpkgs/linux6.1/template
index 9dba170e3dcdbf..d56661f4cc8ed0 100644
--- a/srcpkgs/linux6.1/template
+++ b/srcpkgs/linux6.1/template
@@ -309,6 +309,7 @@ linux6.1-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From d0c60cf5bcd8e0acba478a1180ad350b7b141b73 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Wed, 14 Jun 2023 03:36:18 -0400
Subject: [PATCH 08/16] linux6.3: -headers subpkg provides linux-headers

---
 srcpkgs/linux6.3/template | 1 +
 1 file changed, 1 insertion(+)

diff --git a/srcpkgs/linux6.3/template b/srcpkgs/linux6.3/template
index 3208d6bdada376..c788bb77067cfe 100644
--- a/srcpkgs/linux6.3/template
+++ b/srcpkgs/linux6.3/template
@@ -317,6 +317,7 @@ linux6.3-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From 834ef175156ac122a2e10cfb1f8ad4ab7f428288 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 17 Oct 2023 04:35:58 -0400
Subject: [PATCH 09/16] linux6.4: -headers subpkg provides linux-headers

---
 srcpkgs/linux6.4/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/linux6.4/template b/srcpkgs/linux6.4/template
index df5e55590f9628..e02ec6eee969ac 100644
--- a/srcpkgs/linux6.4/template
+++ b/srcpkgs/linux6.4/template
@@ -1,7 +1,7 @@
 # Template file for 'linux6.4'
 pkgname=linux6.4
 version=6.4.16
-revision=1
+revision=2
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="Duncaen <duncaen@voidlinux.org>"
 license="GPL-2.0-only"
@@ -324,6 +324,7 @@ linux6.4-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From b284d021e3201263dd5585be3fce1d71ca36c4b6 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 17 Oct 2023 04:36:00 -0400
Subject: [PATCH 10/16] linux6.5: -headers subpkg provides linux-headers

---
 srcpkgs/linux6.5/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/linux6.5/template b/srcpkgs/linux6.5/template
index 2b022f281895e1..c87f9af36a51cc 100644
--- a/srcpkgs/linux6.5/template
+++ b/srcpkgs/linux6.5/template
@@ -1,7 +1,7 @@
 # Template file for 'linux6.5'
 pkgname=linux6.5
 version=6.5.7
-revision=1
+revision=2
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="Duncaen <duncaen@voidlinux.org>"
 license="GPL-2.0-only"
@@ -318,6 +318,7 @@ linux6.5-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From 5097c1386621b066ec4d01a156972d87f452d10f Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:52:03 -0400
Subject: [PATCH 11/16] pinebookpro-kernel: -headers subpkg provides
 linux-headers

---
 srcpkgs/pinebookpro-kernel/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/pinebookpro-kernel/template b/srcpkgs/pinebookpro-kernel/template
index 929d5b4d81bda0..2f00b1be13c13c 100644
--- a/srcpkgs/pinebookpro-kernel/template
+++ b/srcpkgs/pinebookpro-kernel/template
@@ -1,7 +1,7 @@
 # Template file for 'pinebookpro-kernel'
 pkgname=pinebookpro-kernel
 version=6.1.9
-revision=1
+revision=2
 archs="aarch64*"
 short_desc="Linux kernel for Pinebook Pro"
 maintainer="Cameron Nemo <cam@nohom.org>"
@@ -227,6 +227,7 @@ pinebookpro-kernel-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From 9f946058a8b687db20bd3e600593852e9a3b2c19 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:52:07 -0400
Subject: [PATCH 12/16] pinephone-kernel: -headers subpkg provides
 linux-headers

---
 srcpkgs/pinephone-kernel/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/pinephone-kernel/template b/srcpkgs/pinephone-kernel/template
index fd7028805e286f..7f8054412def6e 100644
--- a/srcpkgs/pinephone-kernel/template
+++ b/srcpkgs/pinephone-kernel/template
@@ -1,7 +1,7 @@
 # Template file for 'pinephone-kernel'
 pkgname=pinephone-kernel
 version=6.1.7
-revision=1
+revision=2
 _tag=orange-pi-6.1-20230118-1327
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="John Sullivan <jsullivan@csumb.edu>"
@@ -248,6 +248,7 @@ pinephone-kernel-headers_package() {
 	preserve=yes
 	nostrip=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc+=" - source headers for 3rd party modules"
 	pkg_install() {
 		vmove usr/src

From 843a78fa654fd80166414b9f92f7941307116eb2 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:52:10 -0400
Subject: [PATCH 13/16] rpi-kernel: -headers subpkg provides linux-headers

---
 srcpkgs/rpi-kernel/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/rpi-kernel/template b/srcpkgs/rpi-kernel/template
index 2fa1bb54b683e4..21cb0a735449f9 100644
--- a/srcpkgs/rpi-kernel/template
+++ b/srcpkgs/rpi-kernel/template
@@ -13,7 +13,7 @@
 # Upstream documentation: https://www.raspberrypi.com/documentation/computers/linux_kernel.html
 pkgname=rpi-kernel
 version=6.1.54
-revision=1
+revision=2
 _githash=fad58933544bb2a7b7db92847c25c79a83171fa6
 archs="armv6l* armv7l* aarch64*"
 hostmakedepends="perl kmod uboot-mkimage openssl-devel bc bison flex xz"
@@ -263,6 +263,7 @@ rpi-kernel-headers_package() {
 	nostrip=yes
 	noverifyrdeps=yes
 	noshlibprovides=yes
+	provides="linux-headers-${version}_1"
 	short_desc="${short_desc/kernel/kernel headers}"
 	pkg_install() {
 		vmove usr/src

From 49d8c47649892f5077ffeaff80a738ac1b113331 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:52:43 -0400
Subject: [PATCH 14/16] bcc: depend on linux-headers vpkg

---
 srcpkgs/bcc/template | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/srcpkgs/bcc/template b/srcpkgs/bcc/template
index ec4037ee556b9c..694b83ce45646d 100644
--- a/srcpkgs/bcc/template
+++ b/srcpkgs/bcc/template
@@ -21,11 +21,7 @@ post_extract() {
 }
 bcc-tools_package() {
 	short_desc+=" - tools"
-	depends="python3-bcc>=${version}_${revision}"
-	case "$XBPS_TARGET_MACHINE" in
-		# only add linux-headers for archs it's currently built for
-		i686*|x86_64*|ppc*|aarch64*) depends+=" linux-headers";;
-	esac
+	depends="python3-bcc>=${version}_${revision} virtual?linux-headers"
 	pkg_install() {
 		vmove usr/share/bcc/man/man8
 		mv ${PKGDESTDIR}/usr/share/bcc/man ${PKGDESTDIR}/usr/share/man

From a3496c8822a43239220a6de0bf7add9e473d3978 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:52:49 -0400
Subject: [PATCH 15/16] dkms: depend on linux-headers vpkg

---
 srcpkgs/dkms/template | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/dkms/template b/srcpkgs/dkms/template
index 4c86485bc01027..51b3748c045b0f 100644
--- a/srcpkgs/dkms/template
+++ b/srcpkgs/dkms/template
@@ -1,9 +1,9 @@
 # Template file for 'dkms'
 pkgname=dkms
 version=3.0.10
-revision=3
+revision=4
 conf_files="/etc/dkms/framework.conf /etc/default/dkms"
-depends="bash kmod gcc bc make coreutils xbps-triggers>=0.123_1"
+depends="bash kmod gcc bc make coreutils xbps-triggers>=0.123_1 virtual?linux-headers"
 short_desc="Dynamic Kernel Module Support"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -14,12 +14,6 @@ checksum=1eba13bf3a2c140c21e9ba31c1db9e9b8eac55658291340b0e50b965565f9ef7
 # https://github.com/void-linux/void-packages/issues/39066
 make_dirs="/var/lib/dkms 0755 root root"
 
-case "$XBPS_TARGET_MACHINE" in
-	# Too many competing kernels for arm* to depend on linux-headers
-	arm*) ;;
-	*) depends+=" linux-headers" ;;
-esac
-
 if [ "$CROSS_BUILD" ]; then
 	depends+=" openssl-devel gmp-devel libada-devel libmpc-devel flex"
 fi

From 0ce704bb3af18ab7c1e2ecacf5ef45e2812de269 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Tue, 18 Apr 2023 19:52:54 -0400
Subject: [PATCH 16/16] lksctp-tools: depend on linux-headers vpkg

---
 srcpkgs/lksctp-tools/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/lksctp-tools/template b/srcpkgs/lksctp-tools/template
index 88bcae794b8df2..887ba2c25f4395 100644
--- a/srcpkgs/lksctp-tools/template
+++ b/srcpkgs/lksctp-tools/template
@@ -1,9 +1,9 @@
 # Template file for 'lksctp-tools'
 pkgname=lksctp-tools
 version=1.0.19
-revision=1
+revision=2
 build_style=gnu-configure
-hostmakedepends="automake libtool linux-headers"
+hostmakedepends="automake libtool virtual?linux-headers"
 short_desc="User-space access to Linux Kernel SCTP"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-only"

  parent reply	other threads:[~2023-10-17  8:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-18 23:58 [PR PATCH] " classabbyamp
2023-06-14  7:36 ` [PR PATCH] [Updated] " classabbyamp
2023-07-18 13:13 ` leahneukirchen
2023-07-19 22:54 ` [PR PATCH] [Updated] " classabbyamp
2023-07-20  4:12 ` classabbyamp
2023-10-17  8:37 ` classabbyamp [this message]
2023-11-29  5:06 ` [PR PATCH] [Updated] " classabbyamp
2024-02-28  1:44 ` github-actions

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231017083711.n3d0PWtF4jnOl9oSDFBxmDj_NQehw8KWtFCeYfvCiOw@z \
    --to=classabbyamp@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).