]>
Commit | Line | Data |
---|---|---|
5f727173 JP |
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 | |
2f148bcb | 12 | # Source1-md5: 0bbfc01afb256f884be0759b58858de0 |
5f727173 | 13 | Source2: %{name}.pamd |
2f148bcb | 14 | Patch0: nix0.20.patch |
5f727173 JP |
15 | URL: https://git.sr.ht/~kennylevinsen/greetd |
16 | BuildRequires: cargo | |
17 | BuildRequires: pam-devel | |
18 | BuildRequires: pkgconfig | |
831aa28f | 19 | BuildRequires: rpmbuild(macros) >= 2.011 |
5f727173 JP |
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 | %description | |
33 | greetd is a minimal and flexible login manager daemon that makes no | |
34 | assumptions about what you want to launch. | |
35 | ||
36 | %package greeter-agreety | |
37 | Summary: Simple, text-based greeter for greetd | |
38 | Requires: %{name} = %{version}-%{release} | |
39 | Provides: greetd(greeter) | |
40 | ||
41 | %description greeter-agreety | |
42 | Simple, text-based greeter for greetd. | |
43 | ||
44 | %prep | |
45 | %setup -q -a1 | |
2f148bcb | 46 | %patch0 -p1 |
5f727173 JP |
47 | |
48 | %{__mv} %{name}-%{crates_ver}/* . | |
49 | sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock | |
50 | ||
51 | export CARGO_HOME="$(pwd)/.cargo" | |
52 | ||
53 | mkdir -p "$CARGO_HOME" | |
54 | cat >.cargo/config <<EOF | |
55 | [source.crates-io] | |
56 | registry = 'https://github.com/rust-lang/crates.io-index' | |
57 | replace-with = 'vendored-sources' | |
58 | ||
59 | [source.vendored-sources] | |
60 | directory = '$PWD/vendor' | |
61 | EOF | |
62 | ||
63 | %build | |
64 | export CARGO_HOME="$(pwd)/.cargo" | |
65 | %cargo_build --frozen | |
66 | ||
67 | %{__make} -C man | |
68 | ||
69 | %install | |
70 | rm -rf $RPM_BUILD_ROOT | |
71 | ||
c44f7daa | 72 | install -d $RPM_BUILD_ROOT{/etc/{greetd,pam.d},%{_bindir},%{systemdunitdir},/var/lib/greetd} |
5f727173 | 73 | |
831aa28f | 74 | cp -p %{cargo_objdir}/{greetd,agreety} $RPM_BUILD_ROOT%{_bindir} |
5f727173 JP |
75 | sed -e 's/^\([#[:space:]]*\)\?user[[:space:]]*=.*/user = greetd-greeter/' config.toml > $RPM_BUILD_ROOT/etc/greetd/config.toml |
76 | cp -p greetd.service $RPM_BUILD_ROOT%{systemdunitdir} | |
77 | cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/greetd | |
78 | ||
79 | %{__make} -C man install \ | |
80 | DESTDIR=$RPM_BUILD_ROOT \ | |
81 | MANDIR=%{_mandir} | |
82 | ||
83 | %clean | |
84 | rm -rf $RPM_BUILD_ROOT | |
85 | ||
86 | %pre | |
c44f7daa | 87 | %useradd -u 343 -r -d /var/lib/greetd -s /bin/sh -c "greetd greeter user" -g nobody -G video greetd-greeter |
5f727173 JP |
88 | |
89 | %post | |
90 | %systemd_post %{name}.service | |
91 | ||
92 | %preun | |
93 | %systemd_preun %{name}.service | |
94 | ||
95 | %postun | |
96 | if [ "$1" = "0" ]; then | |
97 | %userremove greetd-greeter | |
98 | fi | |
99 | %systemd_reload | |
100 | ||
101 | %files | |
102 | %defattr(644,root,root,755) | |
103 | %doc README.md | |
104 | %dir /etc/greetd | |
105 | %config(noreplace) %verify(not md5 mtime size) /etc/greetd/config.toml | |
106 | %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/greetd | |
107 | %attr(755,root,root) %{_bindir}/%{name} | |
108 | %{systemdunitdir}/%{name}.service | |
109 | %{_mandir}/man1/greetd.1* | |
110 | %{_mandir}/man5/greetd.5* | |
111 | %{_mandir}/man7/greetd-ipc.7* | |
c44f7daa | 112 | %attr(750,greetd-greeter,root) %dir /var/lib/greetd |
5f727173 JP |
113 | |
114 | %files greeter-agreety | |
115 | %defattr(644,root,root,755) | |
116 | %attr(755,root,root) %{_bindir}/agreety | |
117 | %{_mandir}/man1/agreety.1* |