Mercurial > vanilla
annotate security/shadow/shadow.sh @ 1220:4ccc42bf0284
misc: split .sh with .info
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 30 Sep 2021 09:26:38 +0200 |
parents | 57dc83a39b13 |
children | a47aaf9743a0 |
rev | line source |
---|---|
1217
27d1a83dc8d6
misc: change shebang to /bin/sh
David Demelier <markand@malikania.fr>
parents:
1216
diff
changeset
|
1 #!/bin/sh |
100
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 |
1220
4ccc42bf0284
misc: split .sh with .info
David Demelier <markand@malikania.fr>
parents:
1218
diff
changeset
|
18 . ./shadow.info |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
19 |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 : ${CHOST:=$(uname -m)-linux-musl} |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 : ${CBUILD:=$(uname -m)-linux-musl} |
499
e26b9aeac296
security: convert packages to clang
David Demelier <markand@malikania.fr>
parents:
431
diff
changeset
|
22 : ${CC:=clang} |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 : ${CFLAGS:=-O2} |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
24 : ${LDFLAGS:=} |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
25 : ${LIBS:=} |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
26 : ${ACL:=yes} |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
27 : ${ATTR:=yes} |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 : ${NLS:=yes} |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
29 : ${PAM:=yes} |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
30 : ${SELINUX:=no} |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
31 |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
32 if [ "$ACL" = "yes" ]; then |
902
a133976e0783
vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents:
831
diff
changeset
|
33 PKGDEPENDS="acl $PKGDEPENDS" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
34 with_acl="--with-acl" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
35 else |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
36 with_acl="--without-acl" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
37 fi |
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 [ "$ATTR" = "yes" ]; then |
902
a133976e0783
vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents:
831
diff
changeset
|
40 PKGDEPENDS="acl $PKGDEPENDS" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
41 with_attr="--with-attr" |
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_attr="--without-attr" |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
44 fi |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 if [ "$NLS" = "yes" ]; then |
902
a133976e0783
vanilla: remove all origins, closes #2203
David Demelier <markand@malikania.fr>
parents:
831
diff
changeset
|
47 PKGDEPENDS="gettext $PKGDEPENDS" |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 with_nls="--enable-nls" |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 else |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 with_nls="--disable-nls" |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 fi |
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
53 if [ "$PAM" = "yes" ]; then |
1023
60d881a89c6a
vanilla: fix many dependencies
David Demelier <markand@malikania.fr>
parents:
1019
diff
changeset
|
54 PKGDEPENDS="linux-pam $PKGDEPENDS" |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
55 with_pam="--with-libpam" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
56 else |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
57 with_pam="--without-libpam" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
58 fi |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
59 |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
60 if [ "$SELINUX" = "yes" ]; then |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
61 with_selinux="--with-selinux" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
62 else |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
63 with_selinux="--without-selinux" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
64 fi |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
65 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
66 rm -rf $PKGNAME-$PKGVERSION |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
67 tar xvf $PKGNAME-$PKGVERSION.tar.xz |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
68 cd $PKGNAME-$PKGVERSION |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
70 # |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
71 # Disable groups, it's provided by busybox/coreutils and documentation |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
72 # by man-pages. |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
73 # |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
74 sed -i 's/groups$(EXEEXT) //' src/Makefile.in |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
75 find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
76 find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
77 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
|
78 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
79 CC="$CC" \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
80 CFLAGS="$CFLAGS" \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
81 LDFLAGS="$LDFLAGS" \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
82 LIBS="$LIBS" \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
83 ./configure \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
84 --build=$CBUILD \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
85 --host=$CHOST \ |
1218
57dc83a39b13
misc: switch back to standard FHS
David Demelier <markand@malikania.fr>
parents:
1217
diff
changeset
|
86 --prefix=/usr \ |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
87 --bindir=/bin \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
88 --sbindir=/bin \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
89 --enable-shared \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
90 $with_acl \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
91 $with_attr \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
92 $with_nls \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
93 $with_pam \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
94 $with_selinux |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
95 make ubindir=/bin usbindir=/bin |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
96 make DESTDIR=$DESTDIR ubindir=/bin usbindir=/bin install |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
98 if [ "$PAM" = "yes" ]; then |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
99 for i in \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
100 chage chfn chgpasswd chpasswd chsh groupadd groupdel \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
101 groupmems groupmod login newusers passwd su useradd \ |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
102 userdel usermod; do |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
103 install -Dm0600 ../$i $DESTDIR/etc/pam.d/$i |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
104 done |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
105 fi |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
106 |
1216
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
107 cd .. |
6710613b88b9
misc: remove build function
David Demelier <markand@malikania.fr>
parents:
1097
diff
changeset
|
108 rm -rf $PKGNAME-$PKGVERSION |