From 14577373ea94b996b856cad1c7f837fb79032d2f Mon Sep 17 00:00:00 2001 From: Joshua Kinard Date: Sun, 24 Mar 2019 15:43:33 -0400 Subject: [PATCH] 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 Package-Manager: Portage-2.3.62, Repoman-2.3.12 --- ...inux-2.33.1-fix-struct_termios-check.patch | 30 +++++++++++++++++++ sys-apps/util-linux/util-linux-2.33.1.ebuild | 7 +++++ 2 files changed, 37 insertions(+) create mode 100644 sys-apps/util-linux/files/util-linux-2.33.1-fix-struct_termios-check.patch 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 +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 +--- + 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() { -- 2.26.2