annotate security/shadow/shadow.sh @ 686:1eeee876a60e

qt/qtquickcontrols: initial import, closes #1530
author David Demelier <markand@malikania.fr>
date Thu, 01 Aug 2019 20:50:00 +0200
parents 9de04ddc6f6d
children 59a2fa6992bc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 --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
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
105 make ubindir=/bin usbindir=/bin
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
106 make DESTDIR=$DESTDIR ubindir=/bin usbindir=/bin install
100
00d0621f86b1 core/shadow: initial import, closes #1046
David Demelier <markand@malikania.fr>
parents:
diff changeset
107
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
108 if [ "$PAM" = "yes" ]; then
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
109 # --disable-selinux does not update pam.d files
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
110 if [ "$SELINUX" = "no" ]; then
639
9de04ddc6f6d vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
111 sed -i -e "/pam_selinux.so/d" \
9de04ddc6f6d vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
112 $DESTDIR/etc/pam.d/login \
9de04ddc6f6d vanilla: be more POSIX
David Demelier <markand@malikania.fr>
parents: 606
diff changeset
113 $DESTDIR/etc/pam.d/su
549
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
114 fi
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
115
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
116 # pam_console.so isn't shipped with linux-pam.
bad483aace64 vanilla: use prefix= instead
David Demelier <markand@malikania.fr>
parents: 536
diff changeset
117 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
118 fi
81a30cce56ef core/shadow: add PAM support
David Demelier <markand@malikania.fr>
parents: 147
diff changeset
119
606
25cecc6dca48 vanilla: use POSIX shell and busybox tar
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
120 cd ..
136
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 100
diff changeset
121 rm -rf $PKGNAME-$PKGVERSION
e737b80da269 core: merge .sh and .info
David Demelier <markand@malikania.fr>
parents: 100
diff changeset
122 }