commit:     69a5fc41a89f8efd0bba4479af02fe460826868e
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 27 00:04:15 2024 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Wed Mar 27 00:07:09 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69a5fc41

sys-kernel/linux-headers: add fix for sparc

Closes: https://bugs.gentoo.org/918992
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 ...sparc-move-struct-termio-to-asm-termios.h.patch | 64 ++++++++++++++++++++++
 ...ders-6.6.ebuild => linux-headers-6.6-r1.ebuild} |  6 +-
 ...ders-6.7.ebuild => linux-headers-6.7-r1.ebuild} |  6 +-
 ...ders-6.8.ebuild => linux-headers-6.8-r1.ebuild} |  6 +-
 4 files changed, 76 insertions(+), 6 deletions(-)

diff --git 
a/sys-kernel/linux-headers/files/linux-headers-sparc-move-struct-termio-to-asm-termios.h.patch
 
b/sys-kernel/linux-headers/files/linux-headers-sparc-move-struct-termio-to-asm-termios.h.patch
new file mode 100644
index 000000000000..7e8a7353bc6a
--- /dev/null
+++ 
b/sys-kernel/linux-headers/files/linux-headers-sparc-move-struct-termio-to-asm-termios.h.patch
@@ -0,0 +1,64 @@
+https://bugs.gentoo.org/918992
+https://lkml.org/lkml/2024/3/6/1112
+
+From 91577201977e109b2bda95077cb5db30864ab96e Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <flop...@gentoo.org>
+Date: Tue, 5 Mar 2024 23:19:37 -0500
+Subject: [PATCH] sparc: move struct termio to asm/termios.h
+
+Every other arch declares struct termio in asm/termios.h, so make sparc
+match them.
+
+Resolves a build failure in the PPP software package, which includes
+both bits/ioctl-types.h via sys/ioctl.h (glibc) and asm/termbits.h.
+
+Closes: https://bugs.gentoo.org/918992
+Signed-off-by: Mike Gilbert <flop...@gentoo.org>
+---
+ arch/sparc/include/uapi/asm/termbits.h | 10 ----------
+ arch/sparc/include/uapi/asm/termios.h  |  9 +++++++++
+ 2 files changed, 9 insertions(+), 10 deletions(-)
+
+diff --git a/arch/sparc/include/uapi/asm/termbits.h 
b/arch/sparc/include/uapi/asm/termbits.h
+index 4321322701fc..0da2b1adc0f5 100644
+--- a/arch/sparc/include/uapi/asm/termbits.h
++++ b/arch/sparc/include/uapi/asm/termbits.h
+@@ -10,16 +10,6 @@ typedef unsigned int        tcflag_t;
+ typedef unsigned long tcflag_t;
+ #endif
+ 
+-#define NCC 8
+-struct termio {
+-      unsigned short c_iflag;         /* input mode flags */
+-      unsigned short c_oflag;         /* output mode flags */
+-      unsigned short c_cflag;         /* control mode flags */
+-      unsigned short c_lflag;         /* local mode flags */
+-      unsigned char c_line;           /* line discipline */
+-      unsigned char c_cc[NCC];        /* control characters */
+-};
+-
+ #define NCCS 17
+ struct termios {
+       tcflag_t c_iflag;               /* input mode flags */
+diff --git a/arch/sparc/include/uapi/asm/termios.h 
b/arch/sparc/include/uapi/asm/termios.h
+index ee86f4093d83..cceb32260881 100644
+--- a/arch/sparc/include/uapi/asm/termios.h
++++ b/arch/sparc/include/uapi/asm/termios.h
+@@ -40,5 +40,14 @@ struct winsize {
+       unsigned short ws_ypixel;
+ };
+ 
++#define NCC 8
++struct termio {
++      unsigned short c_iflag;         /* input mode flags */
++      unsigned short c_oflag;         /* output mode flags */
++      unsigned short c_cflag;         /* control mode flags */
++      unsigned short c_lflag;         /* local mode flags */
++      unsigned char c_line;           /* line discipline */
++      unsigned char c_cc[NCC];        /* control characters */
++};
+ 
+ #endif /* _UAPI_SPARC_TERMIOS_H */
+-- 
+2.44.0
+

diff --git a/sys-kernel/linux-headers/linux-headers-6.6.ebuild 
b/sys-kernel/linux-headers/linux-headers-6.6-r1.ebuild
similarity index 88%
rename from sys-kernel/linux-headers/linux-headers-6.6.ebuild
rename to sys-kernel/linux-headers/linux-headers-6.6-r1.ebuild
index 17d8fd815b5c..1b82b2d037f1 100644
--- a/sys-kernel/linux-headers/linux-headers-6.6.ebuild
+++ b/sys-kernel/linux-headers/linux-headers-6.6-r1.ebuild
@@ -24,14 +24,16 @@ BDEPEND="
        dev-lang/perl
 "
 
-[[ -n ${PATCH_VER} ]] && PATCHES=( "${WORKDIR}"/${PATCH_PV} )
-
 src_unpack() {
        # Avoid kernel-2_src_unpack
        default
 }
 
 src_prepare() {
+       local PATCHES=()
+       [[ -n ${PATCH_VER} ]] && PATCHES+=( "${WORKDIR}"/${PATCH_PV} )
+       PATCHES+=( 
"${FILESDIR}"/${PN}-sparc-move-struct-termio-to-asm-termios.h.patch )
+
        # TODO: May need forward porting to newer versions
        use elibc_musl && PATCHES+=(
                "${FILESDIR}"/${PN}-5.15-remove-inclusion-sysinfo.h.patch

diff --git a/sys-kernel/linux-headers/linux-headers-6.7.ebuild 
b/sys-kernel/linux-headers/linux-headers-6.7-r1.ebuild
similarity index 88%
rename from sys-kernel/linux-headers/linux-headers-6.7.ebuild
rename to sys-kernel/linux-headers/linux-headers-6.7-r1.ebuild
index e16c15ac5901..fe49fd6ed12e 100644
--- a/sys-kernel/linux-headers/linux-headers-6.7.ebuild
+++ b/sys-kernel/linux-headers/linux-headers-6.7-r1.ebuild
@@ -24,14 +24,16 @@ BDEPEND="
        dev-lang/perl
 "
 
-[[ -n ${PATCH_VER} ]] && PATCHES=( "${WORKDIR}"/${PATCH_PV} )
-
 src_unpack() {
        # Avoid kernel-2_src_unpack
        default
 }
 
 src_prepare() {
+       local PATCHES=()
+       [[ -n ${PATCH_VER} ]] && PATCHES+=( "${WORKDIR}"/${PATCH_PV} )
+       PATCHES+=( 
"${FILESDIR}"/${PN}-sparc-move-struct-termio-to-asm-termios.h.patch )
+
        # TODO: May need forward porting to newer versions
        use elibc_musl && PATCHES+=(
                "${FILESDIR}"/${PN}-5.15-remove-inclusion-sysinfo.h.patch

diff --git a/sys-kernel/linux-headers/linux-headers-6.8.ebuild 
b/sys-kernel/linux-headers/linux-headers-6.8-r1.ebuild
similarity index 88%
rename from sys-kernel/linux-headers/linux-headers-6.8.ebuild
rename to sys-kernel/linux-headers/linux-headers-6.8-r1.ebuild
index 09d006337834..1320f29017ab 100644
--- a/sys-kernel/linux-headers/linux-headers-6.8.ebuild
+++ b/sys-kernel/linux-headers/linux-headers-6.8-r1.ebuild
@@ -25,14 +25,16 @@ BDEPEND="
        dev-lang/perl
 "
 
-[[ -n ${PATCH_VER} ]] && PATCHES=( "${WORKDIR}"/${PATCH_PV} )
-
 src_unpack() {
        # Avoid kernel-2_src_unpack
        default
 }
 
 src_prepare() {
+       local PATCHES=()
+       [[ -n ${PATCH_VER} ]] && PATCHES+=( "${WORKDIR}"/${PATCH_PV} )
+       PATCHES+=( 
"${FILESDIR}"/${PN}-sparc-move-struct-termio-to-asm-termios.h.patch )
+
        # TODO: May need forward porting to newer versions
        use elibc_musl && PATCHES+=(
                "${FILESDIR}"/${PN}-5.15-remove-inclusion-sysinfo.h.patch

Reply via email to