annotate core/elogind/elogind.sh @ 1104:57f3afd0846a

core/elogind: remove ghost libpcre2 dependency
author David Demelier <markand@malikania.fr>
date Tue, 17 Sep 2019 20:10:00 +0200
parents d16175ccb3c3
children 297b5eef115e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1066
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/bin/busybox sh
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Permission to use, copy, modify, and/or distribute this software for any
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # purpose with or without fee is hereby granted, provided that the above
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # copyright notice and this permission notice appear in all copies.
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 #
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
17
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 # TODO: add SELINUX support.
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 PKGNAME=elogind
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 PKGVERSION=241.3
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 PKGREVISION=1
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 PKGLICENSE="LGPLv21+ PUBLIC-DOMAIN"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 PKGSUMMARY="user, seat and session manager"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 PKGDOWNLOAD="https://github.com/$PKGNAME/$PKGNAME/archive/v$PKGVERSION.tar.gz"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 PKGDEPENDS="acl libcap meson:build"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 PKGOPTIONS="PAM REGEX"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 PKGPROTECT="etc/elogind/logind.conf etc/pam.d/elogind-user"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 : ${CC:=clang}
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 : ${CFLAGS:=-O2}
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 : ${LDFLAGS:=}
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 : ${PAM:=yes}
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 : ${REGEX:=yes}
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 if [ "$PAM" = "yes" ]; then
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 PKGDEPENDS="linux-pam $PKGDEPENDS"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 with_pam="-D pam=true"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 else
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 with_pam="-D pam=false"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 fi
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 if [ "$REGEX" = "yes" ]; then
1104
57f3afd0846a core/elogind: remove ghost libpcre2 dependency
David Demelier <markand@malikania.fr>
parents: 1066
diff changeset
44 PKGDEPENDS="pcre2 $PKGDEPENDS"
1066
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 with_regex="-D pcre2=true"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 else
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 with_regex="-D pcre2=false"
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 fi
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 build()
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 {
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 rm -rf $PKGNAME-$PKGVERSION
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 tar xvf v$PKGVERSION.tar.gz
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 cd $PKGNAME-$PKGVERSION
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 patch -p0 < ../patch-musl.patch
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 CC="$CC" \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 CFLAGS="$CFLAGS" \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 LDFLAGS="$LDFLAGS" \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 meson . build \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 --prefix / \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 --buildtype release \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 --default-library shared \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 -D split-usr=true \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 -D split-bin=false \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 -D tests=false \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 -D docdir=share/doc/$PKGNAME \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 $with_pam \
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 $with_regex
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 ninja -C build
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 DESTDIR=$DESTDIR ninja -C build install
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 sed -i -e "/^#.*/d" $DESTDIR/etc/pam.d/elogind-user
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 sed -i -e "1i#" $DESTDIR/etc/pam.d/elogind-user
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 sed -i -e "2i# /etc/pam.d/elogind-user -- PAM configuration file for elogind" $DESTDIR/etc/pam.d/elogind-user
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 sed -i -e "3i#" $DESTDIR/etc/pam.d/elogind-user
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
77
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 cd ..
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 rm -rf $PKGNAME-$PKGVERSION
d16175ccb3c3 core/elogind: initial import, closes #2265
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 }