shadow: Update to version 4.14.2

Message ID 20231110105910.11113-7-adolf.belka@ipfire.org
State Staged
Commit c012d7c0b4fb1078d1b9ccfe0742251fd51419a4
Headers
Series shadow: Update to version 4.14.2 |

Commit Message

Adolf Belka Nov. 10, 2023, 10:59 a.m. UTC
  - Update from version 4.13 to 4.14.2
- Update of rootfile not required
- Supress installation of groups patch updated for changed layout of source tarball
- Changelog
    4.14.2:
	    libshadow:
	        Fix build with musl libc.
	        Avoid NULL dereference.
	        Update utmp at an initial login
	    useradd(8):
	        Set proper SELinux labels for def_usrtemplate
	    Manual:
	        Document --prefix in chage(1), chpasswd(8), and passwd(1)
    4.14.1:
	    Build system:
	        Merge libshadow and libmisc into a single libshadow. This fixes
	        problems in the linker, which were reported at least in Gentoo.
    4.14.0
      This release includes some steps toward preparing for the Y2038 (e.g. removing
      lastlog conditionally), a great deal of removal of obsolete function checks (like
      rmdir), and overhaul of some string manipulation functions, of which there is
      more to come. And a great deal more. The abbreviated git log follows:
	Serge Hallyn: configure.ac: check for strlcpy
	Michael Vetter: Remove intree website
	Serge Hallyn: 4.14.0-rc4 pre-release
	Serge Hallyn: Releases: add etc/shadow-maint to distfiles
	Serge Hallyn: 4.14.0-rc3
	Iker Pedrosa: libmisc: include freezero
	Iker Pedrosa: libmisc: add freezero source code
	Iker Pedrosa: libmisc: add readpassphrase source code
	Iker Pedrosa: configure: add with-libbsd option
	Iker Pedrosa: man: include shadow-man.xsl in tarball
	Iker Pedrosa: man: include its.rules in tarball
	Iker Pedrosa: autogen: enable lastlog build
	Christian Göttsche: Add wrapper for write(2)
	Serge Hallyn: tag 4.14.0-rc2
	Michael Vetter: Add new files to libmisc_la_SOURCES
	Serge Hallyn: Add a make dist CI test
	Serge Hallyn: 4.14.0-rc1
	Serge Hallyn: remove xmalloc.c from POTFILES.in
	Iker Pedrosa: logoutd: add missing <utmp.h> include
	Iker Pedrosa: CI: compile old utmp interface in Fedora
	Iker Pedrosa: src: add SELINUX library
	Iker Pedrosa: libmisc: conditionally compile utmp.c and logind.c
	Iker Pedrosa: lib: replace USER_NAME_MAX_LENGTH macro
	Iker Pedrosa: libmisc: call active_sessions_count()
	Iker Pedrosa: libmisc: implement active_sessions_count()
	Iker Pedrosa: utmp: update update_utmp()
	Iker Pedrosa: utmp: move update_utmp
	Iker Pedrosa: utmp: move failtmp()
	Iker Pedrosa: libmisc: implement get_session_host()
	Iker Pedrosa: configure: new option enable-logind
	xiongshenglan: shadow userdel: add the adaptation to the busybox ps in 01-kill_user_procs.sh
	Michael Vetter: chsh: warn if root sets a shell not listed in /etc/shells
	Michael Vetter: doc: mention ci workflow file to learn about deps
	Serge Hallyn: man/po/Makefile: add a comment to shadow-man-pages.pot
	Vegard Nossum: newgrp: fix potential string injection
	Todd Zullinger: lastlog: fix alignment of Latest header
	Iker Pedrosa: configure: fix lastlog check
	Alan D. Salewski: subuid.5: reference newusers(8) rather than newusers(1)
	Iker Pedrosa: CI: build lastlog in Fedora
	Iker Pedrosa: man: conditionally build lastlog documentation
	Iker Pedrosa: usermod: conditionally build lastlog functionality
	Iker Pedrosa: useradd: conditionally build lastlog functionality
	Iker Pedrosa: login: conditionally build lastlog functionality
	Iker Pedrosa: lastlog: stop building by default
	Iker Pedrosa: CI: update debian repos
	Bernd Kuhls: Fix yescrypt support
	Jeffrey Bencteux: chgpasswd: fix segfault in command-line options
	Alejandro Colomar: gpasswd(1): Fix password leak
	Alejandro Colomar: src/useradd.c: create_mail(): Cosmetic
	Alejandro Colomar: src/useradd.c: create_home(): Cosmetic
	Alejandro Colomar: src/useradd.c: create_home(): Cosmetic
	Alejandro Colomar: src/useradd.c: create_home(): Cosmetic
	Alejandro Colomar: src/useradd.c: close_group_files(): Cosmetic
	Alejandro Colomar: src/useradd.c: check_uid_range(): Cosmetic
	Jaroslav Jindrak: build: link passwd, chpasswd and chage against libdl
	Jaroslav Jindrak: configure: check whether fgetpwent_r is available before marking xprefix_getpwnam_r as reentrant
	Jaroslav Jindrak: passwd: fall back to non-PAM code when prefix is used
	Jaroslav Jindrak: chpasswd: fall back to non-PAM code when prefix is used
	Jaroslav Jindrak: chpasswd: add --prefix/-P options
	Jaroslav Jindrak: chage: add --prefix/-P options
	Jaroslav Jindrak: passwd: Respect --prefix/-P options
	Michael Vetter: prefix: add prefix support
	Iker Pedrosa: strtoday: remove unnecessary cast
	Alejandro Colomar: Use temporary variable
	Alejandro Colomar: realloc(NULL, ...) is equivalent to malloc(...)
	Alejandro Colomar: Simplify allocation APIs
	Christian Göttsche: Drop alloca(3)
	Christian Göttsche: usermod: fix off-by-one issues
	Alejandro Colomar: libmisc/csrand.c: Update comments
	Alejandro Colomar: lib/nss.c: Fix use of invalid p
	Alejandro Colomar: lib/nss.c: Fix use of uninitialized p
	Alejandro Colomar: Centralize error handling
	Alejandro Colomar: Second verse, it gets worse; it gets no better than this
	Alejandro Colomar: ROFL: Rolling on the floor looping
	Alejandro Colomar: This ain't no loop
	Iker Pedrosa: newusers: Improve error message
	Martin Kletzander: ch(g)passwd: Check selinux permissions upon startup
	Skyler Ferrante: Check if crypt_method null before dereferencing
	Alejandro Colomar: xgetXXbyYY: Simplify elifs
	Alejandro Colomar: xgetXXbyYY: Centralize error handling
	Alejandro Colomar: xgetXXbyYY: tfix
	Samanta Navarro: xgetXXbyYY: Avoid duplicated error handling block
	Samanta Navarro: xgetXXbyYY: Handle DUP_FUNCTION failure
	Serge Hallyn: sub_[ug]id_{add,remove}: fix return values
	Martin Kletzander: usermod: Small optimization using memmove for password unlock
	Alejandro Colomar: Reorder logic to improve comprehensibility
	Alejandro Colomar: newusers: Fail early
	Alejandro Colomar: newusers: Add missing error handling
	Samanta Navarro: libmisc: Use safer chroot/chdir sequence
	Samanta Navarro: su: Prevent stack overflow in check_perms
	Samanta Navarro: subsystem: Prevent endless loop
	Serge Hallyn: def_load: avoid NULL deref
	Serge Hallyn: def_load: split the econf from non-econf definition
	Tobias Stoeckmann: Plug econf memory leaks
	Samanta Navarro: chsh: Verify that login shell path is absolute
	Samanta Navarro: process_prefix_flag: Drop privileges
	bubu: Update French translations
	Samanta Navarro: get_pid.c: Use tighter validation checks
	Markus Hiereth: replace inadequate German translation of login error message
	Markus Hiereth: Update German translations
	Samanta Navarro: Remove some static char arrays
	Samanta Navarro: commonio: Use do_lock_file again
	Serge Hallyn: Fix broken docbook translations
	ed neville: open with O_CREAT when lock path does not exist
	Samanta Navarro: commonio_open: Remove fcntl call
	Samanta Navarro: commonio_lock_nowait: Remove deprecated code
	Samanta Navarro: login_prompt: Simplify login_prompt API
	Samanta Navarro: login_prompt: Use _exit in signal handler
	Samanta Navarro: login_prompt: Do not parse environment variables
	Samanta Navarro: libmisc/yesno.c: Fix regression
	Alejandro Colomar: libmisc, man: Drop old check and advice for complex character sets in passwords
	Christian Göttsche: semanage: disconnect to free libsemanage internals
	Christian Göttsche: commonio: free removed database entries
	ed neville: run_parts for groupadd and groupdel
	lilinjie: fix typos
	Alejandro Colomar: libmisc/yesno.c: Use getline(3) and rpmatch(3)
	Samanta Navarro: newgrp/useradd: always set SIGCHLD to default
	Serge Hallyn: Update AUTHORS to add Marek Michałkiewicz
	Samanta Navarro: Read whole line in yes_or_no
	Christian Göttsche: useradd/usermod: add --selinux-range argument
	Alejandro Colomar: CI: Make build logs more readable
	Iker Pedrosa: ci: remove explicit fedora dependencies
	Iker Pedrosa: README: add reference to contribution guidelines
	Iker Pedrosa: doc: add contributions introduction
	Iker Pedrosa: doc: add license
	Iker Pedrosa: doc: add releases
	Iker Pedrosa: doc: add Continuous Integration
	Iker Pedrosa: doc: add tests
	Iker Pedrosa: doc: add coding style
	Iker Pedrosa: doc: add build & install
	Serge Hallyn: trivial: vipw.8: fix grammar
	Christian Göttsche: sssd: skip flushing if executable does not exist
	Christian Göttsche: Overhaul valid_field()
	Martin Kletzander: semanage: Do not set default SELinux range
	Michael Vetter: Fix typo in groupadd usage
	Christian Göttsche: ci: update Differential ShellCheck
	tomspiderlabs: Added control character check
	Mike Gilbert: usermod: respect --prefix for --gid option
	Alejandro Colomar: Fix su(1) silent truncation
	Alejandro Colomar: Simplify is_my_tty()
	Alejandro Colomar: Fix is_my_tty() buffer overrun
	Alejandro Colomar: Add STRLEN(): a constexpr strlen(3) for string literals
	Alejandro Colomar: Fix crash with large timestamps
	Paul Eggert: Prefer strcpy(3) to strlcpy(3) when either works
	Paul Eggert: Fix change_field() buffer underrun
	Paul Eggert: Omit unneeded test in change_field()
	Paul Eggert: Simplify change_field() by using strcpy
	skyler-ferrante: Fix null dereference in basename
	Iker Pedrosa: CI: script for local container build
	Iker Pedrosa: CI: build project in containers
	Iker Pedrosa: container: add fedora
	Iker Pedrosa: container: add debian
	Iker Pedrosa: container: add alpine
	Iker Pedrosa: SECURITY.md: add Iker Pedrosa
	Christian Göttsche: selinux: use type safe function pointer assignment
	Christian Göttsche: Use strict prototype in definition
	Vinícius dos Santos Oliveira: Add .editorconfig
	Serge Hallyn: run_some: fix shellcheck warning
	Serge Hallyn: fail on any run_some test failure
	Serge Hallyn: ignore first test in run_some
	Serge Hallyn: swap first two tests - does the first one still fail?
	Serge Hallyn: tests: remove some github runner PATH tweaking
	Alejandro Colomar: tests: Support git-worktree(1)
	Serge Hallyn: tests: newuidmap and newgidmap: update expected fail message
	Serge Hallyn: libsubid: include alloc.h
	Serge Hallyn: run_some: log stderr
	Vinícius dos Santos Oliveira: Validate fds created by the user
	Serge Hallyn: get_pidfd_from_fd: return -1 on error, not 0
	Serge Hallyn: g-h-a workflow: workaround
	Serge Hallyn: Fix regression in some translation strings
	Iker Pedrosa: lib: bit_ceil_wrapul(): stop recursion
	Iker Pedrosa: lib: define ULONG_WIDTH if non-existent
	maqi: Update translation
	Serge Hallyn: newuidmap and newgidmap: support passing pid as fd
	Alejandro Colomar: Fix use-after-free of pointer after realloc(3)
	Alejandro Colomar: Use safer allocation macros
	Alejandro Colomar: libmisc: Add safer allocation macros
	Alejandro Colomar: Use xreallocarray() instead of its pattern
	Alejandro Colomar: Use reallocarrayf() instead of its pattern

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/shadow                                    |   9 +-
 ...4.13-suppress_installation_of_groups.patch | 267 ------------------
 ...14.2-suppress_installation_of_groups.patch | 259 +++++++++++++++++
 3 files changed, 264 insertions(+), 271 deletions(-)
 delete mode 100644 src/patches/shadow-4.13-suppress_installation_of_groups.patch
 create mode 100644 src/patches/shadow-4.14.2-suppress_installation_of_groups.patch
  

