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