aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/util-linux/util-linux
diff options
context:
space:
mode:
authorSaul Wold <sgw@linux.intel.com>2012-04-30 11:26:24 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-03 15:00:28 +0100
commit2114d734b9c4ace980ef9fa30dd5b5f76f49b934 (patch)
treee2b7239da2360bb1a69c5552c17e87cf770ff9b2 /meta/recipes-core/util-linux/util-linux
parent6a0dac89932b41502bb55a2dae07d835ca3c6245 (diff)
downloadopenembedded-core-contrib-2114d734b9c4ace980ef9fa30dd5b5f76f49b934.tar.gz
util-linux: Update to 2.21.1
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-core/util-linux/util-linux')
-rw-r--r--meta/recipes-core/util-linux/util-linux/MCONFIG223
-rw-r--r--meta/recipes-core/util-linux/util-linux/defines.h10
-rw-r--r--meta/recipes-core/util-linux/util-linux/fix_NL_TIME_FIRST_WEEKDAY.patch24
-rw-r--r--meta/recipes-core/util-linux/util-linux/make_include17
-rw-r--r--meta/recipes-core/util-linux/util-linux/remove-lscpu.patch40
-rw-r--r--meta/recipes-core/util-linux/util-linux/remove_sigsetmark.patch35
-rw-r--r--meta/recipes-core/util-linux/util-linux/swapargs.h3
-rw-r--r--meta/recipes-core/util-linux/util-linux/uclibc-__progname-conflict.patch31
-rw-r--r--meta/recipes-core/util-linux/util-linux/uclibc-compile.patch15
-rw-r--r--meta/recipes-core/util-linux/util-linux/util-linux-ng-2.16-mount_lock_path.patch27
-rw-r--r--meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch26
11 files changed, 451 insertions, 0 deletions
diff --git a/meta/recipes-core/util-linux/util-linux/MCONFIG b/meta/recipes-core/util-linux/util-linux/MCONFIG
new file mode 100644
index 0000000000..3fea2c02d7
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/MCONFIG
@@ -0,0 +1,223 @@
+# MCONFIG -- Configuration stuff for util-linux
+# Created: Sat Feb 4 15:50:30 1995
+# Copyright 1995 Rickard E. Faith (faith@cs.unc.edu)
+
+# For a user-mode install, make (at least) three changes:
+# - remove the `-o root' part in INSTALLSUID
+# - set USE_TTY_GROUP=no
+# - define DESTDIR
+
+# Select for ARCH one of intel, alpha, sparc, arm, m68k, mips
+# Select for CPU i386 if the binaries must be able to run on an intel 386
+# (by default i486 code is generated, see below)
+CPU=$(shell uname -m)
+ARCH=$(shell echo $(CPU) | sed 's/i.86/intel/;s/arm.*/arm/')
+
+# If HAVE_PAM is set to "yes", then login, chfn, chsh, and newgrp
+# will use PAM for authentication. Additionally, passwd will not be
+# installed as it is not PAM aware.
+HAVE_PAM=no
+
+# If HAVE_SHADOW is set to "yes", then login, chfn, chsh, newgrp, passwd,
+# and vipw will not be built or installed from the login-utils
+# subdirectory.
+HAVE_SHADOW=yes
+
+# If HAVE_PASSWD is set to "yes", then passwd will not be built or
+# installed from the login-utils subdirectory (but login, chfn, chsh,
+# newgrp, and vipw *will* be installed).
+HAVE_PASSWD=no
+
+# If you use chfn and chsh from this package, REQUIRE_PASSWORD will require
+# non-root users to enter the account password before updating /etc/passwd.
+REQUIRE_PASSWORD=yes
+#REQUIRE_PASSWORD=no
+
+# If you use chsh from this package, ONLY_LISTED_SHELLS will require that
+# the selected shell be listed in /etc/shells -- otherwise only a warning is
+# printed. This prevents someone from setting their shell to /bin/false.
+ONLY_LISTED_SHELLS=yes
+#ONLY_LISTED_SHELLS=no
+
+
+# If HAVE_SYSVINIT is set to "yes", then simpleinit and shutdown will not
+# be built or installed from the login-utils subdirectory. (The shutdown
+# and halt that come with the SysVinit package should be used with the init
+# found in that package.)
+HAVE_SYSVINIT=no
+
+# If HAVE_SYSVINIT_UTILS is set to "yes", then last, mesg, and wall will
+# not be built or installed from the login-utils subdirectory. (The
+# shutdown and init from the SysVinit package do not depend on the last,
+# mesg, and wall from that package.)
+HAVE_SYSVINIT_UTILS=no
+
+# If HAVE_WRITE is set to "yes", then write will not be built or
+# installed from the misc-utils subdirectory.
+# (There is a network aware write in netwrite from NetKit 0.16 or later.)
+HAVE_WRITE=no
+
+# If HAVE_GETTY is set to "yes", then agetty will not be built or
+# installed from the login-utils subdirectory. Note that agetty can
+# co-exist with other gettys, so this option should never be used.
+HAVE_GETTY=no
+
+# If USE_TTY_GROUP is set to "yes", then wall and write will be installed
+# setgid to the "tty" group, and mesg will only set the group write bit.
+# Note that this is only useful if login/xterm/etc. change the group of the
+# user's tty to "tty" [The login in util-linux does this correctly, and
+# xterm will do it correctly if X is compiled with USE_TTY_GROUP set
+# properly.]
+USE_TTY_GROUP=no
+
+# If HAVE_KILL is set to "yes", then kill will not be built or
+# installed from the misc-utils subdirectory.
+# (There is also a kill in the procps package.)
+HAVE_KILL=no
+
+# If ALLOW_VCS_USE is set to "yes", then login will chown /dev/vcsN
+# to the current user, allowing her to make a screendump and do other
+# nifty things on the console, but also allowing him to keep an open
+# file descriptor after logging out to trick the next user.
+ALLOW_VCS_USE=yes
+
+# If HAVE_RESET is set to "yes", then reset won't be installed. The version
+# of reset that comes with the ncurses package is less aggressive.
+HAVE_RESET=yes
+
+# If HAVE_SLN is set to "yes", then sln won't be installed
+# (but the man page sln.8 will be installed anyway).
+# sln also comes with libc and glibc.
+HAVE_SLN=no
+
+# If HAVE_FDUTILS is set to "yes", then setfdprm won't be installed.
+HAVE_FDUTILS=no
+
+# If SILENT_PG is set to "yes", then pg will not ring the bell
+# when an invalid key is pressed
+SILENT_PG=no
+
+# If configure decides that Native Language Support (NLS) is available,
+# it sets MAY_ENABLE_NLS in defines.h. If you don't want NLS, set
+# DISABLE_NLS to "yes".
+DISABLE_NLS=no
+
+# Different optimizations for different cpus.
+# gcc 3.0 likes options -mcpu=i486 instead of -m486
+ifeq "$(ARCH)" "intel"
+ ifeq "$(HAVE_OLD_GCC)" "yes"
+ CPUHEAD=-m
+ else
+ CPUHEAD=-mcpu=i
+ endif
+ ifeq "$(CPU)" "i386"
+ CPUTAIL=386
+ else
+ CPUTAIL=486
+ endif
+ CPUOPT= $(CPUHEAD)$(CPUTAIL)
+ OPT= -pipe -O2 $(CPUOPT) -fomit-frame-pointer
+else
+ ifeq "$(ARCH)" "arm"
+ OPT= -pipe -O2 -fsigned-char -fomit-frame-pointer
+ else
+ OPT= -O2 -fomit-frame-pointer
+ endif
+endif
+
+WARNFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes
+
+LIB=../lib
+
+ERR_O=$(LIB)/err.o
+
+# Set HAVE_SLANG to yes if you have slang (and prefer to use that for cfdisk)
+# (If neither HAVE_NCURSES nor HAVE_SLANG is defined, cfdisk is not made.)
+# HAVE_SLANG=yes
+# There is a subdirectory /usr/include/slang containing slcurses.h
+# SLANGFLAGS=-I/usr/include/slang
+# No such subdirectory - slcurses.h lives in /usr/include
+# (no extra definition required).
+LIBSLANG=-lslang
+
+#
+# Paths used for compilation (not all are actually used, see CFLAGS below)
+#
+DEV_DIR= /dev
+ETC_DIR= /etc
+SBIN_DIR= /sbin
+USRSBIN_DIR= /usr/sbin
+USRLIB_DIR= /usr/lib
+USRBIN_DIR= /usr/bin
+USRGAMES_DIR= /usr/games
+USRSHAREMISC_DIR=/usr/share/misc
+LOCALE_DIR= /usr/share/locale
+BIN_DIR= /bin
+VAR_PATH= /var
+LOG_DIR= /var/log
+MAN_DIR= /usr/share/man
+INFO_DIR= /usr/share/info
+
+#
+# Paths used for install
+#
+DEVDIR= $(DESTDIR)$(DEV_DIR)
+ETCDIR= $(DESTDIR)$(ETC_DIR)
+SBINDIR= $(DESTDIR)$(SBIN_DIR)
+USRSBINDIR= $(DESTDIR)$(USRSBIN_DIR)
+USRLIBDIR= $(DESTDIR)$(USRLIB_DIR)
+USRBINDIR= $(DESTDIR)$(USRBIN_DIR)
+USRGAMESDIR= $(DESTDIR)$(USRGAMES_DIR)
+USRSHAREMISCDIR=$(DESTDIR)$(USRSHAREMISC_DIR)
+LOCALEDIR= $(DESTDIR)$(LOCALE_DIR)
+BINDIR= $(DESTDIR)$(BIN_DIR)
+VARPATH= $(DESTDIR)$(VAR_PATH)
+LOGDIR= $(DESTDIR)$(LOG_DIR)
+MANDIR= $(DESTDIR)$(MAN_DIR)
+MAN1DIR= $(MANDIR)/man1
+MAN3DIR= $(MANDIR)/man3
+MAN5DIR= $(MANDIR)/man5
+MAN6DIR= $(MANDIR)/man6
+MAN8DIR= $(MANDIR)/man8
+INFODIR= $(DESTDIR)$(INFO_DIR)
+
+# Directory for shutdown, halt, reboot, etc.
+SHUTDOWNDIR= $(SBINDIR)
+
+# Modes
+DIRMODE= 755
+BINMODE= 755
+MANMODE= 644
+DATMODE= 644
+INFOMODE= 644
+SUIDMODE= 4755
+
+CHMOD= chmod
+INSTALL= install
+INSTALLDIR= $(INSTALL) -d -m $(DIRMODE)
+INSTALLBIN= $(INSTALL) -m $(BINMODE)
+INSTALLMAN= $(INSTALL) -m $(MANMODE)
+INSTALLDAT= $(INSTALL) -m $(DATMODE)
+INSTALLSUID= $(INSTALL) -m $(SUIDMODE)
+
+ifeq "$(DISABLE_NLS)" "yes"
+NLSFLAGS = -DDISABLE_NLS
+endif
+
+CFLAGS := $(OPT) -I$(LIB) $(WARNFLAGS) \
+ $(CURSESFLAGS) $(SLANGFLAGS) $(NLSFLAGS) \
+ -D_FILE_OFFSET_BITS=64 \
+ -DSBINDIR=\"$(SBIN_DIR)\" \
+ -DUSRSBINDIR=\"$(USRSBIN_DIR)\" \
+ -DLOGDIR=\"$(LOG_DIR)\" \
+ -DVARPATH=\"$(VAR_PATH)\" \
+ -DLOCALEDIR=\"$(LOCALE_DIR)\" \
+ $(CFLAGS)
+
+
+%.o: %.c
+ $(CC) -c $(CFLAGS) $< -o $@
+
+%: %.cc
+ $(CXX) $(CFLAGS) $< -o $@
+
diff --git a/meta/recipes-core/util-linux/util-linux/defines.h b/meta/recipes-core/util-linux/util-linux/defines.h
new file mode 100644
index 0000000000..6ce6b86df5
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/defines.h
@@ -0,0 +1,10 @@
+#define UTIL_LINUX_VERSION "2.12"
+#define util_linux_version "util-linux-2.12"
+
+#define HAVE_blkpg_h
+#define HAVE_kd_h
+#define HAVE_locale_h
+#define HAVE_langinfo_h
+#define HAVE_sys_user_h
+#define HAVE_asm_types_h
+//#define NEED_tqueue_h
diff --git a/meta/recipes-core/util-linux/util-linux/fix_NL_TIME_FIRST_WEEKDAY.patch b/meta/recipes-core/util-linux/util-linux/fix_NL_TIME_FIRST_WEEKDAY.patch
new file mode 100644
index 0000000000..545c3a9c7b
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/fix_NL_TIME_FIRST_WEEKDAY.patch
@@ -0,0 +1,24 @@
+configure uses AC_CHECK_DECLS to check for _NL_TIME_WEEK_1STDAY
+which means we will get HAVE_DECL__NL_TIME_WEEK_1STDAY
+defined to 1 if symbol is declared, otherwise to 0 in config.h
+
+Therefore we cannot rely on conditionals which check for it
+being defined or not since it always will be defined so correct
+thing is to use #if instead of #ifdef
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: util-linux-2.21/misc-utils/cal.c
+===================================================================
+--- util-linux-2.21.orig/misc-utils/cal.c 2012-02-29 23:41:54.413347665 -0800
++++ util-linux-2.21/misc-utils/cal.c 2012-02-29 23:42:44.573350057 -0800
+@@ -297,7 +297,7 @@
+ * the locale database, which can be overridden with the
+ * -s (Sunday) or -m (Monday) options.
+ */
+-#ifdef HAVE_DECL__NL_TIME_WEEK_1STDAY
++#if HAVE_DECL__NL_TIME_WEEK_1STDAY
+ /*
+ * You need to use 2 locale variables to get the first day of the week.
+ * This is needed to support first_weekday=2 and first_workday=1 for
diff --git a/meta/recipes-core/util-linux/util-linux/make_include b/meta/recipes-core/util-linux/util-linux/make_include
new file mode 100644
index 0000000000..e6abcd91f7
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/make_include
@@ -0,0 +1,17 @@
+VERSION=2.12
+CC=gcc
+CFLAGS=
+LDFLAGS=
+HAVE_OLD_GCC=yes
+HAVE_RAW_H=yes
+HAVE_NCURSES=yes
+CURSESFLAGS=-DNCH=1
+LIBCURSES=-lncurses
+HAVE_TERMCAP=no
+NEED_LIBCRYPT=yes
+FOREIGN = --foreign-user
+HAVE_XGETTEXT=yes
+HAVE_OPENPTY=yes
+HAVE_PIVOT_ROOT=yes
+HAVE_GOOD_RPC=yes
+HAVE_ZLIB=yes
diff --git a/meta/recipes-core/util-linux/util-linux/remove-lscpu.patch b/meta/recipes-core/util-linux/util-linux/remove-lscpu.patch
new file mode 100644
index 0000000000..a15c1e32a7
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/remove-lscpu.patch
@@ -0,0 +1,40 @@
+Upstream-Status: Inappropriate [distribution]
+
+Take out lscpu stuff from the code
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+
+Index: util-linux-2.21/configure.ac
+===================================================================
+--- util-linux-2.21.orig/configure.ac
++++ util-linux-2.21/configure.ac
+@@ -871,7 +871,7 @@ UL_REQUIRES_BUILD([lsblk], [libblkid])
+ AM_CONDITIONAL(BUILD_LSBLK, test "x$build_lsblk" = xyes)
+
+
+-UL_BUILD_INIT([lscpu], [check])
++UL_BUILD_INIT([lscpu], [no])
+ UL_REQUIRES_LINUX([lscpu])
+ UL_REQUIRES_HAVE([lscpu], [cpu_set_t], [cpu_set_t type])
+ AM_CONDITIONAL(BUILD_LSCPU, test "x$build_lscpu" = xyes)
+Index: util-linux-2.21/sys-utils/Makefile.am
+===================================================================
+--- util-linux-2.21.orig/sys-utils/Makefile.am
++++ util-linux-2.21/sys-utils/Makefile.am
+@@ -108,16 +108,6 @@ swapon_CFLAGS = $(AM_CFLAGS) -I$(ul_libb
+ swapon_LDADD = $(ul_libblkid_la)
+ endif
+
+-if BUILD_LSCPU
+-usrbin_exec_PROGRAMS += lscpu
+-lscpu_SOURCES = lscpu.c $(top_srcdir)/lib/cpuset.c \
+- $(top_srcdir)/lib/strutils.c \
+- $(top_srcdir)/lib/mbsalign.c \
+- $(top_srcdir)/lib/tt.c \
+- $(top_srcdir)/lib/path.c
+-dist_man_MANS += lscpu.1
+-endif
+-
+ if BUILD_CHCPU
+ sbin_PROGRAMS += chcpu
+ chcpu_SOURCES = chcpu.c $(top_srcdir)/lib/cpuset.c \
diff --git a/meta/recipes-core/util-linux/util-linux/remove_sigsetmark.patch b/meta/recipes-core/util-linux/util-linux/remove_sigsetmark.patch
new file mode 100644
index 0000000000..02e4d16ff7
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/remove_sigsetmark.patch
@@ -0,0 +1,35 @@
+simpleinit: remove deprecated sigsetmask()
+
+The sigsetmask() is deprecated in favor of sigprocmask().
+
+This is not needed upstream since simpleinit is removed from
+util-linux-ng master
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate
+
+Index: util-linux-2.19.1/simpleinit/shutdown.c
+===================================================================
+--- util-linux-2.19.1.orig/simpleinit/shutdown.c 2011-03-04 03:47:47.000000000 -0800
++++ util-linux-2.19.1/simpleinit/shutdown.c 2011-07-06 08:43:39.183849752 -0700
+@@ -145,7 +145,7 @@
+ {
+ int c, i, fd;
+ char *ptr;
+-
++ sigset_t sigmask;
+ i = getdtablesize ();
+ for (fd = 3; fd < i; fd++) close (fd);
+ if (getpid () == 1)
+@@ -153,7 +153,9 @@
+ for (fd = 0; fd < 3; fd++) close (fd);
+ while (1) wait (NULL); /* Grim reaper never stops */
+ }
+- sigsetmask (0); /* simpleinit(8) blocks all signals: undo for ALRM */
++ /* simpleinit(8) blocks all signals: undo for ALRM */
++ sigemptyset(&sigmask);
++ sigprocmask (SIG_SETMASK, &sigmask, NULL);
+ for (i = 1; i < NSIG; i++) signal (i, SIG_DFL);
+
+ setlocale(LC_ALL, "");
diff --git a/meta/recipes-core/util-linux/util-linux/swapargs.h b/meta/recipes-core/util-linux/util-linux/swapargs.h
new file mode 100644
index 0000000000..e960eef05f
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/swapargs.h
@@ -0,0 +1,3 @@
+#define SWAPON_HAS_TWO_ARGS
+#include <asm/page.h>
+#include <sys/swap.h>
diff --git a/meta/recipes-core/util-linux/util-linux/uclibc-__progname-conflict.patch b/meta/recipes-core/util-linux/util-linux/uclibc-__progname-conflict.patch
new file mode 100644
index 0000000000..45826b180a
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/uclibc-__progname-conflict.patch
@@ -0,0 +1,31 @@
+configure should include errno.h instead of argp.h when
+checking for presence of program_invocation_short_name
+uclibc defines this to be const char* unlike util-linux-ng
+which defines this to be char* so this error goes unnoticed
+on glibc/eglibc systems.
+
+here is the error it fixes
+
+in file included from mountP.h:14:0,
+ from cache.c:29:
+/home/kraj/work/slugos/build/tmp-slugos-uclibc/sysroots/nslu2le/usr/include/errno.h:55:46: error: conflicting types for '__progname'
+../../../include/c.h:118:14: note: previous declaration of '__progname' was here
+make[3]: *** [cache.lo] Error 1
+
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: util-linux-2.19.1/configure.ac
+===================================================================
+--- util-linux-2.19.1.orig/configure.ac
++++ util-linux-2.19.1/configure.ac
+@@ -250,7 +250,7 @@ esac
+
+
+ AC_MSG_CHECKING(whether program_invocation_short_name is defined)
+-AC_TRY_COMPILE([#include <argp.h>],
++AC_TRY_COMPILE([#include <errno.h>],
+ [program_invocation_short_name = "test";],
+ AC_DEFINE(HAVE_PROGRAM_INVOCATION_SHORT_NAME, 1,
+ [Define if program_invocation_short_name is defined])
diff --git a/meta/recipes-core/util-linux/util-linux/uclibc-compile.patch b/meta/recipes-core/util-linux/util-linux/uclibc-compile.patch
new file mode 100644
index 0000000000..75774d8200
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/uclibc-compile.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+Index: util-linux-ng-2.16/misc-utils/cal.c
+===================================================================
+--- util-linux-ng-2.16.orig/misc-utils/cal.c 2009-07-03 16:20:01.000000000 -0700
++++ util-linux-ng-2.16/misc-utils/cal.c 2009-07-18 23:21:37.000000000 -0700
+@@ -407,7 +407,7 @@
+ strcpy(day_headings,"");
+ strcpy(j_day_headings,"");
+
+-#ifdef HAVE_LANGINFO_H
++#ifdef HAVE_LANGINFO_H && !defined(__UCLIBC__)
+ # define weekday(wd) nl_langinfo(ABDAY_1+wd)
+ #else
+ # define weekday(wd) _time_info->abbrev_wkday[wd]
diff --git a/meta/recipes-core/util-linux/util-linux/util-linux-ng-2.16-mount_lock_path.patch b/meta/recipes-core/util-linux/util-linux/util-linux-ng-2.16-mount_lock_path.patch
new file mode 100644
index 0000000000..5773d7ea1b
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/util-linux-ng-2.16-mount_lock_path.patch
@@ -0,0 +1,27 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+The FHS indicates that /etc must be capable of being mounted R/O.
+
+The FHS also indicates that lock files belong in /var/lock, and /var must
+be R/W as soon as possible during boot.
+
+This patch moves the mtab lock file from the potentially R/O /etc, to the
+R/W /var/lock area. This lock file is used when mounting disks and making
+other mount adjustments. The _PATH_MOUNTED_TMP is not adjusted, as failing
+to write to this file does not cause any functional limitations.
+
+(Note, if /etc is R/O, then /etc/mtab should be a symlink to /proc/mounts)
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+--- util-linux-ng-2.16/include/pathnames.h.orig
++++ util-linux-ng-2.16/include/pathnames.h
+@@ -90,7 +90,7 @@
+ # endif
+ #endif
+
+-#define _PATH_MOUNTED_LOCK _PATH_MOUNTED "~"
++#define _PATH_MOUNTED_LOCK "/var/lock/mtab~"
+ #define _PATH_MOUNTED_TMP _PATH_MOUNTED ".tmp"
+
+ #ifndef _PATH_DEV
diff --git a/meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch b/meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch
new file mode 100644
index 0000000000..ef56048c60
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/util-linux-ng-replace-siginterrupt.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+Index: util-linux-2.21/login-utils/login.c
+===================================================================
+--- util-linux-2.21.orig/login-utils/login.c
++++ util-linux-2.21/login-utils/login.c
+@@ -1216,6 +1216,8 @@ int main(int argc, char **argv)
+ char *buff;
+ int childArgc = 0;
+ int retcode;
++ struct sigaction act;
++
+
+ char *pwdbuf = NULL;
+ struct passwd *pwd = NULL, _pwd;
+@@ -1229,7 +1231,9 @@ int main(int argc, char **argv)
+ timeout = getlogindefs_num("LOGIN_TIMEOUT", LOGIN_TIMEOUT);
+
+ signal(SIGALRM, timedout);
+- siginterrupt(SIGALRM, 1); /* we have to interrupt syscalls like ioclt() */
++ (void) sigaction(SIGALRM, NULL, &act);
++ act.sa_flags &= ~SA_RESTART;
++ sigaction(SIGALRM, &act, NULL);
+ alarm((unsigned int)timeout);
+ signal(SIGQUIT, SIG_IGN);
+ signal(SIGINT, SIG_IGN);