]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/blame - systemd/systemd.nm
Merge remote-tracking branch 'stevee/kmod'
[people/amarx/ipfire-3.x.git] / systemd / systemd.nm
CommitLineData
c8ef6def 1###############################################################################
802ea3af
MT
2# IPFire.org - An Open Source Firewall Solution #
3# Copyright (C) - IPFire Development Team <info@ipfire.org> #
c8ef6def
SS
4###############################################################################
5
802ea3af 6name = systemd
6793fec1 7version = 44
216fde50 8release = 2
c8ef6def 9
802ea3af
MT
10maintainer = Stefan Schantl <stefan.schantl@ipfire.org>
11groups = System/Base
12url = http://www.freedesktop.org/wiki/Software/systemd
13license = GPLv2+
14summary = A System and Service Manager.
c8ef6def 15
802ea3af
MT
16description
17 systemd is a system and service manager for Linux, compatible with
c8ef6def 18 SysV and LSB init scripts.
802ea3af
MT
19end
20
5e38e9bb 21source_dl = http://cgit.freedesktop.org/systemd/systemd/snapshot/
802ea3af
MT
22
23build
6793fec1
MT
24 unitdir = %{prefix}/lib/systemd/system
25
802ea3af
MT
26 requires
27 audit-devel
28 automake
29 autoconf
30 cryptsetup-luks-devel
31 dbus-devel
fe6e3719
SS
32 docbook-utils
33 docbook-xsl
802ea3af 34 gperf
bfabb323 35 gettext-devel
802ea3af 36 intltool
6793fec1 37 kmod-devel >= 5
2a824e90 38 libacl-devel
802ea3af
MT
39 libcap-devel
40 libselinux-devel
41 libtool
6793fec1 42 libudev-devel >= 172
802ea3af 43 pam-devel
53a325cb 44 vala
6793fec1 45 xz-devel
802ea3af
MT
46 end
47
48 configure_options += \
2d32bcae 49 --libexecdir=%{libdir} \
6793fec1 50 --with-distro=ipfire
802ea3af
MT
51
52 prepare_cmds
53 ./autogen.sh ac
54 end
55
56 test
57 make check
58 end
59
60 install_cmds
61 # Create sysv compatible symlinks.
6793fec1
MT
62 mkdir -pv %{BUILDROOT}%{sbindir}
63 ln -svf ../lib/systemd/systemd %{BUILDROOT}/%{sbindir}/init
64 ln -svf ../lib/systemd/systemd %{BUILDROOT}/%{bindir}/systemd
65 ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/reboot
66 ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/halt
67 ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/poweroff
68 ln -svf ../bin/systemctl %{BUILDROOT}/%{sbindir}/shutdown
802ea3af
MT
69
70 # Create empty machine-id file.
71 touch %{BUILDROOT}/etc/machine-id
72
73 # Copy locale and console settings
6793fec1
MT
74 mkdir -pv %{BUILDROOT}%{sysconfdir}
75 cp -vf %{DIR_SOURCE}/{locale,vconsole}.conf %{BUILDROOT}%{sysconfdir}
802ea3af
MT
76
77 # Recreate all targets
6793fec1
MT
78 rm -rfv %{BUILDROOT}%{unitdir}/*.target.wants
79 for i in basic.target.wants default.target.wants dbus.target.wants syslog.target.wants; do
80 mkdir -pv %{BUILDROOT}%{unitdir}/${i} || exit 1
81 done
802ea3af
MT
82
83 # Remove runlevel targets and graphical.target
6793fec1
MT
84 rm -rfv %{BUILDROOT}%{unitdir}/runlevel*
85 rm -rfv %{BUILDROOT}%{unitdir}/graphical.target
802ea3af
MT
86
87 # Set default target to multi-user
6793fec1 88 ln -svf multi-user.target %{BUILDROOT}%{unitdir}/default.target
802ea3af
MT
89
90 # Replace absolute symlinks by relative ones.
6793fec1
MT
91 cd %{BUILDROOT}%{unitdir}/../user
92 for i in bluetooth local-fs printer remote-fs shutdown sockets sound swap; do
93 ln -svf ../system/${i}.target ${i}.target || exit 1
94 done
95
96 # Replace absolute symlink for getty@tty1.service.
97 ln -svf ../../../../%{unitdir}/getty@.service \
98 %{BUILDROOT}%{sysconfdir}/systemd/system/getty.target.wants/getty@tty1.service
99
100 # Replace absolute symlink for remote-fs.target.
101 ln -svf ../../../../%{unitdir}/remote-fs.target \
102 %{BUILDROOT}%{sysconfdir}/systemd/system/multi-user.target.wants/remote-fs.target
802ea3af
MT
103
104 # Remove tmpfile for X11
105 rm -rfv %{BUILDROOT}/usr/lib/tmpfiles.d/x11.conf
106
107 # Remove unneeded symlink for xdg
108 rm -rfv %{BUILDROOT}/etc/xdg/systemd
109 end
110end
111
112packages
113 package %{name}
6793fec1
MT
114 prerequires += authconfig
115
514357ad
SS
116 requires
117 dbus
118 python-cairo
1d40b321 119 python-dbus
214d8f27 120 %{name}-units=%{thisver}
1d40b321 121 udev>=172
514357ad
SS
122 util-linux>=2.19
123 end
1d40b321 124
216fde50
SS
125 provides
126 /bin/systemd
127 /sbin/halt
128 /sbin/init
129 /sbin/poweroff
130 /sbin/reboot
131 /sbin/shutdown
132 end
133
6793fec1
MT
134 conflicts
135 filesystem < 002
136 upstart
137 end
ef438375 138
1d40b321
SS
139 script postin
140 # Generate Machine ID.
6793fec1 141 /usr/bin/systemd-machine-id-setup > /dev/null 2>&1 || :
1d40b321
SS
142
143 # Reexec systemd daemon.
6793fec1 144 /usr/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
1d40b321
SS
145
146 # Make sure pam_systemd is enabled
6793fec1
MT
147 if ! grep -q pam_systemd /etc/pam.d/system-auth-ac ; then
148 authconfig --update --nostart >/dev/null 2>&1 || :
1d40b321
SS
149
150 # Try harder
6793fec1 151 grep -q pam_systemd /etc/pam.d/system-auth-ac || authconfig --updateall --nostart >/dev/null 2>&1 || :
1d40b321
SS
152 fi
153 end
154
155 script postup
156 # Restart login service after update
6793fec1 157 /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
1d40b321 158 end
802ea3af 159 end
1f9bc2f0 160
802ea3af
MT
161 # Package information for systemd-units
162 package %{name}-units
163 summary = Configuration files, directories and installation tool for systemd.
164 description
165 This package contains all needed configuration files, directories
166 and installation / configuration tool for systemd.
167 end
1f9bc2f0 168
5e38e9bb
SS
169 prerequires
170 /bin/sh
171 coreutils
172 end
173
6793fec1 174 provides
802ea3af 175 /bin/systemctl
802ea3af 176 end
1d40b321 177
6793fec1
MT
178 conflicts
179 filesystem < 002
1d40b321
SS
180 end
181
6793fec1
MT
182 files
183 %{sysconfdir}/etc/systemd/system
184 %{sysconfdir}/tmpfiles.d
185 %{sysconfdir}/bash_completion.d/systemctl-bash-completion.sh
186 %{unitdir}
187 %{bindir}/systemctl
188 %{bindir}/systemd-tmpfiles
189 %{mandir}/man1/systemctl.*
1d40b321
SS
190 end
191
192 script postup
193 # Reload service files
6793fec1 194 /usr/bin/systemctl daemon-reload > /dev/null 2>&1 || :
1d40b321 195 end
802ea3af 196 end
1f9bc2f0 197
802ea3af
MT
198 package %{name}-devel
199 template DEVEL
6793fec1
MT
200
201 files += %{prefix}/lib/pakfire/macros/
802ea3af 202 end
1f9bc2f0
MT
203
204 package %{name}-debuginfo
205 template DEBUGINFO
206 end
802ea3af 207end