Add patches from upstream for:

Monitor hotplug support, this fixes issues with monitors on DP-MST
    docs sometimes not lighting up (rhbz#1652279)
  Adding support for using the firmware's bootsplash as theme background
  New bgrt theme which implements the boot-theme design from:
    https://wiki.gnome.org/Design/OS/BootProgress
    Including the new theming for offline-updates shown there
Make the bgrt theme the new default and upgrade systems which are using the
  charge theme, which is the old default to use the new bgrt theme
Cleanup the spec-file a bit:
  Remove unused / unnecessary %global variables
  Sort the sections for the various plugins and themes alphabetically
  Simplify theme filelists
This commit is contained in:
Hans de Goede 2019-02-13 17:41:03 +01:00
parent ffda30603d
commit 21a0365db7
2 changed files with 22173 additions and 181 deletions

21990
plymouth-updates.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,22 +1,7 @@
%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: 2%{?snapshot_rel}%{?dist}
Release: 3%{?dist}
License: GPLv2+
URL: http://www.freedesktop.org/wiki/Software/Plymouth
@ -24,7 +9,9 @@ Source0: http://freedesktop.org/software/plymouth/releases/%{name}-%{version}.ta
Source2: charge.plymouth
Source3: plymouth-update-initrd
BuildRequires: gcc
Patch1: plymouth-updates.patch
BuildRequires: gcc libtool git
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libudev)
BuildRequires: kernel-headers
@ -34,7 +21,8 @@ BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pango-devel >= 1.21.0
BuildRequires: cairo-devel
Requires(post): plymouth-scripts
Requires: %{name}-core-libs = %{version}-%{release}
Requires: %{name}-scripts = %{version}-%{release}
%description
Plymouth provides an attractive graphical boot animation in
@ -42,6 +30,7 @@ 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}
@ -49,6 +38,7 @@ Requires: plymouth(system-theme) = %{version}-%{release}
%description system-theme
This metapackage tracks the current distribution default theme.
%package core-libs
Summary: Plymouth core libraries
@ -56,6 +46,7 @@ Summary: Plymouth core libraries
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}
@ -65,6 +56,7 @@ Requires: system-logos
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}
@ -74,14 +66,17 @@ Requires: pkgconfig
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
Requires: findutils, coreutils, gzip, cpio, dracut
Requires: %{name} = %{version}-%{release}
%description scripts
This package contains scripts that help integrate Plymouth with
the system.
%package plugin-label
Summary: Plymouth label plugin
Requires: %{name} = %{version}-%{release}
@ -92,89 +87,6 @@ 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
@ -187,30 +99,127 @@ Plymouth. It features an extensible, scriptable boot splash
language that simplifies the process of designing custom
boot splash themes.
%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 plugin-space-flares
Summary: Plymouth "space-flares" plugin
Requires: %{name} = %{version}-%{release}
Requires: %{name}-graphics-libs = %{version}-%{release}
Requires: plymouth-plugin-label = %{version}-%{release}
%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-throbgress
Summary: Plymouth "Throbgress" plugin
Requires: %{name} = %{version}-%{release}
Requires: %{name}-graphics-libs = %{version}-%{release}
Requires: plymouth-plugin-label = %{version}-%{release}
%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-two-step
Summary: Plymouth "two-step" plugin
Requires: %{name} = %{version}-%{release}
Requires: %{name}-graphics-libs = %{version}-%{release}
Requires: plymouth-plugin-label = %{version}-%{release}
%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
%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 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 theme-script
Summary: Plymouth "Script" plugin
Requires: %{name}-plugin-script = %{version}-%{release}
Requires(post): %{_sbindir}/plymouth-set-default-theme
Requires(post): plymouth-scripts
%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-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 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 theme-spinner
Summary: Plymouth "Spinner" theme
Requires: %{name}-plugin-two-step = %{version}-%{release}
Requires: font(cantarell) font(cantarelllight)
Requires(post): plymouth-scripts
Provides: plymouth(system-theme) = %{version}-%{release}
%description theme-spinner
This package contains the "spinner" boot splash theme for
Plymouth. It features a small spinner on a dark background.
%prep
%autosetup -p1
%prep
%autosetup -S git
autoreconf -ivf -Wno-portability
# Change the default theme
sed -i -e 's/spinner/charge/g' src/plymouthd.defaults
sed -i -e 's/spinner/bgrt/g' src/plymouthd.defaults
%build
%configure --enable-tracing --disable-tests \
@ -224,8 +233,8 @@ sed -i -e 's/spinner/charge/g' src/plymouthd.defaults
--without-log-viewer \
--without-rhgb-compat-link \
--disable-libkms
make %{?_smp_mflags}
make
%install
make install DESTDIR=$RPM_BUILD_ROOT
@ -240,7 +249,7 @@ 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
# Add charge, our old 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
@ -248,66 +257,62 @@ cp $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow/{box,bullet,entry,lock}.png $
# 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
%ldconfig_scriptlets core-libs
%ldconfig_scriptlets graphics-libs
%postun theme-spinfinity
export LIB=%{_lib}
%postun theme-charge
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
if [ $1 -eq 0 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinfinity" ]; then
%{_sbindir}/plymouth-set-default-theme text
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "charge" ]; then
%{_sbindir}/plymouth-set-default-theme --reset
fi
fi
%postun theme-fade-in
export LIB=%{_lib}
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
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}
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
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
%postun theme-spinfinity
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
if [ $1 -eq 0 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinfinity" ]; then
%{_sbindir}/plymouth-set-default-theme --reset
fi
fi
%postun theme-charge
export LIB=%{_lib}
if [ $1 -eq 0 ]; then
%post theme-spinner
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
# On upgrades replace charge with the new bgrt default
if [ $1 -eq 2 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "charge" ]; then
%{_sbindir}/plymouth-set-default-theme bgrt
fi
fi
%postun theme-spinner
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
if [ $1 -eq 0 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "bgrt" -o \
"$(%{_sbindir}/plymouth-set-default-theme)" == "spinner" ]; then
%{_sbindir}/plymouth-set-default-theme --reset
fi
fi
%files
%license COPYING
%doc AUTHORS README
@ -320,8 +325,7 @@ fi
%dir %{_libdir}/plymouth/renderers
%dir %{_sysconfdir}/plymouth
%config(noreplace) %{_sysconfdir}/plymouth/plymouthd.conf
%{plymouthdaemon_execdir}/plymouthd
%{plymouthclient_execdir}/plymouth
%{_sbindir}/plymouthd
%{_bindir}/plymouth
%{_libdir}/plymouth/details.so
%{_libdir}/plymouth/text.so
@ -338,8 +342,8 @@ fi
%{_prefix}/lib/systemd/system/
%files devel
%{plymouth_libdir}/libply.so
%{plymouth_libdir}/libply-splash-core.so
%{_libdir}/libply.so
%{_libdir}/libply-splash-core.so
%{_libdir}/libply-boot-client.so
%{_libdir}/libply-splash-graphics.so
%{_libdir}/pkgconfig/ply-splash-core.pc
@ -349,8 +353,8 @@ fi
%{_includedir}/plymouth-1
%files core-libs
%{plymouth_libdir}/libply.so.*
%{plymouth_libdir}/libply-splash-core.so.*
%{_libdir}/libply.so.*
%{_libdir}/libply-splash-core.so.*
%{_libdir}/libply-boot-client.so.*
%dir %{_libdir}/plymouth
@ -368,62 +372,60 @@ fi
%files plugin-label
%{_libdir}/plymouth/label.so
%files plugin-script
%{_libdir}/plymouth/script.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
%dir %{_datadir}/plymouth/themes/spinner
%{_datadir}/plymouth/themes/spinner/*.png
%{_datadir}/plymouth/themes/spinner/spinner.plymouth
%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-throbgress
%{_libdir}/plymouth/throbgress.so
%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
%{_datadir}/plymouth/themes/charge
%files plugin-script
%{_libdir}/plymouth/script.so
%files theme-fade-in
%{_datadir}/plymouth/themes/fade-in
%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
%{_datadir}/plymouth/themes/script
%files theme-solar
%{_datadir}/plymouth/themes/solar
%files theme-spinfinity
%{_datadir}/plymouth/themes/spinfinity
%files theme-spinner
# bgrt is a variant of spinner with different settings in its .plymouth file
%{_datadir}/plymouth/themes/bgrt
%{_datadir}/plymouth/themes/spinner
%files system-theme
%changelog
* Wed Feb 13 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-3
- Add patches from upstream for:
- Monitor hotplug support, this fixes issues with monitors on DP-MST
docs sometimes not lighting up (rhbz#1652279)
- Adding support for using the firmware's bootsplash as theme background
- New bgrt theme which implements the boot-theme design from:
https://wiki.gnome.org/Design/OS/BootProgress
Including the new theming for offline-updates shown there
- Make the bgrt theme the new default and upgrade systems which are using the
charge theme, which is the old default to use the new bgrt theme
- Cleanup the spec-file a bit:
- Remove unused / unnecessary %%global variables
- Sort the sections for the various plugins and themes alphabetically
- Simplify theme filelists
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild