comparison core/elogind/elogind.sh @ 1066:d16175ccb3c3

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