1 %define crates_ver 0.8.0
3 Summary: A login manager daemon
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
15 URL: https://git.sr.ht/~kennylevinsen/greetd
17 BuildRequires: pam-devel
18 BuildRequires: pkgconfig
19 BuildRequires: rpmbuild(macros) >= 2.004
22 BuildRequires: tar >= 1:1.22
24 Requires(postun): /usr/sbin/userdel
25 Requires(pre): /bin/id
26 Requires(pre): /usr/sbin/useradd
28 Requires: greetd(greeter)
29 Provides: user(greetd-greeter)
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 %define cargo_outdir target/x86_64-unknown-linux-gnux32
35 %define cargo_outdir target
39 greetd is a minimal and flexible login manager daemon that makes no
40 assumptions about what you want to launch.
42 %package greeter-agreety
43 Summary: Simple, text-based greeter for greetd
44 Requires: %{name} = %{version}-%{release}
45 Provides: greetd(greeter)
47 %description greeter-agreety
48 Simple, text-based greeter for greetd.
54 %{__mv} %{name}-%{crates_ver}/* .
55 sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
57 export CARGO_HOME="$(pwd)/.cargo"
59 mkdir -p "$CARGO_HOME"
60 cat >.cargo/config <<EOF
62 registry = 'https://github.com/rust-lang/crates.io-index'
63 replace-with = 'vendored-sources'
65 [source.vendored-sources]
66 directory = '$PWD/vendor'
70 export CARGO_HOME="$(pwd)/.cargo"
76 rm -rf $RPM_BUILD_ROOT
78 install -d $RPM_BUILD_ROOT{/etc/{greetd,pam.d},%{_bindir},%{systemdunitdir},/var/lib/greetd}
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
85 %{__make} -C man install \
86 DESTDIR=$RPM_BUILD_ROOT \
90 rm -rf $RPM_BUILD_ROOT
93 %useradd -u 343 -r -d /var/lib/greetd -s /bin/sh -c "greetd greeter user" -g nobody -G video greetd-greeter
96 %systemd_post %{name}.service
99 %systemd_preun %{name}.service
102 if [ "$1" = "0" ]; then
103 %userremove greetd-greeter
108 %defattr(644,root,root,755)
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
120 %files greeter-agreety
121 %defattr(644,root,root,755)
122 %attr(755,root,root) %{_bindir}/agreety
123 %{_mandir}/man1/agreety.1*