Name: shepherd Version: 0.10.5 Release: 1%{?dist} Summary: System service manager written in Guile License: GPL-3.0-or-later URL: https://www.gnu.org/software/shepherd Source0: https://ftp.gnu.org/gnu/shepherd/shepherd-%{version}.tar.gz BuildRequires: guile30, guile30-devel, guile-fibers, pkg-config BuildRequires: make, gcc, texinfo, gettext Requires: guile30, guile-fibers %global guile_site_dir %(pkg-config --variable sitedir guile-3.0) %global guile_ccache_dir %(pkg-config --variable siteccachedir guile-3.0) %description The GNU Shepherd is a service manager written in Guile that looks after the herd of daemons running on the system. It can be used as an “init” system (PID 1) and also by unprivileged users to manage per-user daemons—e.g., tor, privoxy, mcron. It supports several daemon startup mechanisms, including inetd and systemd-style socket activation. The GNU Shepherd is configured in Guile Scheme and can be extended in the same language. It builds on a simple memory-safe and callback-free programming model. %prep %autosetup %build %configure %make_build %install %make_install %find_lang %{name} %check sed -i 's|guile|guile3.0|g' tests/pid-file.sh tests/inetd.sh tests/systemd.sh tests/close-on-exec.sh tests/services/repl.sh %{__make} %{?_smp_mflags} check %files -f %{name}.lang %license COPYING %doc AUTHORS ChangeLog NEWS README THANKS %{_bindir}/herd %{_bindir}/shepherd %{_sysconfdir}/bash_completion.d/herd %{_libdir}/shepherd/crash-handler.so %{guile_site_dir}/shepherd.scm %{guile_ccache_dir}/shepherd.go %{guile_site_dir}/shepherd/ %{guile_ccache_dir}/shepherd/ %{_mandir}/man1/herd.1* %{_mandir}/man1/shepherd.1* # Don't include files that are only needed when running as PID1 %exclude %{_sbindir}/halt %exclude %{_sbindir}/reboot %exclude %{_sbindir}/shutdown %exclude %{_mandir}/man8/halt.8* %exclude %{_mandir}/man8/reboot.8* %{_infodir}/shepherd.info.gz %exclude %{_infodir}/dir %changelog %autochangelog