summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD94
1 files changed, 34 insertions, 60 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 4260389d5332..63fe4f1bcd60 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,27 +1,29 @@
-# Maintainer: Alec Larsen <aleclarsen42@gmail.com>
+# Maintainer: Alec Larsen <hello@alec.ninja>
+# Contributor: Dave Reisner <dreisner@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
pkgname=shadow-relaxed
-pkgver=4.4
-pkgrel=3
-pkgdesc="The official Arch shadow package with Debian's 506_relaxed_usernames patch"
-arch=('i686' 'x86_64')
+pkgver=4.8.1
+pkgrel=4
+pkgdesc="The official Arch shadow package with Fedora's shadow-4.8-goodname.patch"
+arch=('x86_64')
url='https://github.com/shadow-maint/shadow'
license=('BSD')
-groups=('base')
-depends=('bash' 'pam' 'acl')
+# libcap-ng needed by install scriptlet for 'filecap'
+depends=('pam' 'acl' 'libacl.so' 'audit' 'libaudit.so' 'libcap-ng' 'libcap-ng.so'
+ 'libxcrypt' 'libcrypt.so')
conflicts=('shadow')
provides=('shadow')
-makedepends=('git' 'libxslt' 'docbook-xsl' 'gnome-doc-utils')
backup=(etc/login.defs
etc/pam.d/{chage,passwd,shadow,useradd,usermod,userdel}
etc/pam.d/{chpasswd,newusers,groupadd,groupdel,groupmod}
etc/pam.d/{chgpasswd,groupmems}
etc/default/useradd)
options=(strip debug)
-install='shadow.install'
-validpgpkeys=('D5C2F9BFCA128BBA22A77218872F702C4D6E25A8') # Christian Perrier
-source=("git+https://github.com/shadow-maint/shadow.git#tag=$pkgver"
- "506_relaxed_usernames::https://anonscm.debian.org/git/pkg-shadow/shadow.git/plain/debian/patches/506_relaxed_usernames?id=f9176c3be3740a49b0c3372f6296e13604941f2f"
+validpgpkeys=('D5C2F9BFCA128BBA22A77218872F702C4D6E25A8' # Christian Perrier
+ 'F1D08DB778185BF784002DFFE9FEEA06A85E3F9D') # Serge Hallyn
+source=("https://github.com/shadow-maint/shadow/releases/download/$pkgver/shadow-$pkgver.tar.xz"{,.asc}
+ "shadow-4.8-goodname.patch::https://src.fedoraproject.org/rpms/shadow-utils/raw/f33/f/shadow-4.8-goodname.patch"
LICENSE
chgpasswd
chpasswd
@@ -30,72 +32,47 @@ source=("git+https://github.com/shadow-maint/shadow.git#tag=$pkgver"
newusers
passwd
shadow.{timer,service}
- useradd.defaults
- xstrdup.patch
- shadow-strncpy-usage.patch
- lastlog.tmpfiles)
-sha1sums=('SKIP'
- 'ed3d9cb0f03772d69274952f5912604444f44d4a'
+ useradd.defaults)
+install=shadow.install
+sha1sums=('63457a0ba58dc4e81b2663b839dc6c89d3343f12'
+ 'SKIP'
+ '3a26667844689c69a26fc964b798586f652d3df5'
'33a6cf1e44a1410e5c9726c89e5de68b78f5f922'
'4ad0e059406a305c8640ed30d93c2a1f62c2f4ad'
'12427b1ca92a9b85ca8202239f0d9f50198b818f'
'0e56fed7fc93572c6bf0d8f3b099166558bb46f1'
- 'bb3509087947d08bfb6e5d1b5c033856b9146ad9'
+ '81a02eadb5f605fef5c75b6d8a03713a7041864b'
'12427b1ca92a9b85ca8202239f0d9f50198b818f'
'611be25d91c3f8f307c7fe2485d5f781e5dee75f'
'a154a94b47a3d0c6c287253b98c0d10b861226d0'
- '7372dfd8a3030bee4ec39c79bad4f9b9c6f8687a'
- '9ae93de5987dd0ae428f0cc1a5a5a5cd53583f19'
- '6010fffeed1fc6673ad9875492e1193b1a847b53'
- '21e12966a6befb25ec123b403cd9b5c492fe5b16'
- 'f57ecde3f72b4738fad75c097d19cf46a412350f')
-
-pkgver() {
- cd "shadow"
-
- git describe
-}
-
-prepare() {
- cd "shadow"
-
- # need to offer these upstream
- patch -Np1 <"$srcdir/xstrdup.patch"
- patch -Np1 <"$srcdir/shadow-strncpy-usage.patch"
-
- # Fix regression in useradd not loading defaults properly.
- git cherry-pick -n '507f96cdeb54079fb636c7ce21e371f7a16a520e'
-
- # apply Debian's 506_relaxed_usernames
- patch -Np1 <"$srcdir/506_relaxed_usernames"
-
- autoreconf -v -f --install
-
- # supress etc/pam.d/*, we provide our own
- sed -i '/^SUBDIRS/s/pam\.d//' etc/Makefile.in
-}
+ 'b5540736f5acbc23b568973eb5645604762db3dd'
+ 'c173208c5cf34528602f9931468a67b7f68abad3')
build() {
- cd "shadow"
+ cd "shadow-$pkgver"
+
+ # apply Fedora's shadow-utils/raw/f33/f/shadow-4.8-goodname.patch
+ patch -Np1 <"$srcdir/shadow-4.8-goodname.patch"
+ autoreconf -fsiv
./configure \
- LIBS="-lcrypt" \
--prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/bin \
--libdir=/usr/lib \
--mandir=/usr/share/man \
- --enable-man \
--sysconfdir=/etc \
+ --disable-account-tools-setuid \
--with-libpam \
--with-group-name-max-length=32 \
+ --with-audit \
--without-selinux
make
}
package() {
- cd "shadow"
+ cd "shadow-$pkgver"
make DESTDIR="$pkgdir" install
@@ -103,11 +80,11 @@ package() {
install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/shadow/LICENSE"
# useradd defaults
- install -Dm644 "$srcdir/useradd.defaults" "$pkgdir/etc/default/useradd"
+ install -Dm600 "$srcdir/useradd.defaults" "$pkgdir/etc/default/useradd"
- # systemd timer
+ # systemd units
install -D -m644 "$srcdir/shadow.timer" "$pkgdir/usr/lib/systemd/system/shadow.timer"
- install -D -m644 "$srcdir/shadow.service" $pkgdir/usr/lib/systemd/system/shadow.service
+ install -D -m644 "$srcdir/shadow.service" "$pkgdir/usr/lib/systemd/system/shadow.service"
install -d -m755 "$pkgdir/usr/lib/systemd/system/timers.target.wants"
ln -s ../shadow.timer "$pkgdir/usr/lib/systemd/system/timers.target.wants/shadow.timer"
@@ -115,7 +92,7 @@ package() {
install -Dm644 "$srcdir/login.defs" "$pkgdir/etc/login.defs"
# PAM config - custom
- install -dm755 "$pkgdir/etc/pam.d"
+ rm "$pkgdir/etc/pam.d"/*
install -t "$pkgdir/etc/pam.d" -m644 "$srcdir"/{passwd,chgpasswd,chpasswd,newusers}
# PAM config - from tarball
@@ -127,9 +104,6 @@ package() {
install -Dm644 "$srcdir/defaults.pam" "$pkgdir/etc/pam.d/$file"
done
- # lastlog log file creation
- install -Dm644 "$srcdir/lastlog.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/lastlog.conf"
-
# Remove evil/broken tools
rm "$pkgdir"/usr/sbin/logoutd