plymouth/plymouth.spec

630 lines
20 KiB
RPMSpec
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# spec file for package plymouth
#
# Copyright (c) 2013 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.8.8_git201308011340
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.xz
Source1: boot-duration
# PATCH-OPENSUSE -- Support the openSUSE initrd
Patch1: suse-initrd-support
# 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 -- Restore suspend / resume state (needed for suspend package)
Patch5: plymouth-restore-suspend.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-close.patch fcrozat@suse.com -- do not try to close negative fd
Patch17: plymouth-close.patch
# PATCH-FIX-UPSTREAM plymouth-close-deactivate.patch bnc#811185 fcrozat@suse.com -- close stdout/stderr on deactivate
Patch18: plymouth-close-unredirect.patch
# PATCH-FIX-UPSTREAM plymouth-redirect-null.patch bnc#811185 fcrozat@suse.com -- redirect standard io to /dev/null
Patch19: plymouth-redirect-null.patch
# PATCH-FIX-UPSTREAM plymouth-exit-code.patch fcrozat@suse.com -- ensure all exit code are ignored in ExecStartPost
Patch20: plymouth-exit-code.patch
# PATCH-FIX-UPSTREAM plymouth-terminal-session-close.patch fcrozat@suse.com -- do not close already closed terminal session fd
Patch21: plymouth-terminal-session-close.patch
BuildRequires: automake
BuildRequires: kernel-headers
BuildRequires: libtool
BuildRequires: module-init-tools
BuildRequires: update-desktop-files
BuildRequires: xz
BuildRequires: pkgconfig(libdrm)
%ifarch %ix86 x86_64
BuildRequires: pkgconfig(libdrm_intel)
%endif
BuildRequires: pkgconfig(libdrm_nouveau)
BuildRequires: pkgconfig(libdrm_radeon)
BuildRequires: pkgconfig(libkms)
BuildRequires: pkgconfig(systemd) >= 186
Requires: %{name}-branding
Requires: gnu-unifont-bitmap-fonts
%ifarch %ix86 x86_64 ppc ppc64
Requires: suspend >= 0.80.20100129.1
%endif
Requires: systemd >= 186
Requires(post): plymouth-scripts = %{version}
Requires(post): mkinitrd
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: %{name} = %{version}
Requires: coreutils
Requires: cpio
Requires: findutils
Requires: pigz
Requires(post): mkinitrd
%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 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-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
%patch1 -p1
%patch3 -p1
%patch4 -p1
%ifarch %ix86 x86_64 ppc ppc64
%patch5 -p1
%endif
%patch9 -p0
%patch10 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
# replace builddate with patch0date
sed -i "s/__DATE__/\"$(stat -c %y %{_sourcedir}/%{name}.changes)\"/" src/main.c
# Change the default theme
sed -i -e 's/fade-in/openSUSE/g' src/plymouthd.defaults
%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/plymouth.conf
mkdir -p %{buildroot}/lib/mkinitrd/scripts
install -t %{buildroot}/lib/mkinitrd/scripts \
scripts/{setup,boot}-plymouth*.sh
%post
if [ ! -e /.buildenv ]; then
[ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration
%{_libexecdir}/plymouth/plymouth-update-initrd
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
%post scripts -p /sbin/mkinitrd_setup
%postun scripts -p /sbin/mkinitrd_setup
%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
%config(noreplace) %{_sysconfdir}/plymouth/plymouth.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
/lib/mkinitrd/scripts/boot-plymouth.sh
/lib/mkinitrd/scripts/boot-plymouth.chroot.sh
/lib/mkinitrd/scripts/setup-plymouth.sh
%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 plugin-two-step
%defattr(-, root, root)
%{_libdir}/plymouth/two-step.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