Mercurial > vanilla
annotate security/shadow/shadow.sh @ 745:59a2fa6992bc
vanilla: re-enable static libraries
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 07 Aug 2019 20:05:00 +0200 |
parents | 9de04ddc6f6d |
children | a73b34fe66ec |
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" |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
62 with_pam="--with-libpam" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
63 else |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
64 with_pam="--without-libpam" |
387
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 |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
68 with_selinux="--with-selinux" |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
69 else |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
70 with_selinux="--without-selinux" |
387
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 |
606
25cecc6dca48
vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents:
549
diff
changeset
|
76 tar xvf $PKGNAME-$PKGVERSION.tar.xz |
25cecc6dca48
vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents:
549
diff
changeset
|
77 cd $PKGNAME-$PKGVERSION |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 |
639
9de04ddc6f6d
vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents:
606
diff
changeset
|
79 # |
9de04ddc6f6d
vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents:
606
diff
changeset
|
80 # disable groups, it's provided by busybox/coreutils and documentation |
9de04ddc6f6d
vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents:
606
diff
changeset
|
81 # by man-pages. |
9de04ddc6f6d
vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents:
606
diff
changeset
|
82 # |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
83 sed -i 's/groups$(EXEEXT) //' src/Makefile.in |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
84 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
|
85 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
|
86 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
|
87 |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
88 CC="$CC" \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
89 CFLAGS="$CFLAGS" \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
90 LDFLAGS="$LDFLAGS" \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
91 LIBS="$LIBS" \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
92 ./configure \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
93 --build=$CBUILD \ |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
94 --host=$CHOST \ |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
95 --prefix= \ |
536
adaa1ae0fe9d
security: use new FHS
David Demelier <markand@malikania.fr>
parents:
499
diff
changeset
|
96 --bindir=/bin \ |
adaa1ae0fe9d
security: use new FHS
David Demelier <markand@malikania.fr>
parents:
499
diff
changeset
|
97 --sbindir=/bin \ |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
98 --enable-shared \ |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
99 $with_acl \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
100 $with_attr \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
101 $with_nls \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
102 $with_pam \ |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
103 $with_selinux |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
104 make ubindir=/bin usbindir=/bin |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
105 make DESTDIR=$DESTDIR ubindir=/bin usbindir=/bin install |
100
00d0621f86b1
core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
107 if [ "$PAM" = "yes" ]; then |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
108 # --disable-selinux does not update pam.d files |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
109 if [ "$SELINUX" = "no" ]; then |
639
9de04ddc6f6d
vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents:
606
diff
changeset
|
110 sed -i -e "/pam_selinux.so/d" \ |
9de04ddc6f6d
vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents:
606
diff
changeset
|
111 $DESTDIR/etc/pam.d/login \ |
9de04ddc6f6d
vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents:
606
diff
changeset
|
112 $DESTDIR/etc/pam.d/su |
549
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
113 fi |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
114 |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
115 # pam_console.so isn't shipped with linux-pam. |
bad483aace64
vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents:
536
diff
changeset
|
116 sed -i -e "/pam_console.so/d" $DESTDIR/etc/pam.d/login |
387
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
117 fi |
81a30cce56ef
core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents:
147
diff
changeset
|
118 |
606
25cecc6dca48
vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents:
549
diff
changeset
|
119 cd .. |
136
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
120 rm -rf $PKGNAME-$PKGVERSION |
e737b80da269
core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents:
100
diff
changeset
|
121 } |