summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2019-03-24 15:43:33 -0400
committerJoshua Kinard <kumba@gentoo.org>2019-03-24 15:45:12 -0400
commit14577373ea94b996b856cad1c7f837fb79032d2f (patch)
treed220d5337c20e8d53d9400129f5e57ab62c07406
parentsys-power/upower: stable 0.99.9-r1 for ia64, bug #681620 (diff)
downloadgentoo-14577373ea94b996b856cad1c7f837fb79032d2f.tar.gz
gentoo-14577373ea94b996b856cad1c7f837fb79032d2f.tar.bz2
gentoo-14577373ea94b996b856cad1c7f837fb79032d2f.zip
sys-apps/util-linux: Build fix on MIPS from upstream
In glibc-2.29, the definitions of 'struct termios' were consolidated across architectures. This causes a build error in util-linux on MIPS due to undefined struct members 'c_ospeed' and 'c_ispeed', which MIPS does not have. The included patch from upstream fixes this, and should be in the next util-linux release. Signed-off-by: Joshua Kinard <kumba@gentoo.org> Package-Manager: Portage-2.3.62, Repoman-2.3.12
-rw-r--r--sys-apps/util-linux/files/util-linux-2.33.1-fix-struct_termios-check.patch30
-rw-r--r--sys-apps/util-linux/util-linux-2.33.1.ebuild7
2 files changed, 37 insertions, 0 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.33.1-fix-struct_termios-check.patch b/sys-apps/util-linux/files/util-linux-2.33.1-fix-struct_termios-check.patch
new file mode 100644
index 000000000000..df52af45049b
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.33.1-fix-struct_termios-check.patch
@@ -0,0 +1,30 @@
+From 963413a1adf6767ab17712097e288e1a346f63a7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 4 Jan 2019 22:38:25 -0800
+Subject: [PATCH] ldattach: Check for value of _HAVE_STRUCT_TERMIOS_C_ISPEED
+
+in glibc 2.29+ checking for just existence of _HAVE_STRUCT_TERMIOS_C_ISPEED
+won't be enough, the value has to be checked
+
+see
+https://sourceware.org/git/?p=glibc.git;a=commit;h=e5a50db36eaa6e8c6427b3a971563240b633ca85
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sys-utils/ldattach.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sys-utils/ldattach.c b/sys-utils/ldattach.c
+index d33d68535..fb50711eb 100644
+--- a/sys-utils/ldattach.c
++++ b/sys-utils/ldattach.c
+@@ -242,7 +242,7 @@ static int my_cfsetspeed(struct termios *ts, int speed)
+ * -- we have to bypass glibc and set the speed manually (because glibc
+ * checks for speed and supports Bxxx bit rates only)...
+ */
+-#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED
++#if _HAVE_STRUCT_TERMIOS_C_ISPEED
+ # define BOTHER 0010000 /* non standard rate */
+ dbg("using non-standard speeds");
+ ts->c_ospeed = ts->c_ispeed = speed;
+
diff --git a/sys-apps/util-linux/util-linux-2.33.1.ebuild b/sys-apps/util-linux/util-linux-2.33.1.ebuild
index a671878bc149..503832c70fa6 100644
--- a/sys-apps/util-linux/util-linux-2.33.1.ebuild
+++ b/sys-apps/util-linux/util-linux-2.33.1.ebuild
@@ -90,6 +90,13 @@ src_prepare() {
configure || die
elibtoolize
+
+ # In glibc-2.29+, a lot of changes were made to arch-specific
+ # handling of `struct termios', which breaks atleast MIPS.
+ # The below patch from upstream fixes this, and should be
+ # in the next release.
+ # See: https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/commit/?id=963413a1adf6767ab17712097e288e1a346f63a7
+ epatch "${FILESDIR}/${P}-fix-struct_termios-check.patch"
}
lfs_fallocate_test() {