diff --git a/parts.rst b/parts.rst index e685ade..820b7c1 100644 --- a/parts.rst +++ b/parts.rst @@ -1236,3 +1236,11 @@ libbsd 0.11.8 libbsd provides BSD-centric functions. We need this in order to build shadow, which expects either glibc or libbsd. + +shadow 4.14.3 +============= + +shadow provides a variety of command line utilites to work with users and +groups, avoiding the need for manual modification of ``/etc/passwd`` and +``/etc/group``. This allows unprivileged users to be created by, or for, +post-bootstrap build systems. diff --git a/steps/SHA256SUMS.pkgs b/steps/SHA256SUMS.pkgs index 373f070..3cb2a62 100644 --- a/steps/SHA256SUMS.pkgs +++ b/steps/SHA256SUMS.pkgs @@ -108,6 +108,7 @@ da7c8ec579dd225c0d8bee63d95aeeb27ac2d5a60d4eefe298508cbf86bf506c python-3.4.10_ 0be505f63205b4bc1b1421896c610468ad1a2194bbc4c9abf58f61685c2023d1 python-3.8.16_0.tar.bz2 34c51d3df85585a8aee7691b3500a5c3c7442b06a6f57231b76970bdd6e99bf9 sed-4.0.9_0.tar.bz2 e8daec00b2c2de7b18efbec057dc9290eed06668806c6f5a48914d4a5cd95eb4 sed-4.8_0.tar.bz2 +cec5c99e27350c180c8e0bf3c20984c4302cbfb02fa19e46860331302001021d shadow-4.14.3_0.tar.bz2 912d8f344104f1322255d6210c7c7e1371413ab530b2c6796e6aa565c74bf647 tar-1.34_0.tar.bz2 1667937d5d646f2bb7ec7ab54a23ddd65a0ae3ca7d5e597f3fbcd5163031d2ef tcc-0.9.27_0.tar.bz2 b20cea098c8ff635a0ce9f99430d7c9a75d081194941ab54dc92dbc8af3776a4 tcc-0.9.27_1.tar.bz2 diff --git a/steps/manifest b/steps/manifest index 91280c5..b7032dd 100644 --- a/steps/manifest +++ b/steps/manifest @@ -192,6 +192,7 @@ build: binutils-2.41 build: gcc-13.1.0 build: libmd-1.1.0 build: libbsd-0.11.8 +build: shadow-4.14.3 improve: cleanup_filesystem improve: null_time ( FORCE_TIMESTAMPS == True ) improve: update_checksums ( UPDATE_CHECKSUMS == True ) diff --git a/steps/shadow-4.14.3/pass1.sh b/steps/shadow-4.14.3/pass1.sh new file mode 100644 index 0000000..2c1b4fa --- /dev/null +++ b/steps/shadow-4.14.3/pass1.sh @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: 2024 fosslinux +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + default + + # Pregenerated manpages + find man -name "*.[1-9]" -delete + + # groups is provided by coreutils + sed -i 's/groups$(EXEEXT) //' src/Makefile.in + + autoreconf-2.71 -fi +} + +src_configure() { + PKG_CONFIG_PATH="${LIBDIR}/pkgconfig/" \ + ./configure \ + --prefix="${PREFIX}" \ + --sbindir="${PREFIX}/bin" \ + --libdir="${LIBDIR}" \ + --sysconfdir=/etc \ + --localstatedir=/var +} + +src_compile() { + make "${MAKEJOBS}" PREFIX="${PREFIX}" +} + +src_install() { + make install PREFIX="${PREFIX}" DESTDIR="${DESTDIR}" exec_prefix="${PREFIX}" + + # fix sbin + mv "${DESTDIR}"/usr/sbin/* "${DESTDIR}"/usr/bin/ + rmdir "${DESTDIR}/usr/sbin" +} diff --git a/steps/shadow-4.14.3/sources b/steps/shadow-4.14.3/sources new file mode 100644 index 0000000..327861d --- /dev/null +++ b/steps/shadow-4.14.3/sources @@ -0,0 +1 @@ +https://github.com/shadow-maint/shadow/releases/download/4.14.3/shadow-4.14.3.tar.xz 6969279236fe3152768573a38c9f83cb9ca109851a5a990aec1fc672ac2cfcd2