jobcore/shadow/PKGBUILD

130 lines
4.7 KiB
Text
Raw Normal View History

2022-03-20 13:19:37 +01:00
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
2022-07-16 20:42:37 +02:00
# Maintainer : Joe Bo Run <joborun@disroot.org>
2024-08-22 17:58:58 +02:00
# PkgSource : url="https://git.disroot.org/joborun-pkg/jobcore/src/branch/main/$pkgname"
2022-07-16 20:42:37 +02:00
# Website : https://pozol.eu
2022-03-20 13:19:37 +01:00
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=shadow
2024-07-03 02:52:48 +02:00
pkgver=4.16.0
pkgrel=01
2022-03-20 13:19:37 +01:00
pkgdesc="Password and account management tool suite with support for shadow files and PAM w/o systemd"
url="https://github.com/shadow-maint/shadow"
2024-02-18 23:31:39 +01:00
depends=( glibc )
2024-07-03 02:52:48 +02:00
makedepends=(acl attr audit docbook-xsl git itstool libcap libxcrypt libxslt pam)
2022-11-15 16:49:16 +01:00
backup=(
etc/default/useradd
etc/login.defs
2023-09-18 18:23:32 +02:00
etc/pam.d/chpasswd
etc/pam.d/groupmems
etc/pam.d/newusers
etc/pam.d/passwd
# {chage,{,ch,chg}passwd,group{add,del,mems,mod},newusers,shadow,user{add,del,mod}}
2022-11-15 16:49:16 +01:00
)
#options=(debug !emptydirs)
2022-10-19 21:26:20 +02:00
options=('!emptydirs')
2024-07-03 02:52:48 +02:00
# NOTE: distribution patches are taken from https://gitlab.archlinux.org/archlinux/packaging/upstream/shadow/-/commits/4.16.0.arch1
source=(git+$url.git?signed#tag=$pkgver
# $url/releases/download/$pkgver/$pkgname-$pkgver.tar.xz{,.asc}
2023-10-27 00:33:29 +02:00
0001-Disable-replaced-tools-their-man-pages-and-PAM-integ.patch
2022-11-15 16:49:16 +01:00
0002-Adapt-login.defs-for-PAM-and-util-linux.patch
0003-Add-Arch-Linux-defaults-for-login.defs.patch
2023-09-18 18:23:32 +02:00
shadow.{sysusers,tmpfiles}
2022-11-15 16:49:16 +01:00
useradd.defaults
)
# install=shadow.install
2022-03-20 13:19:37 +01:00
2022-10-19 21:26:20 +02:00
prepare() {
2022-11-15 16:49:16 +01:00
local filename
2024-07-03 02:52:48 +02:00
cd $pkgname
# cd $pkgname-$pkgver
2022-11-15 16:49:16 +01:00
for filename in "${source[@]}"; do
if [[ "$filename" =~ \.patch$ ]]; then
printf "Applying patch %s\n" "${filename##*/}"
patch -Np1 -i "$srcdir/${filename##*/}"
fi
done
autoreconf -fiv
2022-10-19 21:26:20 +02:00
}
2022-03-20 13:19:37 +01:00
build() {
2022-11-15 16:49:16 +01:00
local configure_options=(
--prefix=/usr
--bindir=/usr/bin
--sbindir=/usr/bin
2023-09-18 18:23:32 +02:00
--disable-account-tools-setuid # no setuid for chgpasswd, chpasswd, groupadd, groupdel, groupmod, newusers, useradd, userdel, usermod
--enable-man
2022-11-15 16:49:16 +01:00
--libdir=/usr/lib
--mandir=/usr/share/man
--sysconfdir=/etc
--with-audit
2023-09-18 18:23:32 +02:00
--with-fcaps # use capabilities instead of setuid for setuidmap and setgidmap
--with-group-name-max-length=32
2023-10-27 00:33:29 +02:00
--with-yescrypt
--without-bcrypt
2023-09-18 18:23:32 +02:00
--with-libpam # PAM integration for chpasswd, groupmems, newusers, passwd
--without-libbsd # shadow can use internal implementation for getting passphrase
2023-09-24 23:22:18 +02:00
--without-nscd # we do not ship nscd anymore
2022-11-15 16:49:16 +01:00
--without-selinux
2022-03-20 13:19:37 +01:00
--without-su
2023-09-18 18:23:32 +02:00
--without-systemd
)
2023-09-24 23:22:18 +02:00
2024-07-03 02:52:48 +02:00
cd $pkgname
# cd $pkgname-$pkgver
2023-09-18 18:23:32 +02:00
# add extra check, preventing accidental deletion of other user's home dirs when using `userdel -r <user with home in />`
export CFLAGS="$CFLAGS -DEXTRA_CHECK_HOME_DIR"
2022-11-15 16:49:16 +01:00
./configure "${configure_options[@]}"
2022-03-20 13:19:37 +01:00
2022-10-19 21:26:20 +02:00
# prevent excessive overlinking due to libtool
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
2022-03-20 13:19:37 +01:00
make
}
package() {
2024-07-03 02:52:48 +02:00
cd $pkgname
# cd $pkgname-$pkgver
2024-02-18 23:31:39 +01:00
depends=(acl libacl.so attr libattr.so audit libaudit.so libxcrypt libcrypt.so
pam libpam.so libpam_misc.so)
2022-03-20 13:19:37 +01:00
make DESTDIR="$pkgdir" install
make DESTDIR="$pkgdir" -C man install
# license
2022-11-15 16:49:16 +01:00
install -vDm 644 COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
2022-03-20 13:19:37 +01:00
2022-10-19 21:26:20 +02:00
# custom useradd(8) defaults (not provided by upstream)
2022-11-15 16:49:16 +01:00
install -vDm 600 ../useradd.defaults "$pkgdir/etc/default/useradd"
2022-03-20 13:19:37 +01:00
2023-09-18 18:23:32 +02:00
install -vDm 644 ../$pkgname.sysusers "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
install -vDm 644 ../$pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
2023-09-24 23:22:18 +02:00
# adapt executables to match the modes used by tmpfiles.d, so that pacman does not complain:
chmod 750 "$pkgdir/usr/bin/groupmems"
2023-09-18 18:23:32 +02:00
# manually add PAM config for chpasswd and newusers: https://github.com/shadow-maint/shadow/issues/810
2024-02-18 23:31:39 +01:00
# install -vDm 644 etc/pam.d/{chpasswd,newusers} -t "$pkgdir/etc/pam.d/"
2022-03-20 13:19:37 +01:00
}
2023-09-03 02:54:51 +02:00
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
2022-07-16 20:42:37 +02:00
2023-09-18 18:23:32 +02:00
license=(BSD-3-Clause)
2022-03-20 13:19:37 +01:00
2023-10-27 00:33:29 +02:00
validpgpkeys=(66D0387DB85D320F8408166DB175CFA98F192AF2 # Serge Hallyn <sergeh@kernel.org>
A9348594CE31283A826FBDD8D57633D441E25BB5) # Alejandro Colomar <alx@kernel.org>
2022-11-15 16:49:16 +01:00
2024-07-03 02:52:48 +02:00
sha256sums=(d437433a225d7315bc6760d337f6866bf4260f3205c7a57c2124dff10951f1ca # shadow 4.16.0
32545b60b581d6179fd10f712dc9bad1f4a9a12b2a1fe16335cffcdd23e47b19 # 0001-Disable-replaced-tools-their-man-pages-and-PAM-integ.patch.1
5468e221cdec6eb4fd6c0f6318f003c303f42bd577e302ea6cae077a20c981c8 # 0002-Adapt-login.defs-for-PAM-and-util-linux.patch.1
b6cd9045eab0e6fad38cf568e4a532fb2687866afaa16308a26bfd0458f7e300 # 0003-Add-Arch-Linux-defaults-for-login.defs.patch.1
2023-09-18 18:23:32 +02:00
29448220f2ecfeab0a1a7aae296f07ca522d0a75a5b20df30f83950f9d54531f # shadow.sysusers
2023-09-24 23:22:18 +02:00
c2faa81b894de452e6cd23660ad7e30a4e03d6a4eacb94ff209c6e578df05e61 # shadow.tmpfiles
2023-09-19 01:33:08 +02:00
2d4b7b85ea1d5cddf93c2d636a11b0e76c1f484474449bdb018e3af0fcbd93c3) # useradd.defaults
2024-07-03 02:52:48 +02:00
## d58c2d418bcbc43ad7b6b367a6e9c48c4805ee1a0c99ff9d8bdcd5191e27abb6 shadow-4.16.0-01-x86_64.pkg.tar.lz