1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
12 url = http://www.freedesktop.org/wiki/Software/systemd
14 summary = A System and Service Manager.
17 systemd is a system and service manager for Linux, compatible with
18 SysV and LSB init scripts.
21 source_dl = http://cgit.freedesktop.org/systemd/systemd/snapshot/
44 configure_options += \
46 --libexecdir=%{libdir} \
48 --with-distro=ipfire \
49 --with-udevrulesdir=/lib/udev/rules.d/ \
50 --with-pamlibdir=/%{lib}/security
61 # Create sysv compatible symlinks.
62 mkdir -pv %{BUILDROOT}/sbin
63 ln -svf ../bin/systemd %{BUILDROOT}/sbin/init
64 ln -svf ../bin/systemctl %{BUILDROOT}/sbin/reboot
65 ln -svf ../bin/systemctl %{BUILDROOT}/sbin/halt
66 ln -svf ../bin/systemctl %{BUILDROOT}/sbin/poweroff
67 ln -svf ../bin/systemctl %{BUILDROOT}/sbin/shutdown
69 # Create empty machine-id file.
70 touch %{BUILDROOT}/etc/machine-id
72 # Copy locale and console settings
73 mkdir -pv %{BUILDROOT}/etc
74 cp -vf %{DIR_SOURCE}/locale.conf %{BUILDROOT}/etc/
75 cp -vf %{DIR_SOURCE}/vconsole.conf %{BUILDROOT}/etc/
77 # Recreate all targets
78 rm -rfv %{BUILDROOT}/etc/systemd/system/*.target.wants
79 mkdir -pv %{BUILDROOT}/lib/systemd/system/basic.target.wants
80 mkdir -pv %{BUILDROOT}/lib/systemd/system/default.target.wants
81 mkdir -pv %{BUILDROOT}/lib/systemd/system/dbus.target.wants
82 mkdir -pv %{BUILDROOT}/lib/systemd/system/syslog.target.wants
84 # Remove runlevel targets and graphical.target
85 rm -rfv %{BUILDROOT}/lib/systemd/system/runlevel*
86 rm -rfv %{BUILDROOT}/lib/systemd/system/graphical.target
88 # Set default target to multi-user
89 cd %{BUILDROOT}/lib/systemd/system && ln -svf multi-user.target default.target
91 # Replace absolute symlinks by relative ones.
92 cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/bluetooth.target bluetooth.target
93 cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/local-fs.target local-fs.target
94 cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/printer.target printer.target
95 cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/shutdown.target shutdown.target
96 cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/sockets.target sockets.target
97 cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/sound.target sound.target
98 cd %{BUILDROOT}/usr/lib/systemd/user/ && ln -svf ../../../../lib/systemd/system/swap.target swap.target
100 # Remove tmpfile for X11
101 rm -rfv %{BUILDROOT}/usr/lib/tmpfiles.d/x11.conf
103 # Remove unneeded symlink for xdg
104 rm -rfv %{BUILDROOT}/etc/xdg/systemd
114 %{name}-units=%{thisver}
119 prerequires += authconfig
123 # Generate Machine ID.
124 /bin/systemd-machine-id-setup > /dev/null 2>&1 || :
126 # Reexec systemd daemon.
127 /bin/systemctl daemon-reexec > /dev/null 2>&1 || :
129 # Make sure pam_systemd is enabled
130 if ! /bin/grep -q pam_systemd /etc/pam.d/system-auth-ac ; then
131 /usr/sbin/authconfig --update --nostart >/dev/null 2>&1 || :
134 /bin/grep -q pam_systemd /etc/pam.d/system-auth-ac || /usr/sbin/authconfig --updateall --nostart >/dev/null 2>&1 || :
139 # Restart login service after update
140 /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
144 # Package information for systemd-units
145 package %{name}-units
146 summary = Configuration files, directories and installation tool for systemd.
148 This package contains all needed configuration files, directories
149 and installation / configuration tool for systemd.
160 /etc/bash_completion.d/systemctl-bash-completion.sh
163 /bin/systemd-tmpfiles
164 /usr/share/man/man1/systemctl.*
168 # Enable default services.
169 /bin/systemctl enable \
171 remote-fs.target > /dev/null 2>&1 || :
175 # Disable default services.
176 /bin/systemctl disable \
178 remote-fs.target > /dev/null 2>&1 || :
182 # Reload service files
183 /bin/systemctl daemon-reload > /dev/null 2>&1 || :
187 package %{name}-devel
191 package %{name}-debuginfo