File splashy.spec of Package splashy
#
# spec file for package splashy
#
# Copyright (c) 2015 SUSE LINUX 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/
#
Name: splashy
Summary: A complete user-space boot splash system
License: GPL-2.0+
Group: System/Boot
Version: 0.3.13
Release: 0
Url: http://alioth.debian.org/projects/splashy/
Requires(pre): coreutils
Source: http://alioth.debian.org/frs/download.php/file/2691/%{name}-%{version}.tar.gz
Source1: setup-splashy.sh
Source2: pm-utils-splashy.sh
Source3: themes.tar.bz2
Source4: README.themes
Source5: splashy-branding-openSUSE.tar.bz2
Source6: splashy-branding-SLED.tar.bz2
# Werror breaks build when used with fortify (we could also empty the _fortify_cflags macro)
#Patch0: splashy.diff
Patch1: splashy-0.3.8-fix-compiler-warnings.patch
Patch2: splashy-0.3.8-glib.patch
Patch3: splashy-disable-x11input.patch
Patch4: splashy-0.3.13-fix-theme-path.patch
Patch5: fix_autogen_version.diff
Patch6: gcc46-build-fixes.patch
Patch7: splashy-exits-prematurely-fix.patch
Patch8: update-initramfs.patch
Patch9: splashy-glib231.patch
Patch10: automake-1.12.patch
Patch11: splashy-missing-current-theme-in-font-path.patch
Patch12: splashy-fix-error-no-create-window-support.patch
BuildRequires: DirectFB-devel
BuildRequires: ImageMagick-devel
BuildRequires: file-devel
BuildRequires: glib2-devel
#BuildRequires: procps-devel
BuildRequires: freetype2-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libtool
# For directfb-config
Requires: DirectFB
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Splashy is a next generation boot splashing system for Linux systems.
Unlike other splashing systems, it needs no patches to the kernel and
it´s installed like a normal package. Make your boot process eye-candy
with Splashy!
Some of Splashy´s most noticeable features include:
* Require zero kernel patches/full functionality in user-space
* Boot/halt/reboot/runlevel-switch support
* Progressbar support (with optional border)
* Verbose mode (with F2/ESC keys)
* Configuration file in XML
* Cope with any video-mode resolution/size
* Cope with 8, 16, and 24 bit framebuffers
* Alpha channel (transparency) support
* Video mode detection
* Initramfs support
* TrueType2 fonts support
* Lots of image/animation file formats supported: jpg, png, gif,
mpg, swf
* Low dependencies and code in C to best perform
* Full LSB support
* Multiple themes support
* Really easy to create new themes
* X detection on exit
* Smooth progressbar movement
* Animations support
* Fade in/out effects
* Totally configurable
%package devel
Summary: Development tools for programs using libsplashy
Group: Development/Languages/C and C++
Requires: %{name} = %{version}
%description devel
This package contains the header files and libraries needed for
developing programs using libsplashy.
%package themes
Summary: Additional themes for splashy
Group: System/Boot
Requires: %{name} = %{version}-%{release}
%description themes
Available themes: - fingerprint
- aqua
- mepis baghira
- default splashy theme
%package branding-openSUSE
Summary: Splashy branding for openSUSE
Group: System/Boot
Supplements: packageand(splashy:branding-openSUSE)
Provides: %{name}-branding = %{version}
Conflicts: otherproviders(%{name}-branding)
Requires(pre): %{name} >= 0.3.8
%description branding-openSUSE
Splashy branding for openSUSE Linux distribution
%package branding-SLED
Summary: Splashy branding for SLED
Group: System/Boot
Supplements: packageand(splashy:branding-SLED)
Provides: %{name}-branding = %{version}
Conflicts: otherproviders(%{name}-branding)
Requires(pre): %{name} >= 0.3.8
%description branding-SLED
Splashy branding for SUSE Linux Enterprise Desktop
%post branding-openSUSE
if [ -x '%{_sbindir}/%{name}_config' ] ; then
'%{_sbindir}/%{name}_config' --set-theme openSUSE
fi
%postun branding-openSUSE
if [ -x '%{_sbindir}/%{name}_config' ] ; then
%{_sbindir}/%{name}_config --set-theme default
fi
%post branding-SLED
if [ -x '%{_sbindir}/%{name}_config' ] ; then
'%{_sbindir}/%{name}_config' --set-theme SLED
fi
%postun branding-SLED
if [ -x '%{_sbindir}/%{name}_config' ] ; then
'%{_sbindir}/%{name}_config' --set-theme default
fi
%package mkinitrd
Summary: Setup script for mkinitrd
Group: System/Boot
Supplements: packageand(%{name}:mkinitrd)
Provides: %{name}:/lib/mkinitrd/scripts/setup-splashy.sh
Requires(post): %{name} = %{version}
Requires(postun):%{name} = %{version}
Requires(post): mkinitrd
Requires(postun):mkinitrd
%description mkinitrd
Setup script for mkinitrd adds splashy support into initial ram disk.
%post mkinitrd
/sbin/mkinitrd_setup
%postun mkinitrd
/sbin/mkinitrd_setup
%prep
%setup -q
%setup -T -D -a 5
%setup -T -D -a 6
%patch1
%patch2
%patch3
%patch4 -p1
%patch5
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
find . -type f | xargs perl -pi -e "s|/usr/lib/|%{_libdir}/|g"
find . -type f | xargs perl -pi -e "s|/lib/|/%{_lib}/|g"
# build gets confused on x86_64 because of this .la file
rm -f src/libglib-2.0.la
# automake-1.13 deprecated this macro
sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
%build
NOCONFIGURE=1 ./autogen.sh
%configure --prefix=/ --disable-static CFLAGS="$RPM_OPT_FLAGS -fgnu89-inline"
make
%pre
if test -d %{_sysconfdir}/splashy/themes -a ! -L %{_sysconfdir}/splashy/themes; then
mv %{_sysconfdir}/splashy/themes %{_sysconfdir}/splashy/themes.bak
fi
%install
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1"
%makeinstall
cp '-t%{buildroot}%{_datadir}/%{name}' -r themes
rm '%{buildroot}'/usr/lib*/lib%{name}*.la
# remove Debian-specific files
#remove splashy init script for now, it's not working anyway
#TODO, fixup init-script, install with chmod +x, link to /usr/sbin/rcsplash
rm -rf \
'%{buildroot}%{_sysconfdir}/lsb-base-logging.sh' \
'%{buildroot}%{_sysconfdir}/console-tools' \
'%{buildroot}%{_datadir}/initramfs-tools' \
'%{buildroot}%{_sysconfdir}/init.d/%{name}'
mkdir -p '%{buildroot}/lib/mkinitrd/scripts'
install -m 755 '%{SOURCE1}' '%{buildroot}/lib/mkinitrd/scripts/'
tar xvf '%{SOURCE3}' -C '%{buildroot}%{_datadir}/%{name}/'
install -m 644 '-t%{buildroot}%{_datadir}/%{name}/themes' '%{SOURCE4}'
ln -s '-t%{buildroot}%{_sysconfdir}/%{name}/' '%{_datadir}/%{name}/themes/README.themes'
%if 0
mkdir -p $RPM_BUILD_ROOT/usr/lib/pm-utils/sleep.d/
cp %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/pm-utils/sleep.d/99splashy
%{nil remove translations for now TODO: %find_lang %name}
%endif
rm '%{buildroot}/%{_datadir}/locale/'*'/LC_MESSAGES/%{name}.mo'
%clean
rm -rf %{buildroot}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING NEWS README TODO
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/default/*
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/config.xml
%{_sbindir}/*
%{_mandir}/man1/*
%{_mandir}/man5/*
%dir %{_datadir}/%{name}
%{_libdir}/lib%{name}*.so.*
%{_datadir}/splashy/schemas
# this is a symbolic link to /usr/share/splashy/themes
%{_sysconfdir}/%{name}/README.themes
%{_sysconfdir}/%{name}/themes
%dir %{_datadir}/%{name}/themes
%{_datadir}/%{name}/themes/default
%doc %{_datadir}/%{name}/themes/README.themes
%files devel
%defattr(-,root,root)
%{_includedir}/%{name}*.h
%{_libdir}/lib%{name}*.so
%{_libdir}/pkgconfig/%{name}.pc
%files themes
%defattr(-,root,root)
%dir %{_datadir}/%{name}/themes
%{_datadir}/%{name}/themes/fingerprint
%{_datadir}/%{name}/themes/mepis_baghira
%{_datadir}/%{name}/themes/aqua
%{_datadir}/%{name}/themes/openSUSE-zz
%files branding-openSUSE
%defattr(-,root,root)
%dir %{_datadir}/%{name}/themes
%{_datadir}/%{name}/themes/openSUSE
%files branding-SLED
%defattr(-,root,root)
%dir %{_datadir}/%{name}/themes
%{_datadir}/%{name}/themes/SLED
%files mkinitrd
%defattr(-,root,root)
%dir /lib/mkinitrd
%dir /lib/mkinitrd/scripts
/lib/mkinitrd/scripts/setup-%{name}.sh
%changelog