]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/blob - plymouth/plymouth.nm
plymouth: Enable systemd plymouth service files.
[people/amarx/ipfire-3.x.git] / plymouth / plymouth.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 name = plymouth
7 version = 0.8.5.1
8 release = 3
9
10 groups = System/Base
11 url = http://www.freedesktop.org/wiki/Software/Plymouth
12 license = GPLv2+
13 summary = Graphical Boot Animation and Logger.
14
15 description
16 Plymouth provides an attractive graphical boot animation in
17 place of the text messages that normally get shown. Text
18 messages are instead redirected to a log file for viewing
19 after boot.
20 end
21
22 source_dl = http://www.freedesktop.org/software/plymouth/releases/
23 sources = %{thisapp}.tar.bz2
24
25 build
26 requires
27 autoconf
28 automake
29 cairo-devel
30 glib2-devel
31 pkgconfig(libdrm)
32 pkgconfig(libdrm_radeon)
33 pkgconfig(libdrm_nouveau)
34 libpng-devel
35 pango-devel
36 end
37
38 enable_libdrm_intel = 0
39
40 if "%{DISTRO_MACHINE}" == "x86_64"
41 enable_libdrm_intel = 1
42 requires += pkgconfig(libdrm_intel)
43 end
44
45 if "%{DISTRO_MACHINE}" == "i686"
46 enable_libdrm_intel = 1
47 requires += pkgconfig(libdrm_intel)
48 end
49
50 CFLAGS += -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
51
52 configure_options += \
53 --libexecdir=/usr/lib \
54 --enable-tracing \
55 --disable-tests \
56 --with-logo=%{datadir}/pixmaps/system-logo-white.png \
57 --with-background-start-color-stop=0x880400 \
58 --with-background-end-color-stop=0x000000 \
59 --with-background-color=0x880400 \
60 --disable-gdm-transition \
61 --enable-systemd-integration \
62 --without-system-root-install \
63 --without-rhgb-compat-link \
64 --without-log-viewer
65
66 if "%{enable_libdrm_intel}" == "0"
67 configure_options += --disable-libdrm_intel
68 end
69
70 prepare_cmds
71 autoreconf -vfi
72 end
73
74 # Fix install location for systemd files.
75 make_install_targets += \
76 SYSTEMD_UNIT_DIR=%{unitdir}
77
78 install_cmds
79 mkdir -pv %{BUILDROOT}%{datadir}/plymouth
80 mkdir -pv %{BUILDROOT}%{localstatedir}/lib/plymouth
81 cp -vf %{DIR_SOURCE}/boot-duration \
82 %{BUILDROOT}%{datadir}/plymouth/default-boot-duration
83 cp -vf %{DIR_SOURCE}/boot-duration \
84 %{BUILDROOT}%{localstatedir}/lib/plymouth
85
86 # Override plymouth-update-initrd to work dracut or mkinitrd
87 cp -vf %{DIR_SOURCE}/plymouth-update-initrd \
88 %{BUILDROOT}/usr/lib/plymouth/plymouth-update-initrd
89 chmod 755 %{BUILDROOT}/usr/lib/plymouth/plymouth-update-initrd
90
91 # XXX - may we can remove this at a later time.
92 #
93 # Enable plymouth systemd service files and link them to the correct targets.
94 mkdir -pv %{BUILDROOT}%{unitdir}/halt.target.wants
95 mkdir -pv %{BUILDROOT}%{unitdir}/multi-user.target.wants
96 mkdir -pv %{BUILDROOT}%{unitdir}/poweroff.target.wants
97 mkdir -pv %{BUILDROOT}%{unitdir}/reboot.target.wants
98 mkdir -pv %{BUILDROOT}%{unitdir}/sysinit.target.wants
99
100 ln -svf ../plymouth-halt.service %{BUILDROOT}%{unitdir}/halt.target.wants/plymouth-halt.service
101 ln -svf ../plymouth-quit.service %{BUILDROOT}%{unitdir}/multi-user.target.wants/plymouth-quit.service
102 ln -svf ../plymouth-quit-wait.service %{BUILDROOT}%{unitdir}/multi-user.target.wants/plymouth-quit-wait.service
103 ln -svf ../plymouth-poweroff.service %{BUILDROOT}%{unitdir}/poweroff.target.wants/plymouth-poweroff.service
104 ln -svf ../plymouth-reboot.service %{BUILDROOT}%{unitdir}/reboot.target.wants/plymouth-reboot.service
105 ln -svf ../plymouth-read-write.service %{BUILDROOT}%{unitdir}/sysinit.target.wants/plymouth-read-write.service
106 ln -svf ../plymouth-start.service %{BUILDROOT}%{unitdir}/sysinit.target.wants/plymouth-start.service
107 end
108 end
109
110 packages
111 package %{name}
112 groups += Base
113
114 prerequires
115 coreutils
116 end
117
118 requires
119 %{name}-libs = %{thisver}
120 %{name}-scripts = %{thisver}
121 %{name}-system-theme = %{thisver}
122 initscripts
123 end
124
125 conflicts
126 systemd-units < 185-3
127 end
128
129 configfiles
130 /etc/plymouth/plymouthd.conf
131 end
132
133 script postin
134 if [ ! -f "%{localstatedir}/lib/plymouth/boot-duration" ]; then
135 cp -f %{datadir}/plymouth/default-boot-duration \
136 %{localstatedir}/lib/plymouth/boot-duration
137 fi
138
139 # Just search for new unit files that were just installed.
140 /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
141 end
142
143 # Reload systemd after update.
144 script postup
145 /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
146 end
147
148 # Tell systemd that unitfiles have been removed.
149 script postun
150 /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
151
152 rm -f /boot/initrd-plymouth.img
153 end
154
155 script posttransin
156 /usr/lib/plymouth/plymouth-generate-initrd >/dev/null 2>&1
157 end
158 end
159
160 package %{name}-libs
161 template LIBS
162 end
163
164 package %{name}-devel
165 template DEVEL
166
167 requires = plymouth-libs = %{thisver}
168 end
169
170 package %{name}-scripts
171 summary = Plymouth related scripts.
172 descrtiption
173 This package contains scripts that help to integrate
174 Plymouth with the system.
175 end
176
177 prerequires = /usr/bin/plymouth
178
179 requires
180 plymouth = %{thisver}
181 coreutils
182 cpio
183 dracut
184 findutils
185 grubby
186 gzip
187 end
188
189 files
190 %{sbindir}/plymouth-set-default-theme
191 %{sbindir}/plymouth-set-default-plugin
192 /usr/lib/plymouth/plymouth-update-initrd
193 /usr/lib/plymouth/plymouth-generate-initrd
194 /usr/lib/plymouth/plymouth-populate-initrd
195 end
196 end
197
198 package %{name}-plugin-label
199 summary = Plymouth label plugin.
200 description
201 This package contains the label plugin for Plymouth.
202 It provides the ability to render text on graphical boot
203 splashes using pango and cairo.
204 end
205
206 files
207 %{libdir}/plymouth/label.so
208 end
209 end
210
211 package %{name}-plugin-fade-throbber
212 summary = Plymouth fade-throbber plugin.
213 description
214 The package contains the fade-throbber plugin for Plymouth.
215 It features a centered image that fades in and out while
216 other images pulsate around during system boot up.
217 end
218
219 requires
220 %{name}-plugin-label
221 end
222
223 files
224 %{libdir}/plymouth/fade-throbber.so
225 end
226 end
227
228 package %{name}-plugin-throbgress
229 summary = Plymouth throbgress plugin.
230 description
231 This package contains the throbgress plugin for Plymouth.
232 It features a centered logo and animated spinner that spins
233 repeatedly while a progress bar advances at the bootom of the
234 screen.
235 end
236
237 requires
238 %{name}-plugin-label
239 end
240
241 files
242 %{libdir}/plymouth/throbgress.so
243 end
244 end
245
246 package %{name}-plugin-space-flares
247 summary = Plymouth space-flares plugin.
248 description
249 This package contains the space-flares plugin for Plymouth.
250 It features a corner image with animated flares.
251 end
252
253 requires
254 %{name}-plugin-label
255 end
256
257 files
258 %{libdir}/plymouth/space-flares.so
259 end
260 end
261
262 package %{name}-plugin-two-step
263 summary = Plymouth two-step plugin.
264 description
265 This package contains the two-step plugin for Plymouth.
266 It features a corner image with animated flares.
267 end
268
269 requires
270 %{name}-plugin-label
271 end
272
273 files
274 %{libdir}/plymouth/two-step.so
275 end
276 end
277
278 package %{name}-plugin-script
279 files
280 %{libdir}/plymouth/script.so
281 end
282 end
283
284 template THEME
285 summary = The plymouth "%{theme_name}" theme.
286 description
287 This package contains the "%{theme_name}" boot
288 splash theme for plymouth.
289 end
290
291 requires
292 %{name}-scripts = %{thisver}
293 end
294
295 files
296 %{datadir}/plymouth/themes/%{theme_name}
297 end
298
299 script postun
300 if [ "$(%{sbindir}/plymouth-set-default-theme)" = %{theme_name}" ]; then
301 %{sbindir}/plymouth-set-default-theme --reset
302 /usr/lib/plymouth/plymouth-generate-initrd
303 fi
304 end
305 end
306
307 package %{name}-theme-fade-in
308 template THEME
309 theme_name = fade-in
310
311 requires += %{name}-plugin-fade-throbber=%{thisver}
312 end
313
314 package %{name}-theme-spinner
315 template THEME
316 theme_name = spinner
317
318 requires += %{name}-plugin-two-step=%{thisver}
319 end
320
321 package %{name}-theme-spinfinity
322 template THEME
323 theme_name = spinfinity
324
325 requires += %{name}-plugin-throbgress=%{thisver}
326 end
327
328 package %{name}-theme-script
329 template THEME
330 theme_name = script
331
332 requires += %{name}-plugin-script=%{thisver}
333 end
334
335 package %{name}-theme-solar
336 template THEME
337 theme_name = solar
338
339 requires += %{name}-plugin-space-flares=%{thisver}
340 end
341
342 package %{name}-system-theme
343 summary = Plymouth default theme.
344 description
345 This metapackage tracks the current distribution default theme.
346 end
347
348 groups += Base
349
350 requires
351 system-logos
352 end
353
354 # Don't package any files.
355 files =
356 end
357 end