public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Gilbert" <floppym@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/shadow/files/, sys-apps/shadow/
Date: Tue, 19 Sep 2023 00:55:26 +0000 (UTC)	[thread overview]
Message-ID: <1695084924.75209a50623aa5538ecbf940c20e69d55b0693f1.floppym@gentoo> (raw)

commit:     75209a50623aa5538ecbf940c20e69d55b0693f1
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 19 00:54:05 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Tue Sep 19 00:55:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75209a50

sys-apps/shadow: backport build fixes

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

 .../shadow/files/shadow-4.14.0-bug912446.patch     | 1305 ++++++++++++++++++++
 ...ow-4.14.0-r2.ebuild => shadow-4.14.0-r3.ebuild} |   12 +-
 2 files changed, 1314 insertions(+), 3 deletions(-)

diff --git a/sys-apps/shadow/files/shadow-4.14.0-bug912446.patch b/sys-apps/shadow/files/shadow-4.14.0-bug912446.patch
new file mode 100644
index 000000000000..881c8f7f4ad4
--- /dev/null
+++ b/sys-apps/shadow/files/shadow-4.14.0-bug912446.patch
@@ -0,0 +1,1305 @@
+https://bugs.gentoo.org/912446
+
+From c34c2606cf8f0a52113156d9e22b7a35b391a17e Mon Sep 17 00:00:00 2001
+From: Alejandro Colomar <alx@kernel.org>
+Date: Fri, 25 Aug 2023 11:29:00 +0200
+Subject: [PATCH] lib, libmisc: Move source files to lib (where their headers
+ were)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Scripted change:
+
+$ find lib/ -type f \
+| grep '\.h$' \
+| sed 's,lib/,libmisc/,' \
+| sed 's,\.h$,.c,' \
+| xargs find 2>/dev/null \
+| xargs mv -t lib/;
+
+Plus updating the Makefiles.
+
+Closes: <https://github.com/shadow-maint/shadow/issues/791>
+Closes: <https://bugs.gentoo.org/912446>
+Link: <https://github.com/shadow-maint/shadow/issues/763#issuecomment-1664383425>
+Link: <https://github.com/shadow-maint/shadow/pull/776>
+Link: <https://github.com/shadow-maint/shadow/commit/d0518cc250afeaceb772a7f50a900cfc9b3ab937>
+Reported-by: Christian Bricart <christian@bricart.de>
+Reported-by: Robert Marmorstein <robert@marmorstein.org>
+Cc: Sam James <sam@gentoo.org>
+[ jubalh tested the openSUSE package ]
+Tested-by: Michael Vetter <jubalh@iodoru.org>
+Acked-by: Michael Vetter <jubalh@iodoru.org>
+[ Robert F. tested the Gentoo package ]
+Tested-by: Robert Förster <Dessa@gmake.de>
+Cc: David Seifert <soap@gentoo.org>
+Signed-off-by: Alejandro Colomar <alx@kernel.org>
+---
+ lib/Makefile.am               | 10 ++++++++++
+ {libmisc => lib}/alloc.c      |  0
+ {libmisc => lib}/bit.c        |  0
+ {libmisc => lib}/mempcpy.c    |  0
+ {libmisc => lib}/stpecpy.c    |  0
+ {libmisc => lib}/stpeprintf.c |  0
+ libmisc/Makefile.am           |  9 ---------
+ 7 files changed, 10 insertions(+), 9 deletions(-)
+ rename {libmisc => lib}/alloc.c (100%)
+ rename {libmisc => lib}/bit.c (100%)
+ rename {libmisc => lib}/mempcpy.c (100%)
+ rename {libmisc => lib}/stpecpy.c (100%)
+ rename {libmisc => lib}/stpeprintf.c (100%)
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index c8d6dd5fb..7f3f7f639 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -14,6 +14,10 @@ libshadow_la_CPPFLAGS += -I$(top_srcdir)
+ libshadow_la_CFLAGS = $(LIBBSD_CFLAGS)
+ 
+ libshadow_la_SOURCES = \
++	alloc.c \
++	alloc.h \
++	bit.c \
++	bit.h \
+ 	commonio.c \
+ 	commonio.h \
+ 	defines.h \
+@@ -34,6 +38,8 @@ libshadow_la_SOURCES = \
+ 	groupio.h \
+ 	gshadow.c \
+ 	lockpw.c \
++	mempcpy.c \
++	mempcpy.h \
+ 	nss.c \
+ 	nscd.c \
+ 	nscd.h \
+@@ -67,6 +73,10 @@ libshadow_la_SOURCES = \
+ 	shadowio.h \
+ 	shadowmem.c \
+ 	spawn.c \
++	stpecpy.c \
++	stpecpy.h \
++	stpeprintf.c \
++	stpeprintf.h \
+ 	write_full.c
+ 
+ if WITH_TCB
+diff --git a/libmisc/alloc.c b/lib/alloc.c
+similarity index 100%
+rename from libmisc/alloc.c
+rename to lib/alloc.c
+diff --git a/libmisc/bit.c b/lib/bit.c
+similarity index 100%
+rename from libmisc/bit.c
+rename to lib/bit.c
+diff --git a/libmisc/mempcpy.c b/lib/mempcpy.c
+similarity index 100%
+rename from libmisc/mempcpy.c
+rename to lib/mempcpy.c
+diff --git a/libmisc/stpecpy.c b/lib/stpecpy.c
+similarity index 100%
+rename from libmisc/stpecpy.c
+rename to lib/stpecpy.c
+diff --git a/libmisc/stpeprintf.c b/lib/stpeprintf.c
+similarity index 100%
+rename from libmisc/stpeprintf.c
+rename to lib/stpeprintf.c
+diff --git a/libmisc/Makefile.am b/libmisc/Makefile.am
+index 10bf1537f..5eba4650a 100644
+--- a/libmisc/Makefile.am
++++ b/libmisc/Makefile.am
+@@ -16,12 +16,8 @@ libmisc_la_SOURCES = \
+ 	addgrps.c \
+ 	age.c \
+ 	agetpass.c \
+-	alloc.c \
+-	../lib/alloc.h \
+ 	audit_help.c \
+ 	basename.c \
+-	bit.c \
+-	../lib/bit.h \
+ 	chkname.c \
+ 	chkname.h \
+ 	chowndir.c \
+@@ -53,7 +49,6 @@ libmisc_la_SOURCES = \
+ 	list.c \
+ 	loginprompt.c \
+ 	mail.c \
+-	mempcpy.c \
+ 	motd.c \
+ 	myname.c \
+ 	obscure.c \
+@@ -71,10 +66,6 @@ libmisc_la_SOURCES = \
+ 	setugid.c \
+ 	setupenv.c \
+ 	shell.c \
+-	stpecpy.c \
+-	../lib/stpecpy.h \
+-	stpeprintf.c \
+-	../lib/stpeprintf.h \
+ 	strtoday.c \
+ 	sub.c \
+ 	sulog.c \
+From 093fb605f9ca0df8310210377b12c0cf2ea5110c Mon Sep 17 00:00:00 2001
+From: Alejandro Colomar <alx@kernel.org>
+Date: Mon, 28 Aug 2023 12:54:22 +0200
+Subject: [PATCH] lib: Merge libmisc into libshadow
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The separation was unnecessary, and caused build problems.  Let's go
+wild and obliterate the library.  The files are moved to libshadow.
+
+Scripted change:
+
+$ find libmisc/ -type f \
+| grep '\.[chy]$' \
+| xargs mv -t lib;
+
+Plus updating the Makefile and other references.  While at it, I've
+sorted the sources lists.
+
+Link: <https://github.com/shadow-maint/shadow/pull/792>
+Reported-by: David Seifert <soap@gentoo.org>
+Cc: Sam James <sam@gentoo.org>
+Cc: Christian Bricart <christian@bricart.de>
+Cc: Michael Vetter <jubalh@iodoru.org>
+Cc: Robert Förster <Dessa@gmake.de>
+[ soap tested the Gentoo package ]
+Tested-by: David Seifert <soap@gentoo.org>
+Acked-by: David Seifert <soap@gentoo.org>
+Acked-by: Serge Hallyn <serge@hallyn.com>
+Acked-by: Iker Pedrosa <ipedrosa@redhat.com>
+Acked-by: <lslebodn@fedoraproject.org>
+Signed-off-by: Alejandro Colomar <alx@kernel.org>
+---
+ .gitignore                                  |   2 +-
+ Makefile.am                                 |   2 +-
+ TODO                                        |   4 +-
+ configure.ac                                |   1 -
+ lib/Makefile.am                             | 125 ++++++++++++++++++--
+ {libmisc => lib}/addgrps.c                  |   0
+ {libmisc => lib}/age.c                      |   0
+ {libmisc => lib}/agetpass.c                 |   0
+ {libmisc => lib}/audit_help.c               |   0
+ {libmisc => lib}/basename.c                 |   0
+ {libmisc => lib}/btrfs.c                    |   0
+ {libmisc => lib}/chkname.c                  |   0
+ {libmisc => lib}/chkname.h                  |   0
+ {libmisc => lib}/chowndir.c                 |   0
+ {libmisc => lib}/chowntty.c                 |   0
+ {libmisc => lib}/cleanup.c                  |   0
+ {libmisc => lib}/cleanup_group.c            |   0
+ {libmisc => lib}/cleanup_user.c             |   0
+ {libmisc => lib}/console.c                  |   0
+ {libmisc => lib}/copydir.c                  |   0
+ {libmisc => lib}/csrand.c                   |   0
+ {libmisc => lib}/date_to_str.c              |   0
+ {libmisc => lib}/entry.c                    |   0
+ {libmisc => lib}/env.c                      |   0
+ {libmisc => lib}/failure.c                  |   0
+ {libmisc => lib}/failure.h                  |   0
+ {libmisc => lib}/find_new_gid.c             |   0
+ {libmisc => lib}/find_new_sub_gids.c        |   0
+ {libmisc => lib}/find_new_sub_uids.c        |   0
+ {libmisc => lib}/find_new_uid.c             |   0
+ {libmisc => lib}/freezero.c                 |   0
+ {libmisc => lib}/freezero.h                 |   0
+ {libmisc => lib}/getdate.h                  |   0
+ {libmisc => lib}/getdate.y                  |   0
+ {libmisc => lib}/getgr_nam_gid.c            |   0
+ {libmisc => lib}/getrange.c                 |   0
+ {libmisc => lib}/gettime.c                  |   0
+ {libmisc => lib}/hushed.c                   |   0
+ {libmisc => lib}/idmapping.c                |   0
+ {libmisc => lib}/idmapping.h                |   0
+ {libmisc => lib}/isexpired.c                |   0
+ {libmisc => lib}/limits.c                   |   0
+ {libmisc => lib}/list.c                     |   0
+ {libmisc => lib}/log.c                      |   0
+ {libmisc => lib}/logind.c                   |   0
+ {libmisc => lib}/loginprompt.c              |   0
+ {libmisc => lib}/mail.c                     |   0
+ {libmisc => lib}/motd.c                     |   0
+ {libmisc => lib}/myname.c                   |   0
+ {libmisc => lib}/obscure.c                  |   0
+ {libmisc => lib}/pam_pass.c                 |   0
+ {libmisc => lib}/pam_pass_non_interactive.c |   0
+ {libmisc => lib}/prefix_flag.c              |   0
+ lib/prototypes.h                            |   2 +-
+ {libmisc => lib}/pwd2spwd.c                 |   0
+ {libmisc => lib}/pwd_init.c                 |   0
+ {libmisc => lib}/pwdcheck.c                 |   0
+ {libmisc => lib}/readpassphrase.c           |   0
+ {libmisc => lib}/readpassphrase.h           |   0
+ {libmisc => lib}/remove_tree.c              |   0
+ {libmisc => lib}/rlogin.c                   |   0
+ {libmisc => lib}/root_flag.c                |   0
+ {libmisc => lib}/salt.c                     |   0
+ {libmisc => lib}/setugid.c                  |   0
+ {libmisc => lib}/setupenv.c                 |   0
+ {libmisc => lib}/shell.c                    |   0
+ {libmisc => lib}/strtoday.c                 |   0
+ {libmisc => lib}/sub.c                      |   0
+ {libmisc => lib}/sulog.c                    |   0
+ {libmisc => lib}/ttytype.c                  |   0
+ {libmisc => lib}/tz.c                       |   0
+ {libmisc => lib}/ulimit.c                   |   0
+ {libmisc => lib}/user_busy.c                |   0
+ {libmisc => lib}/utmp.c                     |   0
+ {libmisc => lib}/valid.c                    |   0
+ {libmisc => lib}/xgetXXbyYY.c               |   0
+ {libmisc => lib}/xgetgrgid.c                |   0
+ {libmisc => lib}/xgetgrnam.c                |   0
+ {libmisc => lib}/xgetpwnam.c                |   0
+ {libmisc => lib}/xgetpwuid.c                |   0
+ {libmisc => lib}/xgetspnam.c                |   0
+ {libmisc => lib}/xprefix_getpwnam.c         |   0
+ {libmisc => lib}/yesno.c                    |   0
+ libmisc/.indent.pro                         |   5 -
+ libmisc/Makefile.am                         | 105 ----------------
+ libsubid/Makefile.am                        |   2 -
+ po/POTFILES.in                              | 116 +++++++++---------
+ src/Makefile.am                             |  14 +--
+ src/su.c                                    |   4 +-
+ tests/common/config.sh                      |   2 -
+ tests/libsubid/04_nss/Makefile              |   4 +-
+ 91 files changed, 180 insertions(+), 208 deletions(-)
+ rename {libmisc => lib}/addgrps.c (100%)
+ rename {libmisc => lib}/age.c (100%)
+ rename {libmisc => lib}/agetpass.c (100%)
+ rename {libmisc => lib}/audit_help.c (100%)
+ rename {libmisc => lib}/basename.c (100%)
+ rename {libmisc => lib}/btrfs.c (100%)
+ rename {libmisc => lib}/chkname.c (100%)
+ rename {libmisc => lib}/chkname.h (100%)
+ rename {libmisc => lib}/chowndir.c (100%)
+ rename {libmisc => lib}/chowntty.c (100%)
+ rename {libmisc => lib}/cleanup.c (100%)
+ rename {libmisc => lib}/cleanup_group.c (100%)
+ rename {libmisc => lib}/cleanup_user.c (100%)
+ rename {libmisc => lib}/console.c (100%)
+ rename {libmisc => lib}/copydir.c (100%)
+ rename {libmisc => lib}/csrand.c (100%)
+ rename {libmisc => lib}/date_to_str.c (100%)
+ rename {libmisc => lib}/entry.c (100%)
+ rename {libmisc => lib}/env.c (100%)
+ rename {libmisc => lib}/failure.c (100%)
+ rename {libmisc => lib}/failure.h (100%)
+ rename {libmisc => lib}/find_new_gid.c (100%)
+ rename {libmisc => lib}/find_new_sub_gids.c (100%)
+ rename {libmisc => lib}/find_new_sub_uids.c (100%)
+ rename {libmisc => lib}/find_new_uid.c (100%)
+ rename {libmisc => lib}/freezero.c (100%)
+ rename {libmisc => lib}/freezero.h (100%)
+ rename {libmisc => lib}/getdate.h (100%)
+ rename {libmisc => lib}/getdate.y (100%)
+ rename {libmisc => lib}/getgr_nam_gid.c (100%)
+ rename {libmisc => lib}/getrange.c (100%)
+ rename {libmisc => lib}/gettime.c (100%)
+ rename {libmisc => lib}/hushed.c (100%)
+ rename {libmisc => lib}/idmapping.c (100%)
+ rename {libmisc => lib}/idmapping.h (100%)
+ rename {libmisc => lib}/isexpired.c (100%)
+ rename {libmisc => lib}/limits.c (100%)
+ rename {libmisc => lib}/list.c (100%)
+ rename {libmisc => lib}/log.c (100%)
+ rename {libmisc => lib}/logind.c (100%)
+ rename {libmisc => lib}/loginprompt.c (100%)
+ rename {libmisc => lib}/mail.c (100%)
+ rename {libmisc => lib}/motd.c (100%)
+ rename {libmisc => lib}/myname.c (100%)
+ rename {libmisc => lib}/obscure.c (100%)
+ rename {libmisc => lib}/pam_pass.c (100%)
+ rename {libmisc => lib}/pam_pass_non_interactive.c (100%)
+ rename {libmisc => lib}/prefix_flag.c (100%)
+ rename {libmisc => lib}/pwd2spwd.c (100%)
+ rename {libmisc => lib}/pwd_init.c (100%)
+ rename {libmisc => lib}/pwdcheck.c (100%)
+ rename {libmisc => lib}/readpassphrase.c (100%)
+ rename {libmisc => lib}/readpassphrase.h (100%)
+ rename {libmisc => lib}/remove_tree.c (100%)
+ rename {libmisc => lib}/rlogin.c (100%)
+ rename {libmisc => lib}/root_flag.c (100%)
+ rename {libmisc => lib}/salt.c (100%)
+ rename {libmisc => lib}/setugid.c (100%)
+ rename {libmisc => lib}/setupenv.c (100%)
+ rename {libmisc => lib}/shell.c (100%)
+ rename {libmisc => lib}/strtoday.c (100%)
+ rename {libmisc => lib}/sub.c (100%)
+ rename {libmisc => lib}/sulog.c (100%)
+ rename {libmisc => lib}/ttytype.c (100%)
+ rename {libmisc => lib}/tz.c (100%)
+ rename {libmisc => lib}/ulimit.c (100%)
+ rename {libmisc => lib}/user_busy.c (100%)
+ rename {libmisc => lib}/utmp.c (100%)
+ rename {libmisc => lib}/valid.c (100%)
+ rename {libmisc => lib}/xgetXXbyYY.c (100%)
+ rename {libmisc => lib}/xgetgrgid.c (100%)
+ rename {libmisc => lib}/xgetgrnam.c (100%)
+ rename {libmisc => lib}/xgetpwnam.c (100%)
+ rename {libmisc => lib}/xgetpwuid.c (100%)
+ rename {libmisc => lib}/xgetspnam.c (100%)
+ rename {libmisc => lib}/xprefix_getpwnam.c (100%)
+ rename {libmisc => lib}/yesno.c (100%)
+ delete mode 100644 libmisc/.indent.pro
+ delete mode 100644 libmisc/Makefile.am
+
+diff --git a/Makefile.am b/Makefile.am
+index 630e2aa9c..d8dfc3bf7 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,7 +2,7 @@
+ 
+ EXTRA_DIST = NEWS README TODO shadow.spec.in
+ 
+-SUBDIRS = libmisc lib
++SUBDIRS = lib
+ 
+ if ENABLE_SUBIDS
+ SUBDIRS += libsubid
+diff --git a/TODO b/TODO
+index 8783ccd13..62571f5fd 100644
+--- a/TODO
++++ b/TODO
+@@ -10,13 +10,13 @@
+ 
+ Check when RLOGIN is enabled if ruserok() exists
+ 
+-Move selinux_file_context out of libmisc/copydir.c
++Move selinux_file_context out of lib/copydir.c
+ 
+ Review hardcoded root account?
+ 
+ review all call to strto
+ 
+-libmisc/cleanup_user.c
++lib/cleanup_user.c
+ 	cleanup needed (cleanup_report_add_user* not used)
+ 
+ 
+diff --git a/configure.ac b/configure.ac
+index f4fadc52b..b3bbf57d8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -753,7 +753,6 @@ AC_CONFIG_FILES([
+ 	man/uk/Makefile
+ 	man/zh_CN/Makefile
+ 	man/zh_TW/Makefile
+-	libmisc/Makefile
+ 	lib/Makefile
+ 	libsubid/Makefile
+ 	libsubid/subid.h
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 7f3f7f639..ca73313dc 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -5,64 +5,117 @@ DEFS =
+ 
+ noinst_LTLIBRARIES = libshadow.la
+ 
++if USE_PAM
++LIBCRYPT_PAM = $(LIBCRYPT)
++else
++LIBCRYPT_PAM =
++endif
++
++AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS)
++
+ libshadow_la_CPPFLAGS = $(ECONF_CPPFLAGS)
+ if HAVE_VENDORDIR
+ libshadow_la_CPPFLAGS += -DVENDORDIR=\"$(VENDORDIR)\"
+ endif
+ 
+ libshadow_la_CPPFLAGS += -I$(top_srcdir)
+-libshadow_la_CFLAGS = $(LIBBSD_CFLAGS)
++libshadow_la_CFLAGS = $(LIBBSD_CFLAGS) $(LIBCRYPT_PAM) $(LIBSYSTEMD)
+ 
+ libshadow_la_SOURCES = \
++	addgrps.c \
++	age.c \
++	agetpass.c \
+ 	alloc.c \
+ 	alloc.h \
++	audit_help.c \
++	basename.c \
+ 	bit.c \
+ 	bit.h \
++	chkname.c \
++	chkname.h \
++	chowndir.c \
++	chowntty.c \
++	cleanup.c \
++	cleanup_group.c \
++	cleanup_user.c \
+ 	commonio.c \
+ 	commonio.h \
++	console.c \
++	copydir.c \
++	csrand.c \
++	date_to_str.c \
+ 	defines.h \
+ 	encrypt.c \
++	entry.c \
++	env.c \
+ 	exitcodes.h \
+ 	faillog.h \
++	failure.c \
++	failure.h \
+ 	fields.c \
++	find_new_gid.c \
++	find_new_uid.c \
++	find_new_sub_gids.c \
++	find_new_sub_uids.c \
+ 	fputsx.c \
+-	getdef.c \
+-	getdef.h \
+ 	get_gid.c \
+-	getlong.c \
+ 	get_pid.c \
+ 	get_uid.c \
++	getdate.h \
++	getdate.y \
++	getdef.c \
++	getdef.h \
++	getlong.c \
++	getgr_nam_gid.c \
++	getrange.c \
++	gettime.c \
+ 	getulong.c \
+ 	groupio.c \
+ 	groupmem.c \
+ 	groupio.h \
+ 	gshadow.c \
++	hushed.c \
++	idmapping.h \
++	idmapping.c \
++	isexpired.c \
++	limits.c \
++	list.c \
+ 	lockpw.c \
++	loginprompt.c \
++	mail.c \
+ 	mempcpy.c \
+ 	mempcpy.h \
++	motd.c \
++	myname.c \
+ 	nss.c \
+ 	nscd.c \
+ 	nscd.h \
+-	shadowlog.c \
+-	shadowlog.h \
+-	shadowlog_internal.h \
+-	sssd.c \
+-	sssd.h \
++	obscure.c \
+ 	pam_defs.h \
++	pam_pass.c \
++	pam_pass_non_interactive.c \
+ 	port.c \
+ 	port.h \
++	prefix_flag.c \
+ 	prototypes.h \
+ 	pwauth.c \
+ 	pwauth.h \
+ 	pwio.c \
+ 	pwio.h \
++	pwd_init.c \
++	pwd2spwd.c \
++	pwdcheck.c \
+ 	pwmem.c \
++	remove_tree.c \
++	rlogin.c \
++	root_flag.c \
+ 	run_part.h \
+ 	run_part.c \
+-	subordinateio.h \
+-	subordinateio.c \
++	salt.c \
+ 	selinux.c \
+ 	semanage.c \
++	setugid.c \
++	setupenv.c \
+ 	sgetgrent.c \
+ 	sgetpwent.c \
+ 	sgetspent.c \
+@@ -71,18 +124,63 @@ libshadow_la_SOURCES = \
+ 	shadow.c \
+ 	shadowio.c \
+ 	shadowio.h \
++	shadowlog.c \
++	shadowlog.h \
++	shadowlog_internal.h \
+ 	shadowmem.c \
++	shell.c \
+ 	spawn.c \
++	sssd.c \
++	sssd.h \
+ 	stpecpy.c \
+ 	stpecpy.h \
+ 	stpeprintf.c \
+ 	stpeprintf.h \
+-	write_full.c
++	strtoday.c \
++	sub.c \
++	subordinateio.h \
++	subordinateio.c \
++	sulog.c \
++	ttytype.c \
++	tz.c \
++	ulimit.c \
++	user_busy.c \
++	valid.c \
++	write_full.c \
++	xgetpwnam.c \
++	xprefix_getpwnam.c \
++	xgetpwuid.c \
++	xgetgrnam.c \
++	xgetgrgid.c \
++	xgetspnam.c \
++	yesno.c
+ 
+ if WITH_TCB
+ libshadow_la_SOURCES += tcbfuncs.c tcbfuncs.h
+ endif
+ 
++if WITH_BTRFS
++libshadow_la_SOURCES += btrfs.c
++endif
++
++if ENABLE_LASTLOG
++libshadow_la_SOURCES += log.c
++endif
++
++if ENABLE_LOGIND
++libshadow_la_SOURCES += logind.c
++else
++libshadow_la_SOURCES += utmp.c
++endif
++
++if !WITH_LIBBSD
++libshadow_la_SOURCES += \
++	freezero.h \
++	freezero.c \
++	readpassphrase.h \
++	readpassphrase.c
++endif
++
+ # These files are unneeded for some reason, listed in
+ # order of appearance:
+ #
+@@ -90,4 +188,5 @@ endif
+ 
+ EXTRA_DIST = \
+ 	.indent.pro \
+-	gshadow_.h
++	gshadow_.h \
++	xgetXXbyYY.c
+diff --git a/libmisc/addgrps.c b/lib/addgrps.c
+similarity index 100%
+rename from libmisc/addgrps.c
+rename to lib/addgrps.c
+diff --git a/libmisc/age.c b/lib/age.c
+similarity index 100%
+rename from libmisc/age.c
+rename to lib/age.c
+diff --git a/libmisc/agetpass.c b/lib/agetpass.c
+similarity index 100%
+rename from libmisc/agetpass.c
+rename to lib/agetpass.c
+diff --git a/libmisc/audit_help.c b/lib/audit_help.c
+similarity index 100%
+rename from libmisc/audit_help.c
+rename to lib/audit_help.c
+diff --git a/libmisc/basename.c b/lib/basename.c
+similarity index 100%
+rename from libmisc/basename.c
+rename to lib/basename.c
+diff --git a/libmisc/btrfs.c b/lib/btrfs.c
+similarity index 100%
+rename from libmisc/btrfs.c
+rename to lib/btrfs.c
+diff --git a/libmisc/chkname.c b/lib/chkname.c
+similarity index 100%
+rename from libmisc/chkname.c
+rename to lib/chkname.c
+diff --git a/libmisc/chkname.h b/lib/chkname.h
+similarity index 100%
+rename from libmisc/chkname.h
+rename to lib/chkname.h
+diff --git a/libmisc/chowndir.c b/lib/chowndir.c
+similarity index 100%
+rename from libmisc/chowndir.c
+rename to lib/chowndir.c
+diff --git a/libmisc/chowntty.c b/lib/chowntty.c
+similarity index 100%
+rename from libmisc/chowntty.c
+rename to lib/chowntty.c
+diff --git a/libmisc/cleanup.c b/lib/cleanup.c
+similarity index 100%
+rename from libmisc/cleanup.c
+rename to lib/cleanup.c
+diff --git a/libmisc/cleanup_group.c b/lib/cleanup_group.c
+similarity index 100%
+rename from libmisc/cleanup_group.c
+rename to lib/cleanup_group.c
+diff --git a/libmisc/cleanup_user.c b/lib/cleanup_user.c
+similarity index 100%
+rename from libmisc/cleanup_user.c
+rename to lib/cleanup_user.c
+diff --git a/libmisc/console.c b/lib/console.c
+similarity index 100%
+rename from libmisc/console.c
+rename to lib/console.c
+diff --git a/libmisc/copydir.c b/lib/copydir.c
+similarity index 100%
+rename from libmisc/copydir.c
+rename to lib/copydir.c
+diff --git a/libmisc/csrand.c b/lib/csrand.c
+similarity index 100%
+rename from libmisc/csrand.c
+rename to lib/csrand.c
+diff --git a/libmisc/date_to_str.c b/lib/date_to_str.c
+similarity index 100%
+rename from libmisc/date_to_str.c
+rename to lib/date_to_str.c
+diff --git a/libmisc/entry.c b/lib/entry.c
+similarity index 100%
+rename from libmisc/entry.c
+rename to lib/entry.c
+diff --git a/libmisc/env.c b/lib/env.c
+similarity index 100%
+rename from libmisc/env.c
+rename to lib/env.c
+diff --git a/libmisc/failure.c b/lib/failure.c
+similarity index 100%
+rename from libmisc/failure.c
+rename to lib/failure.c
+diff --git a/libmisc/failure.h b/lib/failure.h
+similarity index 100%
+rename from libmisc/failure.h
+rename to lib/failure.h
+diff --git a/libmisc/find_new_gid.c b/lib/find_new_gid.c
+similarity index 100%
+rename from libmisc/find_new_gid.c
+rename to lib/find_new_gid.c
+diff --git a/libmisc/find_new_sub_gids.c b/lib/find_new_sub_gids.c
+similarity index 100%
+rename from libmisc/find_new_sub_gids.c
+rename to lib/find_new_sub_gids.c
+diff --git a/libmisc/find_new_sub_uids.c b/lib/find_new_sub_uids.c
+similarity index 100%
+rename from libmisc/find_new_sub_uids.c
+rename to lib/find_new_sub_uids.c
+diff --git a/libmisc/find_new_uid.c b/lib/find_new_uid.c
+similarity index 100%
+rename from libmisc/find_new_uid.c
+rename to lib/find_new_uid.c
+diff --git a/libmisc/freezero.c b/lib/freezero.c
+similarity index 100%
+rename from libmisc/freezero.c
+rename to lib/freezero.c
+diff --git a/libmisc/freezero.h b/lib/freezero.h
+similarity index 100%
+rename from libmisc/freezero.h
+rename to lib/freezero.h
+diff --git a/libmisc/getdate.h b/lib/getdate.h
+similarity index 100%
+rename from libmisc/getdate.h
+rename to lib/getdate.h
+diff --git a/libmisc/getdate.y b/lib/getdate.y
+similarity index 100%
+rename from libmisc/getdate.y
+rename to lib/getdate.y
+diff --git a/libmisc/getgr_nam_gid.c b/lib/getgr_nam_gid.c
+similarity index 100%
+rename from libmisc/getgr_nam_gid.c
+rename to lib/getgr_nam_gid.c
+diff --git a/libmisc/getrange.c b/lib/getrange.c
+similarity index 100%
+rename from libmisc/getrange.c
+rename to lib/getrange.c
+diff --git a/libmisc/gettime.c b/lib/gettime.c
+similarity index 100%
+rename from libmisc/gettime.c
+rename to lib/gettime.c
+diff --git a/libmisc/hushed.c b/lib/hushed.c
+similarity index 100%
+rename from libmisc/hushed.c
+rename to lib/hushed.c
+diff --git a/libmisc/idmapping.c b/lib/idmapping.c
+similarity index 100%
+rename from libmisc/idmapping.c
+rename to lib/idmapping.c
+diff --git a/libmisc/idmapping.h b/lib/idmapping.h
+similarity index 100%
+rename from libmisc/idmapping.h
+rename to lib/idmapping.h
+diff --git a/libmisc/isexpired.c b/lib/isexpired.c
+similarity index 100%
+rename from libmisc/isexpired.c
+rename to lib/isexpired.c
+diff --git a/libmisc/limits.c b/lib/limits.c
+similarity index 100%
+rename from libmisc/limits.c
+rename to lib/limits.c
+diff --git a/libmisc/list.c b/lib/list.c
+similarity index 100%
+rename from libmisc/list.c
+rename to lib/list.c
+diff --git a/libmisc/log.c b/lib/log.c
+similarity index 100%
+rename from libmisc/log.c
+rename to lib/log.c
+diff --git a/libmisc/logind.c b/lib/logind.c
+similarity index 100%
+rename from libmisc/logind.c
+rename to lib/logind.c
+diff --git a/libmisc/loginprompt.c b/lib/loginprompt.c
+similarity index 100%
+rename from libmisc/loginprompt.c
+rename to lib/loginprompt.c
+diff --git a/libmisc/mail.c b/lib/mail.c
+similarity index 100%
+rename from libmisc/mail.c
+rename to lib/mail.c
+diff --git a/libmisc/motd.c b/lib/motd.c
+similarity index 100%
+rename from libmisc/motd.c
+rename to lib/motd.c
+diff --git a/libmisc/myname.c b/lib/myname.c
+similarity index 100%
+rename from libmisc/myname.c
+rename to lib/myname.c
+diff --git a/libmisc/obscure.c b/lib/obscure.c
+similarity index 100%
+rename from libmisc/obscure.c
+rename to lib/obscure.c
+diff --git a/libmisc/pam_pass.c b/lib/pam_pass.c
+similarity index 100%
+rename from libmisc/pam_pass.c
+rename to lib/pam_pass.c
+diff --git a/libmisc/pam_pass_non_interactive.c b/lib/pam_pass_non_interactive.c
+similarity index 100%
+rename from libmisc/pam_pass_non_interactive.c
+rename to lib/pam_pass_non_interactive.c
+diff --git a/libmisc/prefix_flag.c b/lib/prefix_flag.c
+similarity index 100%
+rename from libmisc/prefix_flag.c
+rename to lib/prefix_flag.c
+diff --git a/lib/prototypes.h b/lib/prototypes.h
+index 47ed2ca1c..25ee3a093 100644
+--- a/lib/prototypes.h
++++ b/lib/prototypes.h
+@@ -10,7 +10,7 @@
+ /*
+  * prototypes.h
+  *
+- * prototypes of libmisc functions, and private lib functions.
++ * prototypes of some lib functions, and private lib functions.
+  *
+  * $Id$
+  *
+diff --git a/libmisc/pwd2spwd.c b/lib/pwd2spwd.c
+similarity index 100%
+rename from libmisc/pwd2spwd.c
+rename to lib/pwd2spwd.c
+diff --git a/libmisc/pwd_init.c b/lib/pwd_init.c
+similarity index 100%
+rename from libmisc/pwd_init.c
+rename to lib/pwd_init.c
+diff --git a/libmisc/pwdcheck.c b/lib/pwdcheck.c
+similarity index 100%
+rename from libmisc/pwdcheck.c
+rename to lib/pwdcheck.c
+diff --git a/libmisc/readpassphrase.c b/lib/readpassphrase.c
+similarity index 100%
+rename from libmisc/readpassphrase.c
+rename to lib/readpassphrase.c
+diff --git a/libmisc/readpassphrase.h b/lib/readpassphrase.h
+similarity index 100%
+rename from libmisc/readpassphrase.h
+rename to lib/readpassphrase.h
+diff --git a/libmisc/remove_tree.c b/lib/remove_tree.c
+similarity index 100%
+rename from libmisc/remove_tree.c
+rename to lib/remove_tree.c
+diff --git a/libmisc/rlogin.c b/lib/rlogin.c
+similarity index 100%
+rename from libmisc/rlogin.c
+rename to lib/rlogin.c
+diff --git a/libmisc/root_flag.c b/lib/root_flag.c
+similarity index 100%
+rename from libmisc/root_flag.c
+rename to lib/root_flag.c
+diff --git a/libmisc/salt.c b/lib/salt.c
+similarity index 100%
+rename from libmisc/salt.c
+rename to lib/salt.c
+diff --git a/libmisc/setugid.c b/lib/setugid.c
+similarity index 100%
+rename from libmisc/setugid.c
+rename to lib/setugid.c
+diff --git a/libmisc/setupenv.c b/lib/setupenv.c
+similarity index 100%
+rename from libmisc/setupenv.c
+rename to lib/setupenv.c
+diff --git a/libmisc/shell.c b/lib/shell.c
+similarity index 100%
+rename from libmisc/shell.c
+rename to lib/shell.c
+diff --git a/libmisc/strtoday.c b/lib/strtoday.c
+similarity index 100%
+rename from libmisc/strtoday.c
+rename to lib/strtoday.c
+diff --git a/libmisc/sub.c b/lib/sub.c
+similarity index 100%
+rename from libmisc/sub.c
+rename to lib/sub.c
+diff --git a/libmisc/sulog.c b/lib/sulog.c
+similarity index 100%
+rename from libmisc/sulog.c
+rename to lib/sulog.c
+diff --git a/libmisc/ttytype.c b/lib/ttytype.c
+similarity index 100%
+rename from libmisc/ttytype.c
+rename to lib/ttytype.c
+diff --git a/libmisc/tz.c b/lib/tz.c
+similarity index 100%
+rename from libmisc/tz.c
+rename to lib/tz.c
+diff --git a/libmisc/ulimit.c b/lib/ulimit.c
+similarity index 100%
+rename from libmisc/ulimit.c
+rename to lib/ulimit.c
+diff --git a/libmisc/user_busy.c b/lib/user_busy.c
+similarity index 100%
+rename from libmisc/user_busy.c
+rename to lib/user_busy.c
+diff --git a/libmisc/utmp.c b/lib/utmp.c
+similarity index 100%
+rename from libmisc/utmp.c
+rename to lib/utmp.c
+diff --git a/libmisc/valid.c b/lib/valid.c
+similarity index 100%
+rename from libmisc/valid.c
+rename to lib/valid.c
+diff --git a/libmisc/xgetXXbyYY.c b/lib/xgetXXbyYY.c
+similarity index 100%
+rename from libmisc/xgetXXbyYY.c
+rename to lib/xgetXXbyYY.c
+diff --git a/libmisc/xgetgrgid.c b/lib/xgetgrgid.c
+similarity index 100%
+rename from libmisc/xgetgrgid.c
+rename to lib/xgetgrgid.c
+diff --git a/libmisc/xgetgrnam.c b/lib/xgetgrnam.c
+similarity index 100%
+rename from libmisc/xgetgrnam.c
+rename to lib/xgetgrnam.c
+diff --git a/libmisc/xgetpwnam.c b/lib/xgetpwnam.c
+similarity index 100%
+rename from libmisc/xgetpwnam.c
+rename to lib/xgetpwnam.c
+diff --git a/libmisc/xgetpwuid.c b/lib/xgetpwuid.c
+similarity index 100%
+rename from libmisc/xgetpwuid.c
+rename to lib/xgetpwuid.c
+diff --git a/libmisc/xgetspnam.c b/lib/xgetspnam.c
+similarity index 100%
+rename from libmisc/xgetspnam.c
+rename to lib/xgetspnam.c
+diff --git a/libmisc/xprefix_getpwnam.c b/lib/xprefix_getpwnam.c
+similarity index 100%
+rename from libmisc/xprefix_getpwnam.c
+rename to lib/xprefix_getpwnam.c
+diff --git a/libmisc/yesno.c b/lib/yesno.c
+similarity index 100%
+rename from libmisc/yesno.c
+rename to lib/yesno.c
+diff --git a/libmisc/.indent.pro b/libmisc/.indent.pro
+deleted file mode 100644
+index fe572bb76..000000000
+--- a/libmisc/.indent.pro
++++ /dev/null
+@@ -1,5 +0,0 @@
+--kr
+--i8
+--bad
+--pcs
+--l80
+diff --git a/libmisc/Makefile.am b/libmisc/Makefile.am
+deleted file mode 100644
+index 5eba4650a..000000000
+--- a/libmisc/Makefile.am
++++ /dev/null
+@@ -1,105 +0,0 @@
+-
+-EXTRA_DIST = .indent.pro xgetXXbyYY.c
+-
+-AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS)
+-
+-noinst_LTLIBRARIES = libmisc.la
+-
+-if USE_PAM
+-LIBCRYPT_PAM = $(LIBCRYPT)
+-else
+-LIBCRYPT_PAM =
+-endif
+-
+-libmisc_la_CFLAGS = $(LIBBSD_CFLAGS) $(LIBCRYPT_PAM) $(LIBSYSTEMD)
+-libmisc_la_SOURCES = \
+-	addgrps.c \
+-	age.c \
+-	agetpass.c \
+-	audit_help.c \
+-	basename.c \
+-	chkname.c \
+-	chkname.h \
+-	chowndir.c \
+-	chowntty.c \
+-	cleanup.c \
+-	cleanup_group.c \
+-	cleanup_user.c \
+-	console.c \
+-	copydir.c \
+-	date_to_str.c \
+-	entry.c \
+-	env.c \
+-	failure.c \
+-	failure.h \
+-	find_new_gid.c \
+-	find_new_uid.c \
+-	find_new_sub_gids.c \
+-	find_new_sub_uids.c \
+-	getdate.h \
+-	getdate.y \
+-	getgr_nam_gid.c \
+-	getrange.c \
+-	gettime.c \
+-	hushed.c \
+-	idmapping.h \
+-	idmapping.c \
+-	isexpired.c \
+-	limits.c \
+-	list.c \
+-	loginprompt.c \
+-	mail.c \
+-	motd.c \
+-	myname.c \
+-	obscure.c \
+-	pam_pass.c \
+-	pam_pass_non_interactive.c \
+-	prefix_flag.c \
+-	pwd2spwd.c \
+-	pwdcheck.c \
+-	pwd_init.c \
+-	csrand.c \
+-	remove_tree.c \
+-	rlogin.c \
+-	root_flag.c \
+-	salt.c \
+-	setugid.c \
+-	setupenv.c \
+-	shell.c \
+-	strtoday.c \
+-	sub.c \
+-	sulog.c \
+-	ttytype.c \
+-	tz.c \
+-	ulimit.c \
+-	user_busy.c \
+-	valid.c \
+-	xgetpwnam.c \
+-	xprefix_getpwnam.c \
+-	xgetpwuid.c \
+-	xgetgrnam.c \
+-	xgetgrgid.c \
+-	xgetspnam.c \
+-	yesno.c
+-
+-if WITH_BTRFS
+-libmisc_la_SOURCES += btrfs.c
+-endif
+-
+-if ENABLE_LASTLOG
+-libmisc_la_SOURCES += log.c
+-endif
+-
+-if ENABLE_LOGIND
+-libmisc_la_SOURCES += logind.c
+-else
+-libmisc_la_SOURCES += utmp.c
+-endif
+-
+-if !WITH_LIBBSD
+-libmisc_la_SOURCES += \
+-	freezero.h \
+-	freezero.c \
+-	readpassphrase.h \
+-	readpassphrase.c
+-endif
+diff --git a/libsubid/Makefile.am b/libsubid/Makefile.am
+index 09ec3416d..5ba0ab357 100644
+--- a/libsubid/Makefile.am
++++ b/libsubid/Makefile.am
+@@ -21,10 +21,8 @@ MISCLIBS = \
+ 
+ libsubid_la_LIBADD = \
+ 	$(top_builddir)/lib/libshadow.la \
+-	$(top_builddir)/libmisc/libmisc.la \
+ 	$(MISCLIBS) -ldl
+ 
+ AM_CPPFLAGS = \
+ 	-I${top_srcdir}/lib \
+-	-I${top_srcdir}/libmisc \
+ 	-DLOCALEDIR=\"$(datadir)/locale\"
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 0b318a5fe..d6c877519 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1,24 +1,68 @@
+ # List of files which contain translatable strings.
+ 
++lib/addgrps.c
++lib/age.c
++lib/audit_help.c
++lib/basename.c
++lib/chkname.c
++lib/chowndir.c
++lib/chowntty.c
++lib/cleanup.c
++lib/cleanup_group.c
++lib/cleanup_user.c
+ lib/commonio.c
++lib/console.c
++lib/copydir.c
++lib/date_to_str.c
+ lib/encrypt.c
++lib/entry.c
++lib/env.c
++lib/failure.c
+ lib/fields.c
++lib/find_new_gid.c
++lib/find_new_sub_gids.c
++lib/find_new_sub_uids.c
++lib/find_new_uid.c
+ lib/fputsx.c
+-lib/getdef.c
+ lib/get_gid.c
+-lib/getlong.c
+ lib/get_uid.c
++lib/getdef.c
++lib/getlong.c
++lib/getgr_nam_gid.c
++lib/getrange.c
+ lib/groupio.c
+ lib/groupmem.c
+ lib/gshadow.c
++lib/hushed.c
++lib/idmapping.c
++lib/isexpired.c
++lib/limits.c
++lib/list.c
+ lib/lockpw.c
++lib/log.c
++lib/loginprompt.c
++lib/mail.c
++lib/motd.c
++lib/myname.c
+ lib/nscd.c
++lib/obscure.c
++lib/pam_pass.c
++lib/pam_pass_non_interactive.c
+ lib/port.c
+ lib/pwauth.c
++lib/pwd_init.c
++lib/pwd2spwd.c
++lib/pwdcheck.c
+ lib/pwio.c
+ lib/pwmem.c
++lib/remove_tree.c
++lib/rlogin.c
++lib/root_flag.c
++lib/salt.c
+ lib/selinux.c
+ lib/semanage.c
++lib/setugid.c
++lib/setupenv.c
+ lib/sgetgrent.c
+ lib/sgetpwent.c
+ lib/sgetspent.c
+@@ -26,64 +70,20 @@ lib/sgroupio.c
+ lib/shadow.c
+ lib/shadowio.c
+ lib/shadowmem.c
++lib/shell.c
+ lib/spawn.c
++lib/strtoday.c
++lib/sub.c
++lib/sulog.c
+ lib/tcbfuncs.c
+-libmisc/addgrps.c
+-libmisc/age.c
+-libmisc/audit_help.c
+-libmisc/basename.c
+-libmisc/chkname.c
+-libmisc/chowndir.c
+-libmisc/chowntty.c
+-libmisc/cleanup.c
+-libmisc/cleanup_group.c
+-libmisc/cleanup_user.c
+-libmisc/console.c
+-libmisc/copydir.c
+-libmisc/date_to_str.c
+-libmisc/entry.c
+-libmisc/env.c
+-libmisc/failure.c
+-libmisc/find_new_gid.c
+-libmisc/find_new_sub_gids.c
+-libmisc/find_new_sub_uids.c
+-libmisc/find_new_uid.c
+-libmisc/getgr_nam_gid.c
+-libmisc/getrange.c
+-libmisc/hushed.c
+-libmisc/idmapping.c
+-libmisc/isexpired.c
+-libmisc/limits.c
+-libmisc/list.c
+-libmisc/log.c
+-libmisc/loginprompt.c
+-libmisc/mail.c
+-libmisc/motd.c
+-libmisc/myname.c
+-libmisc/obscure.c
+-libmisc/pam_pass.c
+-libmisc/pam_pass_non_interactive.c
+-libmisc/pwd2spwd.c
+-libmisc/pwdcheck.c
+-libmisc/pwd_init.c
+-libmisc/remove_tree.c
+-libmisc/rlogin.c
+-libmisc/root_flag.c
+-libmisc/salt.c
+-libmisc/setugid.c
+-libmisc/setupenv.c
+-libmisc/shell.c
+-libmisc/strtoday.c
+-libmisc/sub.c
+-libmisc/sulog.c
+-libmisc/ttytype.c
+-libmisc/tz.c
+-libmisc/ulimit.c
+-libmisc/user_busy.c
+-libmisc/utmp.c
+-libmisc/valid.c
+-libmisc/xgetXXbyYY.c
+-libmisc/yesno.c
++lib/ttytype.c
++lib/tz.c
++lib/ulimit.c
++lib/user_busy.c
++lib/utmp.c
++lib/valid.c
++lib/xgetXXbyYY.c
++lib/yesno.c
+ src/chage.c
+ src/chfn.c
+ src/chgpasswd.c
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 585a0b7e9..fcfee9d2c 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -9,7 +9,6 @@ sgidperms = 2755
+ 
+ AM_CPPFLAGS = \
+ 	-I${top_srcdir}/lib \
+-	-I$(top_srcdir)/libmisc \
+ 	-I$(top_srcdir) \
+ 	-DLOCALEDIR=\"$(datadir)/locale\" \
+ 	$(ECONF_CPPFLAGS)
+@@ -85,7 +84,6 @@ shadowsgidubins = passwd
+ endif
+ 
+ LDADD          = $(INTLLIBS) \
+-		 $(top_builddir)/libmisc/libmisc.la \
+ 		 $(top_builddir)/lib/libshadow.la \
+ 		 $(LIBTCB)
+ 
+@@ -183,59 +181,49 @@ MISCLIBS = \
+ 
+ getsubids_LDADD = \
+ 	$(top_builddir)/lib/libshadow.la \
+-	$(top_builddir)/libmisc/libmisc.la \
+ 	$(top_builddir)/libsubid/libsubid.la \
+ 	$(MISCLIBS) -ldl
+ 
+ getsubids_CPPFLAGS = \
+ 	-I$(top_srcdir)/lib \
+-	-I$(top_srcdir)/libmisc \
+ 	-I$(top_srcdir) \
+ 	-I$(top_builddir)/libsubid
+ 
+ get_subid_owners_LDADD = \
+ 	$(top_builddir)/lib/libshadow.la \
+-	$(top_builddir)/libmisc/libmisc.la \
+ 	$(top_builddir)/libsubid/libsubid.la \
+ 	$(MISCLIBS) -ldl
+ 
+ get_subid_owners_CPPFLAGS = \
+ 	-I$(top_srcdir)/lib \
+-	-I$(top_srcdir)/libmisc \
+ 	-I$(top_srcdir) \
+ 	-I$(top_builddir)/libsubid
+ 
+ new_subid_range_CPPFLAGS = \
+ 	-I$(top_srcdir)/lib \
+-	-I$(top_srcdir)/libmisc \
+ 	-I$(top_srcdir) \
+ 	-I$(top_builddir)/libsubid
+ 
+ new_subid_range_LDADD = \
+ 	$(top_builddir)/lib/libshadow.la \
+-	$(top_builddir)/libmisc/libmisc.la \
+ 	$(top_builddir)/libsubid/libsubid.la \
+ 	$(MISCLIBS) -ldl
+ 
+ free_subid_range_CPPFLAGS = \
+ 	-I$(top_srcdir)/lib \
+-	-I$(top_srcdir)/libmisc \
+ 	-I$(top_srcdir) \
+ 	-I$(top_builddir)/libsubid
+ 
+ free_subid_range_LDADD = \
+ 	$(top_builddir)/lib/libshadow.la \
+-	$(top_builddir)/libmisc/libmisc.la \
+ 	$(top_builddir)/libsubid/libsubid.la \
+ 	$(MISCLIBS) -ldl
+ 
+ check_subid_range_CPPFLAGS = \
+ 	-I$(top_srcdir)/lib \
+-	-I$(top_srcdir) \
+-	-I$(top_srcdir)/libmisc
++	-I$(top_srcdir)
+ 
+ check_subid_range_LDADD = \
+ 	$(top_builddir)/lib/libshadow.la \
+-	$(top_builddir)/libmisc/libmisc.la \
+ 	$(MISCLIBS) -ldl
+ endif
+diff --git a/src/su.c b/src/su.c
+index d8a208572..28445a300 100644
+--- a/src/su.c
++++ b/src/su.c
+@@ -97,8 +97,8 @@ static pid_t pid_child = 0;
+  * External identifiers
+  */
+ 
+-extern char **newenvp; /* libmisc/env.c */
+-extern size_t newenvc; /* libmisc/env.c */
++extern char **newenvp; /* lib/env.c */
++extern size_t newenvc; /* lib/env.c */
+ 
+ /* local function prototypes */
+ 

diff --git a/sys-apps/shadow/shadow-4.14.0-r2.ebuild b/sys-apps/shadow/shadow-4.14.0-r3.ebuild
similarity index 96%
rename from sys-apps/shadow/shadow-4.14.0-r2.ebuild
rename to sys-apps/shadow/shadow-4.14.0-r3.ebuild
index b56af87c4778..f968474c789e 100644
--- a/sys-apps/shadow/shadow-4.14.0-r2.ebuild
+++ b/sys-apps/shadow/shadow-4.14.0-r3.ebuild
@@ -3,12 +3,16 @@
 
 EAPI=8
 
+if [[ ${PV} != 4.14.0 ]]; then
+	die "Please replace eautoreconf with elibtoolize and drop autotools when bumping!"
+fi
+
 # Upstream sometimes pushes releases as pre-releases before marking them
 # official. Don't keyword the pre-releases!
 # Check https://github.com/shadow-maint/shadow/releases.
 
 VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/sergehallyn.asc
-inherit libtool pam verify-sig
+inherit autotools libtool pam verify-sig
 
 DESCRIPTION="Utilities to deal with user accounts"
 HOMEPAGE="https://github.com/shadow-maint/shadow"
@@ -66,9 +70,11 @@ BDEPEND="
 "
 
 src_prepare() {
+	local PATCHES=(
+		"${FILESDIR}"/shadow-4.14.0-bug912446.patch
+	)
 	default
-
-	elibtoolize
+	eautoreconf
 }
 
 src_configure() {


             reply	other threads:[~2023-09-19  0:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-19  0:55 Mike Gilbert [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-06-17  2:40 [gentoo-commits] repo/gentoo:master commit in: sys-apps/shadow/files/, sys-apps/shadow/ Sam James
2023-04-18 16:35 Mike Gilbert
2021-12-20  1:41 Sam James
2021-12-20  1:27 Sam James
2021-07-25 14:05 Lars Wendler
2020-04-21  8:24 Lars Wendler
2019-12-01 21:50 Patrick McLean
2019-11-19 10:37 Lars Wendler
2018-02-17 12:50 Lars Wendler
2016-12-06 10:35 Lars Wendler
2016-12-05 22:20 Mike Frysinger

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=1695084924.75209a50623aa5538ecbf940c20e69d55b0693f1.floppym@gentoo \
    --to=floppym@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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