Patch

diff --git a/lfs/shadow b/lfs/shadow
index 299fb3dea..1c0afc088 100644
--- a/lfs/shadow
+++ b/lfs/shadow
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 4.13
+VER        = 4.14.2
 
 THISAPP    = shadow-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 315ab8a7e598aeefb50c11293e20cfa0982c3c3ae21c35ae243d09a4facf97a13c1d672990876e74ef94f5284402acf14997663743e2aaefa6cfc4369b7d24dc
+$(DL_FILE)_BLAKE2 = 419f0a516753616ef691f71ec9002eef6fd7568c013ac71900d7481eff1bd9165c69d9587b7ca25800543a2eac58cfb7ce4224063e8af7b278f589640485c28f
 
 install : $(TARGET)
 
@@ -70,7 +70,7 @@  $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/shadow-4.13-suppress_installation_of_groups.patch
+	cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/shadow-4.14.2-suppress_installation_of_groups.patch
 	$(UPDATE_AUTOMAKE)
 	cd $(DIR_APP) && ./configure \
 		--libdir=/lib \
@@ -80,7 +80,8 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 		--disable-static \
 		--without-selinux \
 		--disable-nls \
-		--with-group-name-max-length=32
+		--with-group-name-max-length=32 \
+		--without-libbsd
 
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install
diff --git a/src/patches/shadow-4.13-suppress_installation_of_groups.patch b/src/patches/shadow-4.13-suppress_installation_of_groups.patch
deleted file mode 100644
index 0ca0de236..000000000
--- a/src/patches/shadow-4.13-suppress_installation_of_groups.patch
+++ /dev/null
@@ -1,267 +0,0 @@ 
-diff -Naur shadow-4.13.orig/man/cs/Makefile.in shadow-4.13/man/cs/Makefile.in
---- shadow-4.13.orig/man/cs/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/cs/Makefile.in	2023-01-07 23:37:45.110080801 +0100
-@@ -332,12 +332,12 @@
- 	man8/groupadd.8 \
- 	man8/groupdel.8 \
- 	man8/groupmod.8 \
--	man1/groups.1 \
-+	man1/ \
- 	man8/grpck.8 \
- 	man5/gshadow.5 \
- 	man8/lastlog.8 \
- 	man8/nologin.8 \
--	man5/passwd.5 \
-+	man5/ \
- 	man5/shadow.5 \
- 	man1/su.1 \
- 	man8/vipw.8
-diff -Naur shadow-4.13.orig/man/da/Makefile.in shadow-4.13/man/da/Makefile.in
---- shadow-4.13.orig/man/da/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/da/Makefile.in	2023-01-07 23:39:23.687584267 +0100
-@@ -329,7 +329,7 @@
- top_srcdir = @top_srcdir@
- 
- # 2012.01.28 - activate manpages with more than 50% translated messages
--man_MANS = man1/chfn.1 man8/groupdel.8 man1/groups.1 man5/gshadow.5 \
-+man_MANS = man1/chfn.1 man8/groupdel.8 man1/ man5/gshadow.5 \
- 	man8/logoutd.8 man1/newgrp.1 man8/nologin.8 man1/sg.1 \
- 	man8/vigr.8 man8/vipw.8 $(am__append_1)
- man_nopam = 
-diff -Naur shadow-4.13.orig/man/de/Makefile.in shadow-4.13/man/de/Makefile.in
---- shadow-4.13.orig/man/de/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/de/Makefile.in	2023-01-07 23:41:28.644419661 +0100
-@@ -330,11 +330,11 @@
- top_srcdir = @top_srcdir@
- man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
- 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
--	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
--	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
-+	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
-+	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
- 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \
- 	man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \
--	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \
-+	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/ \
- 	man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \
- 	man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \
- 	man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \
-diff -Naur shadow-4.13.orig/man/fr/Makefile.in shadow-4.13/man/fr/Makefile.in
---- shadow-4.13.orig/man/fr/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/fr/Makefile.in	2023-01-08 12:12:06.805231749 +0100
-@@ -332,11 +332,11 @@
- top_srcdir = @top_srcdir@
- man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
- 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
--	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
--	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
-+  man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
-+	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
- 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \
- 	man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \
--	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \
-+	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/ \
- 	man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \
- 	man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \
- 	man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \
-diff -Naur shadow-4.13.orig/man/hu/Makefile.in shadow-4.13/man/hu/Makefile.in
---- shadow-4.13.orig/man/hu/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/hu/Makefile.in	2023-01-08 12:12:58.220574975 +0100
-@@ -327,12 +327,12 @@
- man_MANS = \
- 	man1/chsh.1 \
- 	man1/gpasswd.1 \
--	man1/groups.1 \
-+	man1/ \
- 	man8/lastlog.8 \
- 	man1/login.1 \
- 	man1/newgrp.1 \
- 	man1/passwd.1 \
--	man5/passwd.5 \
-+	man5/ \
- 	man1/sg.1 \
- 	man1/su.1
- 
-diff -Naur shadow-4.13.orig/man/it/Makefile.in shadow-4.13/man/it/Makefile.in
---- shadow-4.13.orig/man/it/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/it/Makefile.in	2023-01-08 12:14:02.598918966 +0100
-@@ -330,11 +330,11 @@
- top_srcdir = @top_srcdir@
- man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
- 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
--	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
--	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
-+	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
-+	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
- 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \
- 	man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \
--	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \
-+	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/ \
- 	man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \
- 	man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \
- 	man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \
-diff -Naur shadow-4.13.orig/man/ja/Makefile.in shadow-4.13/man/ja/Makefile.in
---- shadow-4.13.orig/man/ja/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/ja/Makefile.in	2023-01-08 12:14:59.754116344 +0100
-@@ -328,10 +328,10 @@
- top_srcdir = @top_srcdir@
- man_MANS = man1/chage.1 man1/chfn.1 man8/chpasswd.8 man1/chsh.1 \
- 	man1/expiry.1 man5/faillog.5 man8/faillog.8 man1/gpasswd.1 \
--	man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/groups.1 \
-+	man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/ \
- 	man8/grpck.8 man8/grpconv.8 man8/grpunconv.8 man8/lastlog.8 \
- 	man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \
--	man8/newusers.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \
-+	man8/newusers.8 man1/passwd.1 man5/ man8/pwck.8 \
- 	man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man5/shadow.5 \
- 	man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \
- 	man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1)
-diff -Naur shadow-4.13.orig/man/ko/Makefile.in shadow-4.13/man/ko/Makefile.in
---- shadow-4.13.orig/man/ko/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/ko/Makefile.in	2023-01-08 12:15:43.959647149 +0100
-@@ -327,9 +327,9 @@
- man_MANS = \
- 	man1/chfn.1 \
- 	man1/chsh.1 \
--	man1/groups.1 \
-+	man1/ \
- 	man1/login.1 \
--	man5/passwd.5 \
-+	man5/ \
- 	man1/su.1 \
- 	man8/vigr.8 \
- 	man8/vipw.8
-diff -Naur shadow-4.13.orig/man/Makefile.in shadow-4.13/man/Makefile.in
---- shadow-4.13.orig/man/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/Makefile.in	2023-01-08 12:17:08.914132063 +0100
-@@ -396,11 +396,11 @@
- @USE_NLS_TRUE@SUBDIRS = po cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr uk zh_CN zh_TW
- man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
- 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
--	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
--	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
-+	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
-+	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
- 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \
- 	man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \
--	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \
-+	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/ \
- 	man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \
- 	man3/shadow.3 man5/shadow.5 man5/suauth.5 man8/useradd.8 \
- 	man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \
-diff -Naur shadow-4.13.orig/man/pl/Makefile.in shadow-4.13/man/pl/Makefile.in
---- shadow-4.13.orig/man/pl/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/pl/Makefile.in	2023-01-08 12:18:16.339068110 +0100
-@@ -331,8 +331,8 @@
- 
- # 2012.01.28 - activate manpages with more than 50% translated messages
- man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \
--	man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \
--	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
-+	man8/faillog.8 man3/ man8/groupadd.8 man8/groupdel.8 \
-+	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
- 	man8/lastlog.8 man8/logoutd.8 man1/newgrp.1 man1/sg.1 \
- 	man3/shadow.3 man8/userdel.8 man8/usermod.8 man8/vigr.8 \
- 	man8/vipw.8 $(am__append_1)
-diff -Naur shadow-4.13.orig/man/pt_BR/Makefile.in shadow-4.13/man/pt_BR/Makefile.in
---- shadow-4.13.orig/man/pt_BR/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/pt_BR/Makefile.in	2023-01-08 12:18:46.844952016 +0100
-@@ -329,7 +329,7 @@
- 	man8/groupadd.8 \
- 	man8/groupdel.8 \
- 	man8/groupmod.8 \
--	man5/passwd.5 \
-+	man5/ \
- 	man5/shadow.5
- 
- EXTRA_DIST = $(man_MANS)
-diff -Naur shadow-4.13.orig/man/ru/Makefile.in shadow-4.13/man/ru/Makefile.in
---- shadow-4.13.orig/man/ru/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/ru/Makefile.in	2023-01-08 12:20:05.019613396 +0100
-@@ -330,11 +330,11 @@
- top_srcdir = @top_srcdir@
- man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
- 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
--	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
--	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
-+	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
-+	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
- 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \
- 	man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \
--	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \
-+	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/ \
- 	man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \
- 	man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \
- 	man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \
-diff -Naur shadow-4.13.orig/man/sv/Makefile.in shadow-4.13/man/sv/Makefile.in
---- shadow-4.13.orig/man/sv/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/sv/Makefile.in	2023-01-08 12:21:14.481165613 +0100
-@@ -331,10 +331,10 @@
- 
- # 2012.01.28 - activate manpages with more than 50% translated messages
- man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \
--	man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \
--	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
-+	man8/faillog.8 man3/ man8/groupadd.8 man8/groupdel.8 \
-+	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
- 	man5/gshadow.5 man8/lastlog.8 man8/logoutd.8 man1/newgrp.1 \
--	man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \
-+	man8/nologin.8 man1/passwd.1 man5/ man8/pwck.8 \
- 	man1/sg.1 man3/shadow.3 man5/suauth.5 man8/userdel.8 \
- 	man8/vigr.8 man8/vipw.8 $(am__append_1)
- man_nopam = \
-diff -Naur shadow-4.13.orig/man/tr/Makefile.in shadow-4.13/man/tr/Makefile.in
---- shadow-4.13.orig/man/tr/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/tr/Makefile.in	2023-01-08 12:21:46.353681866 +0100
-@@ -332,7 +332,7 @@
- 	man8/groupmod.8 \
- 	man1/login.1 \
- 	man1/passwd.1 \
--	man5/passwd.5 \
-+	man5/ \
- 	man5/shadow.5 \
- 	man1/su.1 \
- 	man8/useradd.8 \
-diff -Naur shadow-4.13.orig/man/zh_CN/Makefile.in shadow-4.13/man/zh_CN/Makefile.in
---- shadow-4.13.orig/man/zh_CN/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/zh_CN/Makefile.in	2023-01-08 12:22:45.888822579 +0100
-@@ -330,11 +330,11 @@
- top_srcdir = @top_srcdir@
- man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
- 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
--	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
--	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
-+	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
-+	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
- 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \
- 	man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \
--	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \
-+	man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/ \
- 	man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \
- 	man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \
- 	man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \
-diff -Naur shadow-4.13.orig/man/zh_TW/Makefile.in shadow-4.13/man/zh_TW/Makefile.in
---- shadow-4.13.orig/man/zh_TW/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/man/zh_TW/Makefile.in	2023-01-08 12:23:20.354606005 +0100
-@@ -334,7 +334,7 @@
- 	man8/groupadd.8 \
- 	man8/groupdel.8 \
- 	man8/groupmod.8 \
--	man5/passwd.5 \
-+	man5/ \
- 	man1/su.1 \
- 	man8/useradd.8 \
- 	man8/userdel.8 \
-diff -Naur shadow-4.13.orig/src/Makefile.in shadow-4.13/src/Makefile.in
---- shadow-4.13.orig/src/Makefile.in	2022-11-08 17:37:10.000000000 +0100
-+++ shadow-4.13/src/Makefile.in	2023-01-08 12:24:35.952669040 +0100
-@@ -88,8 +88,7 @@
- POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
--bin_PROGRAMS = groups$(EXEEXT) login$(EXEEXT) $(am__EXEEXT_1) \
--	$(am__EXEEXT_2)
-+bin_PROGRAMS = login$(EXEEXT) $(am__EXEEXT_1)
- sbin_PROGRAMS = nologin$(EXEEXT)
- ubin_PROGRAMS = faillog$(EXEEXT) lastlog$(EXEEXT) chage$(EXEEXT) \
- 	chfn$(EXEEXT) chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) \
diff --git a/src/patches/shadow-4.14.2-suppress_installation_of_groups.patch b/src/patches/shadow-4.14.2-suppress_installation_of_groups.patch
new file mode 100644
index 000000000..91c25c218
--- /dev/null
+++ b/src/patches/shadow-4.14.2-suppress_installation_of_groups.patch
@@ -0,0 +1,259 @@ 
+diff -Naur shadow-4.14.2.orig/man/cs/Makefile.in shadow-4.14.2/man/cs/Makefile.in
+--- shadow-4.14.2.orig/man/cs/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/cs/Makefile.in	2023-11-09 14:39:12.397603428 +0100
+@@ -334,8 +334,8 @@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ man_MANS = man1/expiry.1 man5/faillog.5 man8/faillog.8 man1/gpasswd.1 \
+-	man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/groups.1 \
+-	man8/grpck.8 man5/gshadow.5 man8/nologin.8 man5/passwd.5 \
++	man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/ \
++	man8/grpck.8 man5/gshadow.5 man8/nologin.8 man5/ \
+ 	man5/shadow.5 man1/su.1 man8/vipw.8 $(am__append_1)
+ EXTRA_DIST = $(man_MANS) \
+ 	man1/id.1 \
+diff -Naur shadow-4.14.2.orig/man/da/Makefile.in shadow-4.14.2/man/da/Makefile.in
+--- shadow-4.14.2.orig/man/da/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/da/Makefile.in	2023-11-09 14:40:35.104051500 +0100
+@@ -337,7 +337,7 @@
+ top_srcdir = @top_srcdir@
+ 
+ # 2012.01.28 - activate manpages with more than 50% translated messages
+-man_MANS = man1/chfn.1 man8/groupdel.8 man1/groups.1 man5/gshadow.5 \
++man_MANS = man1/chfn.1 man8/groupdel.8 man1/ man5/gshadow.5 \
+ 	man8/logoutd.8 man1/newgrp.1 man8/nologin.8 man1/sg.1 \
+ 	man8/vigr.8 man8/vipw.8 $(am__append_1)
+ man_nopam = 
+diff -Naur shadow-4.14.2.orig/man/de/Makefile.in shadow-4.14.2/man/de/Makefile.in
+--- shadow-4.14.2.orig/man/de/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/de/Makefile.in	2023-11-09 14:58:08.953606477 +0100
+@@ -339,11 +339,11 @@
+ top_srcdir = @top_srcdir@
+ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
+ 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
+-	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
+-	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
++	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
++	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
+ 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \
+ 	man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \
+-	man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \
++	man8/nologin.8 man1/passwd.1 man5/ man8/pwck.8 \
+ 	man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \
+ 	man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \
+ 	man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \
+diff -Naur shadow-4.14.2.orig/man/fr/Makefile.in shadow-4.14.2/man/fr/Makefile.in
+--- shadow-4.14.2.orig/man/fr/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/fr/Makefile.in	2023-11-09 14:57:48.282831779 +0100
+@@ -341,11 +341,11 @@
+ top_srcdir = @top_srcdir@
+ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
+ 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
+-	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
+-	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
++	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
++	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
+ 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \
+ 	man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \
+-	man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \
++	man8/nologin.8 man1/passwd.1 man5/ man8/pwck.8 \
+ 	man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \
+ 	man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \
+ 	man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \
+diff -Naur shadow-4.14.2.orig/man/hu/Makefile.in shadow-4.14.2/man/hu/Makefile.in
+--- shadow-4.14.2.orig/man/hu/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/hu/Makefile.in	2023-11-09 14:44:53.850447743 +0100
+@@ -333,8 +333,8 @@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-man_MANS = man1/chsh.1 man1/gpasswd.1 man1/groups.1 man1/login.1 \
+-	man1/newgrp.1 man1/passwd.1 man5/passwd.5 man1/sg.1 man1/su.1 \
++man_MANS = man1/chsh.1 man1/gpasswd.1 man1/ man1/login.1 \
++	man1/newgrp.1 man1/passwd.1 man5/ man1/sg.1 man1/su.1 \
+ 	$(am__append_1)
+ EXTRA_DIST = $(man_MANS)
+ all: all-am
+diff -Naur shadow-4.14.2.orig/man/it/Makefile.in shadow-4.14.2/man/it/Makefile.in
+--- shadow-4.14.2.orig/man/it/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/it/Makefile.in	2023-11-09 14:57:24.455272085 +0100
+@@ -339,11 +339,11 @@
+ top_srcdir = @top_srcdir@
+ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
+ 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
+-	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
+-	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
++	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
++	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
+ 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \
+ 	man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \
+-	man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \
++	man8/nologin.8 man1/passwd.1 man5/ man8/pwck.8 \
+ 	man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \
+ 	man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \
+ 	man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \
+diff -Naur shadow-4.14.2.orig/man/ja/Makefile.in shadow-4.14.2/man/ja/Makefile.in
+--- shadow-4.14.2.orig/man/ja/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/ja/Makefile.in	2023-11-09 14:56:59.957687244 +0100
+@@ -337,10 +337,10 @@
+ top_srcdir = @top_srcdir@
+ man_MANS = man1/chage.1 man1/chfn.1 man8/chpasswd.8 man1/chsh.1 \
+ 	man1/expiry.1 man5/faillog.5 man8/faillog.8 man1/gpasswd.1 \
+-	man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/groups.1 \
++	man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/ \
+ 	man8/grpck.8 man8/grpconv.8 man8/grpunconv.8 man1/login.1 \
+ 	man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \
+-	man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \
++	man1/passwd.1 man5/ man8/pwck.8 man8/pwconv.8 \
+ 	man8/pwunconv.8 man1/sg.1 man5/shadow.5 man1/su.1 \
+ 	man5/suauth.5 man8/useradd.8 man8/userdel.8 man8/usermod.8 \
+ 	man8/vigr.8 man8/vipw.8 $(am__append_1) $(am__append_2)
+diff -Naur shadow-4.14.2.orig/man/ko/Makefile.in shadow-4.14.2/man/ko/Makefile.in
+--- shadow-4.14.2.orig/man/ko/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/ko/Makefile.in	2023-11-09 14:47:00.355198614 +0100
+@@ -335,9 +335,9 @@
+ man_MANS = \
+ 	man1/chfn.1 \
+ 	man1/chsh.1 \
+-	man1/groups.1 \
++	man1/ \
+ 	man1/login.1 \
+-	man5/passwd.5 \
++	man5/ \
+ 	man1/su.1 \
+ 	man8/vigr.8 \
+ 	man8/vipw.8
+diff -Naur shadow-4.14.2.orig/man/Makefile.in shadow-4.14.2/man/Makefile.in
+--- shadow-4.14.2.orig/man/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/Makefile.in	2023-11-09 14:56:20.699549105 +0100
+@@ -406,11 +406,11 @@
+ @USE_NLS_TRUE@SUBDIRS = po cs da de es fi fr hu id it ja ko pl pt_BR ru sv tr uk zh_CN zh_TW
+ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
+ 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
+-	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
+-	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
++	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
++	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
+ 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \
+ 	man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \
+-	man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \
++	man8/nologin.8 man1/passwd.1 man5/ man8/pwck.8 \
+ 	man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \
+ 	man5/shadow.5 man5/suauth.5 man8/useradd.8 man8/userdel.8 \
+ 	man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \
+diff -Naur shadow-4.14.2.orig/man/pl/Makefile.in shadow-4.14.2/man/pl/Makefile.in
+--- shadow-4.14.2.orig/man/pl/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/pl/Makefile.in	2023-11-09 14:49:03.766497242 +0100
+@@ -340,8 +340,8 @@
+ 
+ # 2012.01.28 - activate manpages with more than 50% translated messages
+ man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \
+-	man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \
+-	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
++	man8/faillog.8 man3/ man8/groupadd.8 man8/groupdel.8 \
++	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
+ 	man8/logoutd.8 man1/newgrp.1 man1/sg.1 man3/shadow.3 \
+ 	man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \
+ 	$(am__append_1) $(am__append_2)
+diff -Naur shadow-4.14.2.orig/man/pt_BR/Makefile.in shadow-4.14.2/man/pt_BR/Makefile.in
+--- shadow-4.14.2.orig/man/pt_BR/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/pt_BR/Makefile.in	2023-11-09 14:49:55.465103649 +0100
+@@ -337,7 +337,7 @@
+ 	man8/groupadd.8 \
+ 	man8/groupdel.8 \
+ 	man8/groupmod.8 \
+-	man5/passwd.5 \
++	man5/ \
+ 	man5/shadow.5
+ 
+ EXTRA_DIST = $(man_MANS)
+diff -Naur shadow-4.14.2.orig/man/ru/Makefile.in shadow-4.14.2/man/ru/Makefile.in
+--- shadow-4.14.2.orig/man/ru/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/ru/Makefile.in	2023-11-09 14:51:11.867969686 +0100
+@@ -339,11 +339,11 @@
+ top_srcdir = @top_srcdir@
+ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
+ 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
+-	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
+-	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
++	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
++	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
+ 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \
+ 	man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \
+-	man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \
++	man8/nologin.8 man1/passwd.1 man5/ man8/pwck.8 \
+ 	man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \
+ 	man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \
+ 	man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \
+diff -Naur shadow-4.14.2.orig/man/sv/Makefile.in shadow-4.14.2/man/sv/Makefile.in
+--- shadow-4.14.2.orig/man/sv/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/sv/Makefile.in	2023-11-09 14:52:06.113337499 +0100
+@@ -340,10 +340,10 @@
+ 
+ # 2012.01.28 - activate manpages with more than 50% translated messages
+ man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \
+-	man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \
+-	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
++	man8/faillog.8 man3/ man8/groupadd.8 man8/groupdel.8 \
++	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
+ 	man5/gshadow.5 man8/logoutd.8 man1/newgrp.1 man8/nologin.8 \
+-	man1/passwd.1 man5/passwd.5 man8/pwck.8 man1/sg.1 \
++	man1/passwd.1 man5/ man8/pwck.8 man1/sg.1 \
+ 	man3/shadow.3 man5/suauth.5 man8/userdel.8 man8/vigr.8 \
+ 	man8/vipw.8 $(am__append_1) $(am__append_2)
+ man_nopam = \
+diff -Naur shadow-4.14.2.orig/man/tr/Makefile.in shadow-4.14.2/man/tr/Makefile.in
+--- shadow-4.14.2.orig/man/tr/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/tr/Makefile.in	2023-11-09 14:52:37.971198864 +0100
+@@ -340,7 +340,7 @@
+ 	man8/groupmod.8 \
+ 	man1/login.1 \
+ 	man1/passwd.1 \
+-	man5/passwd.5 \
++	man5/ \
+ 	man5/shadow.5 \
+ 	man1/su.1 \
+ 	man8/useradd.8 \
+diff -Naur shadow-4.14.2.orig/man/zh_CN/Makefile.in shadow-4.14.2/man/zh_CN/Makefile.in
+--- shadow-4.14.2.orig/man/zh_CN/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/zh_CN/Makefile.in	2023-11-09 14:53:19.266080649 +0100
+@@ -339,11 +339,11 @@
+ top_srcdir = @top_srcdir@
+ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \
+ 	man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \
+-	man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
+-	man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \
++	man3/ man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \
++	man8/groupmems.8 man8/groupmod.8 man1/ man8/grpck.8 \
+ 	man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \
+ 	man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \
+-	man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \
++	man8/nologin.8 man1/passwd.1 man5/ man8/pwck.8 \
+ 	man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \
+ 	man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \
+ 	man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \
+diff -Naur shadow-4.14.2.orig/man/zh_TW/Makefile.in shadow-4.14.2/man/zh_TW/Makefile.in
+--- shadow-4.14.2.orig/man/zh_TW/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/man/zh_TW/Makefile.in	2023-11-09 14:53:45.617068672 +0100
+@@ -342,7 +342,7 @@
+ 	man8/groupadd.8 \
+ 	man8/groupdel.8 \
+ 	man8/groupmod.8 \
+-	man5/passwd.5 \
++	man5/ \
+ 	man1/su.1 \
+ 	man8/useradd.8 \
+ 	man8/userdel.8 \
+diff -Naur shadow-4.14.2.orig/src/Makefile.in shadow-4.14.2/src/Makefile.in
+--- shadow-4.14.2.orig/src/Makefile.in	2023-10-30 02:10:52.000000000 +0100
++++ shadow-4.14.2/src/Makefile.in	2023-11-09 14:55:13.373692050 +0100
+@@ -88,8 +88,7 @@
+ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+-bin_PROGRAMS = groups$(EXEEXT) login$(EXEEXT) $(am__EXEEXT_1) \
+-	$(am__EXEEXT_2)
++bin_PROGRAMS = login$(EXEEXT) $(am__EXEEXT_1)
+ sbin_PROGRAMS = nologin$(EXEEXT)
+ ubin_PROGRAMS = faillog$(EXEEXT) chage$(EXEEXT) chfn$(EXEEXT) \
+ 	chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) newgrp$(EXEEXT) \