You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-plymouth/scripts/plymouth.spec

431 lines
13 KiB

%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