Mercurial > vanilla
annotate security/shadow/shadow.sh @ 536:adaa1ae0fe9d
security: use new FHS
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 10 Apr 2019 20:22:00 +0200 |
parents | e26b9aeac296 |
children | bad483aace64 |
rev | line source |
---|---|
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #!/bin/sh |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr> |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # Permission to use, copy, modify, and/or distribute this software for any |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # purpose with or without fee is hereby granted, provided that the above |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # copyright notice and this permission notice appear in all copies. |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
18 PKGNAME=shadow |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
19 PKGVERSION=4.6 |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
20 PKGREVISION=1 |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
21 PKGLICENSE="BSD" |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
22 PKGSUMMARY="password and account management" |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
23 PKGDOWNLOAD="https://github.com/shadow-maint/shadow/releases/download/$PKGVERSION/$PKGNAME-$PKGVERSION.tar.xz" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
24 PKGOPTIONS="ACL ATTR NLS PAM SELINUX" |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
25 PKGPROTECT="etc/login.defs" |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
26 |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 : ${CHOST:=$(uname -m)-linux-musl} |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 : ${CBUILD:=$(uname -m)-linux-musl} |
499
e26b9aeac296
security: convert packages to clang
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
29 : ${CC:=clang} |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 : ${CFLAGS:=-O2} |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
31 : ${LDFLAGS:=} |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
32 : ${LIBS:=} |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
33 : ${ACL:=yes} |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
34 : ${ATTR:=yes} |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 : ${NLS:=yes} |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
36 : ${PAM:=yes} |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
37 : ${SELINUX:=no} |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
38 |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
39 if [ "$ACL" = "yes" ]; then |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
40 PKGDEPENDS="core/acl $PKGDEPENDS" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
41 with_acl="--with-acl" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
42 else |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
43 with_acl="--without-acl" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
44 fi |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
45 |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
46 if [ "$ATTR" = "yes" ]; then |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
47 PKGDEPENDS="core/acl $PKGDEPENDS" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
48 with_attr="--with-attr" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
49 else |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
50 with_attr="--without-attr" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
51 fi |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 if [ "$NLS" = "yes" ]; then |
431
515778c3a417
vanilla: core/gettext is only required for build
David Demelier <markand@malikania.fr>
parents:
388
diff
changeset
|
54 PKGDEPENDS="core/gettext:build $PKGDEPENDS" |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 with_nls="--enable-nls" |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 else |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 with_nls="--disable-nls" |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 fi |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
60 if [ "$PAM" = "yes" ]; then |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
61 PKGDEPENDS="security/pam $PKGDEPENDS" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
62 with_pam="--with-pam" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
63 else |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
64 with_pam="--without-pam" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
65 fi |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
66 |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
67 if [ "$SELINUX" = "yes" ]; then |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
68 with_selinux="--enable-selinux" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
69 else |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
70 with_selinux="--disable-selinux" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
71 fi |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
72 |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
73 build() |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
74 { |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
75 rm -rf $PKGNAME-$PKGVERSION |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
76 tar xvaf $PKGNAME-$PKGVERSION.tar.xz |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
77 pushd $PKGNAME-$PKGVERSION |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
79 # disable groups, it's provided by coreutils and documentation by man-pages. |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
80 sed -i 's/groups$(EXEEXT) //' src/Makefile.in |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
81 find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
82 find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
83 find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
85 CC="$CC" \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
86 CFLAGS="$CFLAGS" \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
87 LDFLAGS="$LDFLAGS" \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
88 LIBS="$LIBS" \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
89 ./configure \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
90 --build=$CBUILD \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
91 --host=$CHOST \ |
536
adaa1ae0fe9d
security: use new FHS
David Demelier <markand@malikania.fr>
parents:
499
diff
changeset
|
92 --prefix=/ \ |
adaa1ae0fe9d
security: use new FHS
David Demelier <markand@malikania.fr>
parents:
499
diff
changeset
|
93 --bindir=/bin \ |
adaa1ae0fe9d
security: use new FHS
David Demelier <markand@malikania.fr>
parents:
499
diff
changeset
|
94 --sbindir=/bin \ |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
95 --without-audit \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
96 --without-tcb \ |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
97 --without-libcrack \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
98 --disable-static \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
99 --enable-shared \ |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
100 $with_acl \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
101 $with_attr \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
102 $with_nls \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
103 $with_pam \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
104 $with_selinux |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
105 make |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
106 make install DESTDIR=$DESTDIR |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
108 # --disable-selinux does not update pam.d files |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
109 if [ "$SELINUX" = "no" ]; then |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
110 sed -i -e "/pam_selinux.so/d" $DESTDIR/etc/pam.d/{login,su} |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
111 fi |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
112 |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
113 # pam_console.so isn't shipped with linux-pam. |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
114 sed -i -e "/pam_console.so/d" $DESTDIR/etc/pam.d/login |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
115 |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
116 popd |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
117 rm -rf $PKGNAME-$PKGVERSION |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
118 } |