# # spec file for package plymouth # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define plymouthdaemon_execdir %{_sbindir} %define plymouthclient_execdir %{_bindir} %define plymouth_libdir %{_libdir} %define plymouth_initrd_file /boot/initrd-plymouth.img Name: plymouth Version: 0.9.0 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0+ Group: System/Base Url: http://freedesktop.org/software/plymouth/releases Source0: %{name}-%{version}.tar.bz2 Source1: boot-duration # PATCH-OPENSUSE -- Handle correctly multiple displays with different sizes Patch3: plymouth-fix-window-size # PATCH-OPENSUSE -- Ensure graphical.target is conflicting with plymouth-wait-quit.service Patch4: stop-graphical.patch # PATCH-OPENSUSE -- prefix is /usr/sbin and /usr/bin Patch9: plymouth-dracut-path.patch Patch10: 0001-Some-greenish-openSUSE-colors.patch # PATCH-OPENSUSE -- plymouth-correct-runtime-dir.patch tittiatcoke@gmail.com -- make sure the runtime directory is /run and not /var/run Patch16: plymouth-correct-runtime-dir.patch # PATCH-FIX-UPSTREAM plymouth-manpages.patch idoenmez@suse.de -- Fix man page installation Patch17: plymouth-manpages.patch Patch18: fix-serial-consoles.patch # PATCH-FIX-UPSTREAM 0001-device-manager-only-call-ply_terminal_free.patch fcrozat@suse.com -- Fix crash Patch19: 0001-device-manager-only-call-ply_terminal_free.patch # PATCH-FIX-OPENSUSE use-mkinitrd.patch fcrozat@suse.com -- call mkinitrd -B for now Patch20: use-mkinitrd.patch # PATCH-FIX-UPSTREAM 0001-seats-guard-against-NULL-terminal.patch fcrozat@suse.com -- guard against null terminal Patch21: 0001-seats-guard-against-NULL-terminal.patch # PATCH-FIX-UPSTREAM 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch fcrozat@suse.com -- prevent crash if pixel display is removed Patch22: 0001-splash-remove-pixel_pixel-in-sprite-lib-when-notifie.patch # PATCH-FIX-UPSTREAM 0001-splash-do-not-process-display-lists-if-it-is-empty.patch fcrozat@suse.com -- do no crash when removing displays Patch23: 0001-splash-do-not-process-display-lists-if-it-is-empty.patch # PATCH-FIX-UPSTREAM 0001-libply-splash-core-also-monitor-for-file-removal-in-.patch fcrozat@suse.com -- handle recent udev Patch24: 0001-libply-splash-core-also-monitor-for-file-removal-in-.patch # PATCH-FIX-UPSTREAM 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch fcrozat@suse.com -- handle empty seat better Patch25: 0001-seat-be-a-little-more-forgiving-in-the-case-there-s-.patch # PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch fcrozat@suse.com -- ignore cirrusdrm, use fb instead Patch26: plymouth-ignore-cirrusdrm.patch # PATCH-FIX-UPSTREAM 0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch bnc#886148 fcrozat@suse.com -- fix UTF-8 code for square Patch27: 0001-text-step-bar-use-correct-utf-8-multibyte-sequence-f.patch Patch28: plymouth-boot-vga-framebuffer.patch Patch29: 0001-let-it-become-a-real-daemon.patch BuildRequires: automake BuildRequires: docbook-xsl-stylesheets BuildRequires: kernel-headers BuildRequires: libtool BuildRequires: libudev-devel BuildRequires: libxslt BuildRequires: module-init-tools BuildRequires: update-desktop-files BuildRequires: xz BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(systemd) >= 186 Requires: %{name}-branding Requires: gnu-unifont-bitmap-fonts Requires: systemd >= 186 Requires(post): plymouth-scripts = %{version} BuildRequires: suse-module-tools Suggests: plymouth-plugin-label Provides: bootsplash = 3.4 Obsoletes: bootsplash <= 3.4 Provides: systemd-plymouth = 44-10.2 Obsoletes: systemd-plymouth <= 44-10.1 %description Plymouth provides an attractive graphical boot animation in place of the text messages that normally get shown. Text messages are instead redirected to a log file for viewing after boot. %package -n libply-boot-client2 Summary: Plymouth core library Group: Development/Libraries/C and C++ %description -n libply-boot-client2 This package contains the libply-boot-client library used by Plymouth. %package -n libply-splash-core2 Summary: Plymouth core library Group: Development/Libraries/C and C++ %description -n libply-splash-core2 This package contains the libply-splash-core library used by graphical Plymouth splashes. %package -n libply-splash-graphics2 Summary: Plymouth graphics libraries Group: Development/Libraries/C and C++ BuildRequires: libpng-devel %description -n libply-splash-graphics2 This package contains the libply-splash-graphics library used by graphical Plymouth splashes. %package -n libply2 Summary: Plymouth core library Group: Development/Libraries/C and C++ Requires: libply-boot-client2 = %{version} %description -n libply2 This package contains the libply library used by Plymouth. %package devel Summary: Libraries and headers for writing Plymouth splash plugins Group: Development/Libraries/C and C++ Requires: %{name} = %{version} Requires: %{name}-x11-renderer = %{version} Requires: libply-boot-client2 = %{version} Requires: libply-splash-core2 = %{version} Requires: libply-splash-graphics2 = %{version} Requires: libply2 = %{version} Requires: pkgconfig %description devel This package contains the libply and libplybootsplash libraries and headers needed to develop 3rd party splash plugins for Plymouth. %package utils Summary: Plymouth related utilities Group: System/Base BuildRequires: pkgconfig(gtk+-2.0) Requires: %{name} = %{version} %description utils This package contains utilities that integrate with Plymouth including a boot log viewing application. %package dracut Summary: Plymouth related utilities for dracut Group: System/Base Supplements: packageand(plymouth:dracut) Requires: %{name} = %{version} %description dracut This package contains utilities that integrate dracut with Plymouth %package x11-renderer Summary: Plymouth X11 renderer Group: System/Base Requires: %{name} = %{version} %description x11-renderer This package provides the X11 renderer which allows to test plymouth behavior on environments with a valid DISPLAY. %package scripts Summary: Plymouth related scripts Group: System/Base Requires(pre): %{name} = %{version} Requires: coreutils Requires: cpio Requires: findutils Requires: pigz %description scripts This package contains scripts that help integrate Plymouth with the system. %package plugin-label Summary: Plymouth label plugin Group: System/Base BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(pango) >= 1.21.0 Requires: libply-splash-core2 = %{version} %description plugin-label This package contains the label control plugin for Plymouth. It provides the ability to render text on graphical boot splashes using pango and cairo. %package plugin-fade-throbber Summary: Plymouth "Fade-Throbber" plugin Group: System/Base Requires: libply-splash-core2 = %{version} Requires: libply-splash-graphics2 = %{version} Requires: libply2 = %{version} %description plugin-fade-throbber This package contains the "Fade-In" boot splash plugin for Plymouth. It features a centered image that fades in and out while other images pulsate around during system boot up. %package plugin-throbgress Summary: Plymouth "Throbgress" plugin Group: System/Base Requires: %{name}-plugin-label = %{version} Requires: libply-splash-core2 = %{version} Requires: libply-splash-graphics2 = %{version} Requires: libply2 = %{version} %description plugin-throbgress This package contains the "throbgress" boot splash plugin for Plymouth. It features a centered logo and animated spinner that spins repeatedly while a progress bar advances at the bottom of the screen. %package plugin-space-flares Summary: Plymouth "space-flares" plugin Group: System/Base Requires: %{name}-plugin-label = %{version} Requires: libply-splash-core2 = %{version} Requires: libply-splash-graphics2 = %{version} Requires: libply2 = %{version} %description plugin-space-flares This package contains the "space-flares" boot splash plugin for Plymouth. It features a corner image with animated flares. %package plugin-two-step Summary: Plymouth "two-step" plugin Group: System/Base Requires: libply-splash-core2 = %{version} Requires: libply-splash-graphics2 = %{version} Requires: libply2 = %{version} Requires: plymouth-plugin-label = %{version} %description plugin-two-step This package contains the "two-step" boot splash plugin for Plymouth. It features a two phased boot process that starts with a progressing animation synced to boot time and finishes with a short, fast one-shot animation. %package plugin-script Summary: Plymouth "script" plugin Group: System/Base Requires: libply-splash-core2 = %{version} Requires: libply-splash-graphics2 = %{version} Requires: libply2 = %{version} %description plugin-script This package contains the "script" boot splash plugin for Plymouth. It features an extensible, scriptable boot splash language that simplifies the process of designing custom boot splash themes. %package plugin-tribar Summary: Plymouth "script" plugin Group: System/Base Requires: libply-splash-core2 = %{version} Requires: libply-splash-graphics2 = %{version} Requires: libply2 = %{version} %description plugin-tribar This package contains the "tribar" boot splash plugin for Plymouth. It features an extensible, scriptable boot splash language that simplifies the process of designing custom boot splash themes. %package theme-fade-in Summary: Plymouth "Fade-In" theme Group: System/Base Requires: %{name}-plugin-fade-throbber = %{version} Requires: plymouth-plugin-label = %{version} Requires(post): %{name}-scripts BuildArch: noarch %description theme-fade-in This package contains the "Fade-In" boot splash theme for Plymouth. It features a centered logo that fades in and out while stars twinkle around the logo during system boot up. %package theme-spinfinity Summary: Plymouth "Spinfinity" theme Group: System/Base Requires: %{name}-plugin-throbgress = %{version} Requires(pre): %{name} Requires(post): %{name}-scripts BuildArch: noarch %description theme-spinfinity This package contains the "Spinfinity" boot splash theme for Plymouth. It features a centered logo and animated spinner that spins in the shape of an infinity sign. %package theme-spinner Summary: Plymouth "Spinner" theme Group: System/Base Requires: %{name}-plugin-two-step = %{version} Requires(post): %{name}-scripts BuildArch: noarch %description theme-spinner This package contains the "spinner" boot splash theme for Plymouth. %package theme-solar Summary: Plymouth "Solar" theme Group: System/Base Requires: %{name}-plugin-space-flares = %{version} Requires(post): %{name}-scripts BuildArch: noarch %description theme-solar This package contains the "Solar" boot splash theme for Plymouth. It features a blue flamed sun with animated solar flares. %package theme-tribar Summary: Plymouth "Tribar" theme Group: System/Base Requires: %{name}-plugin-tribar = %{version} Requires(post): %{name}-scripts BuildArch: noarch %description theme-tribar This package contains the "Tribar" boot splash theme for Plymouth %package theme-script Summary: Plymouth "Script" plugin Group: System/Base Requires: %{name}-plugin-script = %{version} Requires(post): %{name}-scripts BuildArch: noarch %description theme-script This package contains the "script" boot splash theme for Plymouth. It it is a simple example theme the uses the "script" plugin. %prep %setup -q %patch3 -p1 %patch4 -p1 %patch9 -p0 %patch10 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch28 -p1 %patch29 -p1 # replace builddate with patch0date sed -i "s/__DATE__/\"$(stat -c %y %{_sourcedir}/%{name}.changes)\"/" src/main.c # Change the default theme %if %{suse_version} == 1315 sed -i -e 's/spinner/SLE/g' src/plymouthd.defaults %else sed -i -e 's/spinner/openSUSE/g' src/plymouthd.defaults %endif %build autoreconf -fiv %configure --disable-static \ --enable-systemd-integration \ --enable-tracing --disable-tests \ --with-background-start-color-stop=0x1A3D1F \ --with-background-end-color-stop=0x4EA65C \ --with-background-color=0x3391cd \ --disable-gdm-transition \ --without-system-root-install \ --with-log-viewer \ --without-rhgb-compat-link \ --with-boot-tty=/dev/tty7 \ --with-shutdown-tty=/dev/tty1 \ --without-gdm-autostart-file \ --with-release-file=/etc/os-release make %{?_smp_mflags} V=1 %install %make_install rm -f %{buildroot}/%{_bindir}/rhgb-client #Link the plymouth client binary also to /bin until the move to /usr is completed mkdir %{buildroot}/bin (cd %{buildroot}/bin; ln -s ../usr/bin/plymouth) # Glow isn't quite ready for primetime rm -rf %{buildroot}%{_datadir}/plymouth/glow/ rm -rf %{buildroot}%{_datadir}/plymouth/themes/glow/ rm -f %{buildroot}%{_libdir}/plymouth/glow.so find %{buildroot} -name '*.a' -exec rm -f {} \; find %{buildroot} -name '*.la' -exec rm -f {} \; mkdir -p %{buildroot}%{_localstatedir}/lib/plymouth mkdir -p %{buildroot}/run/plymouth mkdir -p %{buildroot}%{_localstatedir}/log touch %{buildroot}%{_localstatedir}/log/boot.log touch %{buildroot}%{_localstatedir}/spool/plymouth/boot.log cp $RPM_SOURCE_DIR/boot-duration %{buildroot}%{_datadir}/plymouth/default-boot-duration cp $RPM_SOURCE_DIR/boot-duration %{buildroot}%{_localstatedir}/lib/plymouth cp %{buildroot}/%{_datadir}/plymouth/plymouthd.defaults %{buildroot}/%{_sysconfdir}/plymouth/plymouthd.conf %post %{?regenerate_initrd_post} if [ ! -e /.buildenv ]; then [ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration fi [ -x /bin/systemctl ] && /bin/systemctl daemon-reload >/dev/null 2>&1 || : %postun if [ $1 -eq 0 ]; then rm -f %{_libdir}/plymouth/default.so rm -f /boot/initrd-plymouth.img [ -x /bin/systemctl ] && /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi %posttrans %{?regenerate_initrd_posttrans} %post -n libply-boot-client2 -p /sbin/ldconfig %postun -n libply-boot-client2 -p /sbin/ldconfig %post -n libply-splash-core2 -p /sbin/ldconfig %postun -n libply-splash-core2 -p /sbin/ldconfig %post -n libply-splash-graphics2 -p /sbin/ldconfig %postun -n libply-splash-graphics2 -p /sbin/ldconfig %post -n libply2 -p /sbin/ldconfig %postun -n libply2 -p /sbin/ldconfig %post theme-spinfinity if [ $1 -eq 1 ]; then set -x export LIB=%{_libdir} OTHEME="$(%{_sbindir}/plymouth-set-default-theme)" if [ "$OTHEME" == "text" ]; then if [ ! -e /.buildenv ]; then %{_sbindir}/plymouth-set-default-theme -R spinfinity else %{_sbindir}/plymouth-set-default-theme spinfinity fi fi fi %postun theme-spinfinity if [ $1 -eq 0 ]; then export LIB=%{_libdir} if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinfinity" ]; then %{_sbindir}/plymouth-set-default-theme -R --reset fi fi %post theme-fade-in if [ $1 -eq 1 ]; then set -x export LIB=%{_libdir} OTHEME="$(%{_sbindir}/plymouth-set-default-theme)" if [ "$OTHEME" == "text" ]; then if [ ! -e /.buildenv ]; then %{_sbindir}/plymouth-set-default-theme -R fade-in else %{_sbindir}/plymouth-set-default-theme fade-in fi fi fi %postun theme-fade-in if [ $1 -eq 0 ]; then export LIB=%{_libdir} if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "fade-in" ]; then %{_sbindir}/plymouth-set-default-theme -R --reset fi fi %post theme-solar if [ $1 -eq 1 ]; then set -x export LIB=%{_libdir} OTHEME="$(%{_sbindir}/plymouth-set-default-theme)" if [ "$OTHEME" == "text" ]; then if [ ! -e /.buildenv ]; then %{_sbindir}/plymouth-set-default-theme -R solar else %{_sbindir}/plymouth-set-default-theme solar fi fi fi %postun theme-solar if [ $1 -eq 0 ]; then export LIB=%{_libdir} if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "solar" ]; then %{_sbindir}/plymouth-set-default-theme -R --reset fi fi %files %defattr(-, root, root) %doc AUTHORS NEWS README %dir %{_datadir}/plymouth %dir %{_datadir}/plymouth/themes %dir %{_datadir}/plymouth/themes/details %dir %{_datadir}/plymouth/themes/text %dir %{_localstatedir}/lib/plymouth %dir %{_libdir}/plymouth %dir %{_libdir}/plymouth/renderers %dir %{_sysconfdir}/plymouth %config(noreplace) %{_sysconfdir}/plymouth/plymouthd.conf %{plymouthdaemon_execdir}/plymouthd %{plymouthclient_execdir}/plymouth /bin/plymouth %{_libdir}/plymouth/details.so %{_libdir}/plymouth/text.so %{_libdir}/plymouth/renderers/drm* %{_libdir}/plymouth/renderers/frame-buffer* %{_datadir}/plymouth/default-boot-duration %{_datadir}/plymouth/themes/details/details.plymouth %{_datadir}/plymouth/themes/text/text.plymouth %{_datadir}/plymouth/plymouthd.defaults %{_datadir}/plymouth/bizcom.png %ghost /run/plymouth %{_localstatedir}/spool/plymouth %{_mandir}/man?/* %ghost %{_localstatedir}/lib/plymouth/boot-duration %{_unitdir}/* %ghost %{_localstatedir}/log/boot.log %ghost %{_localstatedir}/spool/plymouth/boot.log %files dracut %defattr(-, root, root) %{_libexecdir}/plymouth/plymouth-populate-initrd %{_libexecdir}/plymouth/plymouth-generate-initrd %files devel %defattr(-, root, root) %{plymouth_libdir}/libply.so %{plymouth_libdir}/libply-splash-core.so %{_libdir}/libply-boot-client.so %{_libdir}/libply-splash-graphics.so %{_libdir}/pkgconfig/ply-splash-core.pc %{_libdir}/pkgconfig/ply-splash-graphics.pc %{_libdir}/pkgconfig/ply-boot-client.pc %{_includedir}/plymouth-1 %files -n libply-boot-client2 %defattr(-, root, root) %{_libdir}/libply-boot-client.so.2* %files -n libply-splash-core2 %defattr(-, root, root) %{plymouth_libdir}/libply-splash-core.so.2* %files -n libply-splash-graphics2 %defattr(-, root, root) %{_libdir}/libply-splash-graphics.so.2* %files -n libply2 %defattr(-, root, root) %{plymouth_libdir}/libply.so.2* %files scripts %defattr(-, root, root) %dir %{_libexecdir}/plymouth %{_sbindir}/plymouth-set-default-theme %{_libexecdir}/plymouth/plymouth-update-initrd %files utils %defattr(-, root, root) %{_bindir}/plymouth-log-viewer %files x11-renderer %defattr(-,root,root,-) %{_libdir}/plymouth/renderers/x11* %files plugin-label %defattr(-, root, root) %{_libdir}/plymouth/label.so %files plugin-fade-throbber %defattr(-, root, root) %{_libdir}/plymouth/fade-throbber.so %files theme-fade-in %defattr(-, root, root) %dir %{_datadir}/plymouth/themes/fade-in %{_datadir}/plymouth/themes/fade-in/bullet.png %{_datadir}/plymouth/themes/fade-in/entry.png %{_datadir}/plymouth/themes/fade-in/lock.png %{_datadir}/plymouth/themes/fade-in/star.png %{_datadir}/plymouth/themes/fade-in/fade-in.plymouth %files plugin-throbgress %defattr(-, root, root) %{_libdir}/plymouth/throbgress.so %files theme-spinfinity %defattr(-, root, root) %dir %{_datadir}/plymouth/themes/spinfinity %{_datadir}/plymouth/themes/spinfinity/box.png %{_datadir}/plymouth/themes/spinfinity/bullet.png %{_datadir}/plymouth/themes/spinfinity/entry.png %{_datadir}/plymouth/themes/spinfinity/lock.png %{_datadir}/plymouth/themes/spinfinity/throbber-[0-3][0-9].png %{_datadir}/plymouth/themes/spinfinity/spinfinity.plymouth %files plugin-space-flares %defattr(-, root, root) %{_libdir}/plymouth/space-flares.so %files theme-spinner %defattr(-, root, root) %dir %{_datadir}/plymouth/themes/spinner %{_datadir}/plymouth/themes/spinner/*.* %files theme-solar %defattr(-, root, root) %dir %{_datadir}/plymouth/themes/solar %{_datadir}/plymouth/themes/solar/*.png %{_datadir}/plymouth/themes/solar/solar.plymouth %files theme-tribar %defattr(-, root, root) %dir %{_datadir}/plymouth/themes/tribar %{_datadir}/plymouth/themes/tribar/*.* %files plugin-two-step %defattr(-, root, root) %{_libdir}/plymouth/two-step.so %files plugin-tribar %defattr(-, root, root) %{_libdir}/plymouth/tribar.so %files plugin-script %defattr(-, root, root) %{_libdir}/plymouth/script.so %files theme-script %defattr(-, root, root) %dir %{_datadir}/plymouth/themes/script/ %{_datadir}/plymouth/themes/script/*.png %{_datadir}/plymouth/themes/script/script.script %{_datadir}/plymouth/themes/script/script.plymouth %changelog