%global plymouthdaemon_execdir %{_sbindir} %global plymouthclient_execdir %{_bindir} %global plymouth_libdir %{_libdir} %global plymouth_initrd_file /boot/initrd-plymouth.img # Set to 1 if building from snapshots. %global snapshot_build 0 %if %{snapshot_build} %global snapshot_date 20160620 %global snapshot_hash 0e65b86c %global snapshot_rel %{?snapshot_date}git%{?snapshot_hash} %endif Summary: Graphical Boot Animation and Logger Name: plymouth Version: 0.9.4 Release: 3%{?snapshot_rel}%{?dist} License: GPLv2+ URL: http://www.freedesktop.org/wiki/Software/Plymouth Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.xz Source2: charge.plymouth Source3: plymouth-update-initrd Patch1: plymouth-updates.patch Patch2: 0001-drm-Fix-tiled-mode-detection.patch BuildRequires: gcc libtool git BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libudev) BuildRequires: kernel-headers BuildRequires: libpng-devel BuildRequires: libxslt, docbook-style-xsl BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pango-devel >= 1.21.0 BuildRequires: cairo-devel Requires(post): plymouth-scripts %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 system-theme Summary: Plymouth default theme Requires: plymouth(system-theme) = %{version}-%{release} %description system-theme This metapackage tracks the current distribution default theme. %package core-libs Summary: Plymouth core libraries %description core-libs This package contains the libply and libply-splash-core libraries used by Plymouth. %package graphics-libs Summary: Plymouth graphics libraries Requires: %{name}-core-libs = %{version}-%{release} Requires: system-logos %description graphics-libs This package contains the libply-splash-graphics library used by graphical Plymouth splashes. %package devel Summary: Libraries and headers for writing Plymouth splash plugins Requires: %{name} = %{version}-%{release} Requires: pkgconfig %description devel This package contains the libply and libplybootsplash libraries and headers needed to develop 3rd party splash plugins for Plymouth. %package scripts Summary: Plymouth related scripts Requires: findutils, coreutils, gzip, cpio, dracut, plymouth %description scripts This package contains scripts that help integrate Plymouth with the system. %package plugin-label Summary: Plymouth label plugin Requires: %{name} = %{version}-%{release} Requires: %{name}-graphics-libs = %{version}-%{release} %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 Requires: %{name} = %{version}-%{release} Requires: %{name}-graphics-libs = %{version}-%{release} %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 theme-fade-in Summary: Plymouth "Fade-In" theme Requires: %{name}-plugin-fade-throbber = %{version}-%{release} Requires(post): plymouth-scripts %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 plugin-throbgress Summary: Plymouth "Throbgress" plugin Requires: %{name} = %{version}-%{release} Requires: %{name}-graphics-libs = %{version}-%{release} Requires: plymouth-plugin-label %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 theme-spinfinity Summary: Plymouth "Spinfinity" theme Requires: %{name}-plugin-throbgress = %{version}-%{release} Requires(post): plymouth-scripts %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 plugin-space-flares Summary: Plymouth "space-flares" plugin Requires: %{name} = %{version}-%{release} Requires: %{name}-graphics-libs = %{version}-%{release} Requires: plymouth-plugin-label %description plugin-space-flares This package contains the "space-flares" boot splash plugin for Plymouth. It features a corner image with animated flares. %package theme-solar Summary: Plymouth "Solar" theme Requires: %{name}-plugin-space-flares = %{version}-%{release} Requires(post): plymouth-scripts %description theme-solar This package contains the "Solar" boot splash theme for Plymouth. It features a blue flamed sun with animated solar flares. %package plugin-two-step Summary: Plymouth "two-step" plugin Requires: %{name} = %{version}-%{release} Requires: %{name}-graphics-libs = %{version}-%{release} Requires: plymouth-plugin-label %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 theme-charge Summary: Plymouth "Charge" plugin Requires: %{name}-plugin-two-step = %{version}-%{release} Requires(post): plymouth-scripts Provides: plymouth(system-theme) = %{version}-%{release} %description theme-charge This package contains the "charge" boot splash theme for Plymouth. It features the shadowy hull of a Fedora logo charge up and and finally burst into full form. %package plugin-script Summary: Plymouth "script" plugin Requires: %{name} = %{version}-%{release} Requires: %{name}-graphics-libs = %{version}-%{release} %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 theme-script Summary: Plymouth "Script" plugin Requires: %{name}-plugin-script = %{version}-%{release} Requires(post): %{_sbindir}/plymouth-set-default-theme %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. %package theme-spinner Summary: Plymouth "Spinner" theme Requires: %{name}-plugin-two-step = %{version}-%{release} Requires(post): plymouth-scripts %description theme-spinner This package contains the "spinner" boot splash theme for Plymouth. It features a small spinner on a dark background. %prep %autosetup -S git autoreconf -ivf -Wno-portability # Change the default theme sed -i -e 's/spinner/charge/g' src/plymouthd.defaults %build %configure --enable-tracing --disable-tests \ --with-logo=%{_datadir}/pixmaps/system-logo-white.png \ --with-background-start-color-stop=0x0073B3 \ --with-background-end-color-stop=0x00457E \ --with-background-color=0x3391cd \ --enable-systemd-integration \ --without-system-root-install \ --without-log-viewer \ --without-rhgb-compat-link \ --disable-libkms make %install make install DESTDIR=$RPM_BUILD_ROOT # Glow isn't quite ready for primetime rm -rf $RPM_BUILD_ROOT%{_datadir}/plymouth/glow/ rm -f $RPM_BUILD_ROOT%{_libdir}/plymouth/glow.so find $RPM_BUILD_ROOT -name '*.a' -delete find $RPM_BUILD_ROOT -name '*.la' -delete mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/plymouth cp -f $RPM_SOURCE_DIR/plymouth-update-initrd $RPM_BUILD_ROOT%{_libexecdir}/plymouth # Add charge, our new default mkdir -p $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge cp %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge cp $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow/{box,bullet,entry,lock}.png $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge # Drop glow, it's not very Fedora-y rm -rf $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow %postun if [ $1 -eq 0 ]; then rm -f %{_libdir}/plymouth/default.so rm -f /boot/initrd-plymouth.img fi %post core-libs -p /sbin/ldconfig %postun core-libs -p /sbin/ldconfig %post graphics-libs -p /sbin/ldconfig %postun graphics-libs -p /sbin/ldconfig %postun theme-spinfinity export LIB=%{_lib} if [ $1 -eq 0 ]; then if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinfinity" ]; then %{_sbindir}/plymouth-set-default-theme text fi fi %postun theme-fade-in export LIB=%{_lib} if [ $1 -eq 0 ]; then if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "fade-in" ]; then %{_sbindir}/plymouth-set-default-theme --reset fi fi %postun theme-spinner export LIB=%{_lib} if [ $1 -eq 0 ]; then if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinner" ]; then %{_sbindir}/plymouth-set-default-theme --reset fi fi %postun theme-solar export LIB=%{_lib} if [ $1 -eq 0 ]; then if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "solar" ]; then %{_sbindir}/plymouth-set-default-theme --reset fi fi %post theme-charge export LIB=%{_lib} if [ $1 -eq 1 ]; then %{_sbindir}/plymouth-set-default-theme charge else if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "solar" ]; then %{_sbindir}/plymouth-set-default-theme charge fi fi %postun theme-charge export LIB=%{_lib} if [ $1 -eq 0 ]; then if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "charge" ]; then %{_sbindir}/plymouth-set-default-theme --reset fi fi %files %license COPYING %doc AUTHORS README %dir %{_datadir}/plymouth %dir %{_datadir}/plymouth/themes %dir %{_datadir}/plymouth/themes/details %dir %{_datadir}/plymouth/themes/text %dir %{_libexecdir}/plymouth %dir %{_localstatedir}/lib/plymouth %dir %{_libdir}/plymouth/renderers %dir %{_sysconfdir}/plymouth %config(noreplace) %{_sysconfdir}/plymouth/plymouthd.conf %{plymouthdaemon_execdir}/plymouthd %{plymouthclient_execdir}/plymouth %{_bindir}/plymouth %{_libdir}/plymouth/details.so %{_libdir}/plymouth/text.so %{_libdir}/plymouth/tribar.so %{_datadir}/plymouth/themes/details/details.plymouth %{_datadir}/plymouth/themes/text/text.plymouth %{_datadir}/plymouth/themes/tribar/tribar.plymouth %{_datadir}/plymouth/plymouthd.defaults %{_localstatedir}/run/plymouth %{_localstatedir}/spool/plymouth %{_mandir}/man?/* %ghost %{_localstatedir}/lib/plymouth/boot-duration %{_prefix}/lib/systemd/system/* %{_prefix}/lib/systemd/system/ %files devel %{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 %{_libdir}/plymouth/renderers/x11* %{_includedir}/plymouth-1 %files core-libs %{plymouth_libdir}/libply.so.* %{plymouth_libdir}/libply-splash-core.so.* %{_libdir}/libply-boot-client.so.* %dir %{_libdir}/plymouth %files graphics-libs %{_libdir}/libply-splash-graphics.so.* %{_libdir}/plymouth/renderers/drm* %{_libdir}/plymouth/renderers/frame-buffer* %files scripts %{_sbindir}/plymouth-set-default-theme %{_libexecdir}/plymouth/plymouth-update-initrd %{_libexecdir}/plymouth/plymouth-generate-initrd %{_libexecdir}/plymouth/plymouth-populate-initrd %files plugin-label %{_libdir}/plymouth/label.so %files plugin-fade-throbber %{_libdir}/plymouth/fade-throbber.so %files theme-fade-in %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 theme-spinner %{_datadir}/plymouth/themes/spinner/ %{_datadir}/plymouth/themes/bgrt/ %files plugin-throbgress %{_libdir}/plymouth/throbgress.so %files theme-spinfinity %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 %{_libdir}/plymouth/space-flares.so %files theme-solar %dir %{_datadir}/plymouth/themes/solar %{_datadir}/plymouth/themes/solar/*.png %{_datadir}/plymouth/themes/solar/solar.plymouth %files plugin-two-step %{_libdir}/plymouth/two-step.so %files theme-charge %dir %{_datadir}/plymouth/themes/charge %{_datadir}/plymouth/themes/charge/*.png %{_datadir}/plymouth/themes/charge/charge.plymouth %files plugin-script %{_libdir}/plymouth/script.so %files theme-script %dir %{_datadir}/plymouth/themes/script %{_datadir}/plymouth/themes/script/*.png %{_datadir}/plymouth/themes/script/script.script %{_datadir}/plymouth/themes/script/script.plymouth %files system-theme %changelog