]> git.pld-linux.org Git - packages/greetd.git/blob - greetd.spec
e214165b324adbd3470de026d95d8ae153899faf
[packages/greetd.git] / greetd.spec
1 %define         crates_ver      0.8.0
2
3 Summary:        A login manager daemon
4 Name:           greetd
5 Version:        0.8.0
6 Release:        1
7 License:        GPL v3+
8 Group:          Applications
9 Source0:        https://git.sr.ht/~kennylevinsen/greetd/archive/%{version}.tar.gz
10 # Source0-md5:  6c15717ca4741f5c99bba7c16846481f
11 Source1:        %{name}-crates-%{crates_ver}.tar.xz
12 # Source1-md5:  0bbfc01afb256f884be0759b58858de0
13 Source2:        %{name}.pamd
14 Patch0:         nix0.20.patch
15 URL:            https://git.sr.ht/~kennylevinsen/greetd
16 BuildRequires:  cargo
17 BuildRequires:  pam-devel
18 BuildRequires:  pkgconfig
19 BuildRequires:  rpmbuild(macros) >= 2.004
20 BuildRequires:  rust
21 BuildRequires:  scdoc
22 BuildRequires:  tar >= 1:1.22
23 BuildRequires:  xz
24 Requires(postun):       /usr/sbin/userdel
25 Requires(pre):  /bin/id
26 Requires(pre):  /usr/sbin/useradd
27 Requires:       /bin/sh
28 Requires:       greetd(greeter)
29 Provides:       user(greetd-greeter)
30 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31
32 %ifarch x32
33 %define         cargo_outdir    target/x86_64-unknown-linux-gnux32
34 %else
35 %define         cargo_outdir    target
36 %endif
37
38 %description
39 greetd is a minimal and flexible login manager daemon that makes no
40 assumptions about what you want to launch.
41
42 %package greeter-agreety
43 Summary:        Simple, text-based greeter for greetd
44 Requires:       %{name} = %{version}-%{release}
45 Provides:       greetd(greeter)
46
47 %description greeter-agreety
48 Simple, text-based greeter for greetd.
49
50 %prep
51 %setup -q -a1
52 %patch0 -p1
53
54 %{__mv} %{name}-%{crates_ver}/* .
55 sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
56
57 export CARGO_HOME="$(pwd)/.cargo"
58
59 mkdir -p "$CARGO_HOME"
60 cat >.cargo/config <<EOF
61 [source.crates-io]
62 registry = 'https://github.com/rust-lang/crates.io-index'
63 replace-with = 'vendored-sources'
64
65 [source.vendored-sources]
66 directory = '$PWD/vendor'
67 EOF
68
69 %build
70 export CARGO_HOME="$(pwd)/.cargo"
71 %cargo_build --frozen
72
73 %{__make} -C man
74
75 %install
76 rm -rf $RPM_BUILD_ROOT
77
78 install -d $RPM_BUILD_ROOT{/etc/{greetd,pam.d},%{_bindir},%{systemdunitdir},/var/lib/greetd}
79
80 cp -p %{cargo_outdir}/release/{greetd,agreety} $RPM_BUILD_ROOT%{_bindir}
81 sed -e 's/^\([#[:space:]]*\)\?user[[:space:]]*=.*/user = greetd-greeter/' config.toml > $RPM_BUILD_ROOT/etc/greetd/config.toml
82 cp -p greetd.service $RPM_BUILD_ROOT%{systemdunitdir}
83 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/greetd
84
85 %{__make} -C man install \
86         DESTDIR=$RPM_BUILD_ROOT \
87         MANDIR=%{_mandir}
88
89 %clean
90 rm -rf $RPM_BUILD_ROOT
91
92 %pre
93 %useradd -u 343 -r -d /var/lib/greetd -s /bin/sh -c "greetd greeter user" -g nobody -G video greetd-greeter
94
95 %post
96 %systemd_post %{name}.service
97
98 %preun
99 %systemd_preun %{name}.service
100
101 %postun
102 if [ "$1" = "0" ]; then
103         %userremove greetd-greeter
104 fi
105 %systemd_reload
106
107 %files
108 %defattr(644,root,root,755)
109 %doc README.md
110 %dir /etc/greetd
111 %config(noreplace) %verify(not md5 mtime size) /etc/greetd/config.toml
112 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/greetd
113 %attr(755,root,root) %{_bindir}/%{name}
114 %{systemdunitdir}/%{name}.service
115 %{_mandir}/man1/greetd.1*
116 %{_mandir}/man5/greetd.5*
117 %{_mandir}/man7/greetd-ipc.7*
118 %attr(750,greetd-greeter,root) %dir /var/lib/greetd
119
120 %files greeter-agreety
121 %defattr(644,root,root,755)
122 %attr(755,root,root) %{_bindir}/agreety
123 %{_mandir}/man1/agreety.1*
This page took 0.078477 seconds and 2 git commands to generate.