From a1b07c7c6115ee386d2fbd4fc0c18607dc3453a2 Mon Sep 17 00:00:00 2001 From: Benedikt Brinkmann Date: Sun, 18 Feb 2024 13:45:27 +0100 Subject: [PATCH] shadow: update to 4.14.5. --- common/shlibs | 1 + .../shadow/patches/shadow-strncpy-usage.patch | 23 --------- srcpkgs/shadow/patches/useradd-defaults.patch | 21 +++++++++ srcpkgs/shadow/patches/xstrdup.patch | 9 ---- srcpkgs/shadow/template | 47 +++++++++++-------- 5 files changed, 50 insertions(+), 51 deletions(-) delete mode 100644 srcpkgs/shadow/patches/shadow-strncpy-usage.patch create mode 100644 srcpkgs/shadow/patches/useradd-defaults.patch delete mode 100644 srcpkgs/shadow/patches/xstrdup.patch diff --git a/common/shlibs b/common/shlibs index 3cf507d8ada87..eff6d3caf1f0d 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4275,3 +4275,4 @@ libunicode_ucd.so.0.4 libunicode-0.4.0_1 libunicode_loader.so.0.4 libunicode-0.4.0_1 force-stage.so.0.1 void-force-stage-0.1_1 libliftoff.so.0 libliftoff-0.4.1_1 +libsubid.so.4 shadow-4.14.5_1 diff --git a/srcpkgs/shadow/patches/shadow-strncpy-usage.patch b/srcpkgs/shadow/patches/shadow-strncpy-usage.patch deleted file mode 100644 index c5564fffdc385..0000000000000 --- a/srcpkgs/shadow/patches/shadow-strncpy-usage.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/src/usermod.c 2012-02-13 08:19:43.792146449 -0500 -+++ b/src/usermod.c 2012-02-13 08:21:19.375114500 -0500 -@@ -182,7 +182,7 @@ - struct tm *tp; - - if (date < 0) { -- strncpy (buf, "never", maxsize); -+ strncpy (buf, "never", maxsize - 1); - } else { - time_t t = (time_t) date; - tp = gmtime (&t); ---- a/src/login.c 2012-02-13 08:19:50.951994454 -0500 -+++ b/src/login.c 2012-02-13 08:21:04.490430937 -0500 -@@ -752,7 +752,8 @@ - _("%s login: "), hostn); - } else { - strncpy (loginprompt, _("login: "), -- sizeof (loginprompt)); -+ sizeof (loginprompt) - 1); -+ loginprompt[sizeof (loginprompt) - 1] = '\0'; - } - - retcode = pam_set_item (pamh, PAM_USER_PROMPT, loginprompt); diff --git a/srcpkgs/shadow/patches/useradd-defaults.patch b/srcpkgs/shadow/patches/useradd-defaults.patch new file mode 100644 index 0000000000000..38035df40cfca --- /dev/null +++ b/srcpkgs/shadow/patches/useradd-defaults.patch @@ -0,0 +1,21 @@ +diff --git a/src/useradd.c b/src/useradd.c +index 677ea5a636f..49f55211a17 100644 +--- a/src/useradd.c ++++ b/src/useradd.c +@@ -87,14 +87,14 @@ const char *Prog; + /* + * These defaults are used if there is no defaults file. + */ +-static gid_t def_group = 1000; ++static gid_t def_group = 100; + static const char *def_groups = ""; + static const char *def_gname = "other"; + static const char *def_home = "/home"; + static const char *def_shell = "/bin/bash"; + static const char *def_template = SKEL_DIR; + static const char *def_usrtemplate = USRSKELDIR; +-static const char *def_create_mail_spool = "yes"; ++static const char *def_create_mail_spool = "no"; + static const char *def_log_init = "yes"; + + static long def_inactive = -1; diff --git a/srcpkgs/shadow/patches/xstrdup.patch b/srcpkgs/shadow/patches/xstrdup.patch deleted file mode 100644 index 562febcf4164f..0000000000000 --- a/srcpkgs/shadow/patches/xstrdup.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- a/libmisc/xmalloc.c 2008-08-30 21:55:44.000000000 -0500 -+++ b/libmisc/xmalloc.c.new 2008-08-30 21:55:36.000000000 -0500 -@@ -61,5 +61,6 @@ - - char *xstrdup (const char *str) - { -+ if(str == NULL) return NULL; - return strcpy (xmalloc (strlen (str) + 1), str); - } diff --git a/srcpkgs/shadow/template b/srcpkgs/shadow/template index c7ece33540c9a..4ca6c68b78cc3 100644 --- a/srcpkgs/shadow/template +++ b/srcpkgs/shadow/template @@ -1,23 +1,35 @@ # Template file for 'shadow' pkgname=shadow -version=4.8.1 -revision=3 +version=4.14.5 +revision=1 build_style=gnu-configure configure_args="--bindir=/usr/bin --sbindir=/usr/bin - --enable-shared --disable-static - --with-libpam --without-selinux --with-acl --with-attr --without-su - --disable-nls --enable-subordinate-ids --disable-account-tools-setuid - --with-group-name-max-length=32" -hostmakedepends="libtool" -makedepends="acl-devel pam-devel" + --enable-shared --disable-static --with-libpam --without-selinux --with-acl + --with-attr --without-su --disable-nls --enable-subordinate-ids + --disable-account-tools-setuid --with-group-name-max-length=32" +hostmakedepends="libtool pkg-config" +makedepends="acl-devel pam-devel libbsd-devel" depends="pam" short_desc="Shadow password file utilities" maintainer="Enno Boland " license="BSD-3-Clause" homepage="https://github.com/shadow-maint/shadow" distfiles="${homepage}/releases/download/${version}/shadow-${version}.tar.xz" -checksum=a3ad4630bdc41372f02a647278a8c3514844295d36eefe68ece6c3a641c1ae62 -conf_files="/etc/pam.d/* /etc/default/* /etc/login.defs" +checksum=cba74bc7b05d89c015afe23131f9159ece38779d40a8af4cf162852e6e85ca23 +conf_files=" + /etc/pam.d/chage + /etc/pam.d/chgpasswd + /etc/pam.d/chpasswd + /etc/pam.d/groupadd + /etc/pam.d/groupdel + /etc/pam.d/groupmems + /etc/pam.d/groupmod + /etc/pam.d/newusers + /etc/pam.d/passwd + /etc/pam.d/useradd + /etc/pam.d/userdel + /etc/pam.d/usermod + /etc/login.defs" if [ "$XBPS_TARGET_LIBC" = "glibc" ]; then makedepends+=" libxcrypt-devel" @@ -32,14 +44,16 @@ pre_configure() { do_build() { # Don't install groups(1), we use the one from coreutils. - sed -i 's/groups$(EXEEXT) //' src/Makefile - for f in $(find man -name Makefile); do + sed -i 's/groups$(EXEEXT) //' src/Makefile.in + for f in $(find man -name Makefile.in); do sed -i 's/groups\.1 / /' $f done make ${makejobs} } post_install() { + make -C man DESTDIR="$DESTDIR" install-man + mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin # Install our pam files not the ones supplied with shadow. @@ -53,13 +67,6 @@ post_install() { done install -m644 ${FILESDIR}/login.defs ${DESTDIR}/etc - # Disable creating mailbox files by default. - sed -i -e 's/yes/no/' $DESTDIR/etc/default/useradd - # Change default group to the users gid (100). - sed -i -e 's/^\(GROUP\)=\(.*\)$/\1=100/' ${DESTDIR}/etc/default/useradd - - chmod 644 ${DESTDIR}/etc/default/useradd - # Install the cron daily job. install -Dm744 ${FILESDIR}/shadow.cron-daily \ ${DESTDIR}/etc/cron.daily/shadow @@ -70,6 +77,8 @@ post_install() { # Remove utilities provided by util-linux and logoutd. mv ${DESTDIR}/usr/bin/{newgrp,sg} + mv $DESTDIR/lib64/* $DESTDIR/usr/lib64/ + rm \ $DESTDIR/usr/bin/{login,chsh,chfn} \ $DESTDIR/usr/bin/{nologin,logoutd,vipw,vigr}