blob: 6b8723bf69a24bb5f6183317f39c23c1524ef89d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=shadow
pkgver=4.6
pkgrel=0
pkgdesc="Login and password management utilities"
url="https://github.com/shadow-maint/shadow"
arch="all"
options="suid"
license="BSD-3-Clause OR Artistic-1.0-Perl"
depends=""
makedepends="linux-pam-dev autoconf automake"
subpackages="$pkgname-doc $pkgname-dbg $pkgname-lang $pkgname-uidmap"
source="https://github.com/shadow-maint/shadow/releases/download/$pkgver/shadow-$pkgver.tar.xz
login.pamd
dots-in-usernames.patch
useradd-usergroups.patch
pam-useradd.patch
utmpx.patch
support-m4-dirs.patch
"
# secfixes:
# 4.5-r0:
# - CVE-2017-12424
# 4.2.1-r11:
# - CVE-2017-2616
# 4.2.1-r7:
# - CVE-2016-6252
prepare() {
cd "$builddir"
default_prepare
autoreconf -v -f --install
}
build() {
cd "$builddir"
LIBS="-lutmps -lskarnet" ./configure \
--build=$CBUILD \
--host=$CHOST \
--target=$CTARGET \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
--enable-utmpx \
--with-libpam \
--without-audit \
--without-selinux \
--without-acl \
--without-attr \
--without-tcb \
--without-nscd \
--without-group-name-max-length
make
}
check() {
cd "$builddir"
make check
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install
# Do not install these pam.d files they are broken and outdated.
rm "$pkgdir"/etc/pam.d/*
# install some pam.d files based on a patched useradd
for pamf in groupadd groupdel groupmems groupmod \
useradd userdel usermod
do
install -m0644 etc/pam.d/useradd \
"$pkgdir/etc/pam.d/$pamf"
done
# nologin is provided by util-linux.
rm "$pkgdir"/sbin/nologin
# However, install our own for login.
cp "$srcdir"/login.pamd "$pkgdir"/etc/pam.d/login
# /etc/login.defs is not very useful - replace it with an *almost* blank file.
rm "$pkgdir"/etc/login.defs
echo "USERGROUPS_ENAB yes" > "$pkgdir"/etc/login.defs
# Avoid conflict with man-pages.
rm "$pkgdir"/usr/share/man/man3/getspnam.3* \
"$pkgdir"/usr/share/man/man5/passwd.5*
}
uidmap() {
pkgdesc="Utilities for using subordinate UIDs and GIDs"
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/new*idmap "$subpkgdir"/usr/bin/
chmod 4711 "$subpkgdir"/usr/bin/new*idmap
# Used e.g. for unprivileged LXC containers.
mkdir "$subpkgdir"/etc
touch "$subpkgdir"/etc/subuid "$subpkgdir"/etc/subgid
}
sha512sums="e8eee52c649d9973f724bc2d5aeee71fa2e6a2e41ec3487cd6cf6d47af70c32e0cdf304df29b32eae2b6eb6f9066866b5f2c891add0ec87ba583bea3207b3631 shadow-4.6.tar.xz
46a6f83f3698e101b58b8682852da749619412f75dfa85cecad03d0847f6c3dc452d984510db7094220e4570a0565b83b0556e16198ad894a3ec84b3e513d58d login.pamd
745eea04c054226feba165b635dbb8570b8a04537d41e914400a4c54633c3a9cf350da0aabfec754fb8cf3e58fc1c8cf597b895506312f19469071760c11f31d dots-in-usernames.patch
49f1d5ded82d2d479805c77d7cc6274c30233596e375b28306b31a33f8fbfc3611dbc77d606081b8300247908c267297dbb6c5d1a30d56095dda53c6a636fb56 useradd-usergroups.patch
0b4587e263cb6be12fa5ae6bc3b3fc4d3696dae355bc67d085dc58c52ff96edb4d163b95db2092b8c2f3310839430cac03c7af356641b42e24ee4aa6410f5cf1 pam-useradd.patch
0ae5df1a287b8fa07fa9b9061dd3d5e6198527a6d9e9d4a9e2885f7a3884d1935e56856e25f1c092475aa31cee31b11d3bc7f9efe0347b0811ae53a805b2f26e utmpx.patch
ec0ef7038b385954b7e47b0414839d30c99edcc96863a06a8e90f04bcc943c6c30274fc382f15ca74ceca57bef36c90feae6e7d363ed8c6408ae4f2bf938dacb support-m4-dirs.patch"
|