From bb83894fe8e3e13c9575bda7806fcb4843e71e7f0a2cf5153e4c8fd317b5f9fd Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Fri, 10 Sep 2021 05:12:32 +0000 Subject: [PATCH 1/4] Accepting request 917854 from home:qzhao:branches:Base:System - Add plymouth-set-default-theme-suse-branding.patch: set plymouth's default theme to openSUSE/SUSE branding assigned style to avoid screen mass(bsc#1189613). - Update plymouth.spec: Rearrange plymouth sub packages dependencies to avoid installation failures due to a race installation state which will leading theme display fault(1189613). OBS-URL: https://build.opensuse.org/request/show/917854 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=307 --- ...outh-set-default-theme-suse-branding.patch | 146 ++++++++++++ plymouth.changes | 11 +- plymouth.spec | 221 ++++++++---------- 3 files changed, 256 insertions(+), 122 deletions(-) create mode 100644 plymouth-set-default-theme-suse-branding.patch diff --git a/plymouth-set-default-theme-suse-branding.patch b/plymouth-set-default-theme-suse-branding.patch new file mode 100644 index 0000000..8ee528b --- /dev/null +++ b/plymouth-set-default-theme-suse-branding.patch @@ -0,0 +1,146 @@ +diff -Nura plymouth-0.9.5~git20210406.e554475/scripts/plymouth-set-default-theme.in plymouth-0.9.5~git20210406.e554475_new/scripts/plymouth-set-default-theme.in +--- plymouth-0.9.5~git20210406.e554475/scripts/plymouth-set-default-theme.in 2021-09-07 21:20:35.469101952 +0800 ++++ plymouth-0.9.5~git20210406.e554475_new/scripts/plymouth-set-default-theme.in 2021-09-07 21:51:07.618708601 +0800 +@@ -6,6 +6,7 @@ + [ -z "$PLYMOUTH_DATADIR" ] && PLYMOUTH_DATADIR="@PLYMOUTH_DATADIR@" + [ -z "$PLYMOUTH_CONFDIR" ] && PLYMOUTH_CONFDIR="@PLYMOUTH_CONF_DIR@" + [ -z "$PLYMOUTH_POLICYDIR" ] && PLYMOUTH_POLICYDIR="@PLYMOUTH_POLICY_DIR@" ++[ -z "$OS" ] && OS=`cat /etc/os-release |grep ^NAME= |cut -d'=' -f2` + if [ -z "$PLYMOUTH_PLUGIN_PATH" ]; then + if [ -z "$LIB" ]; then + PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)" +@@ -56,27 +57,27 @@ + ') + } + +-function get_default_theme () ++function get_current_theme () + { +- if [ -f /etc/plymouth/plymouthd.conf ]; then ++ if [ -z "$THEME_NAME" -a -r "${PLYMOUTH_CONFDIR}/plymouthd.conf" ]; then + THEME_NAME=$(read_theme_name_from_file ${PLYMOUTH_CONFDIR}/plymouthd.conf) +- elif [ -f /usr/share/plymouth/plymouthd.defaults ]; then +- THEME_NAME=$(read_theme_name_from_file ${PLYMOUTH_DATADIR}/plymouth/plymouthd.defaults) + fi + +- if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" ]; then ++ if [ -z "$THEME_NAME" -a -r "${PLYMOUTH_POLICYDIR}/plymouthd.defaults" ]; then + THEME_NAME=$(read_theme_name_from_file ${PLYMOUTH_POLICYDIR}/plymouthd.defaults) + fi + +- if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" \ +- -a -L "${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth" ]; then +- THEME_NAME=$(basename "$(readlink ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth)" .plymouth) +- fi +- if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" ]; then +- THEME_NAME="text" ++ if [ -n "$THEME_NAME" ] ; then ++ if [ $DO_INITRD_REBUILD -eq 0 ]; then ++ echo $THEME_NAME ++ fi ++ return 0; ++ else ++ echo "Failed: No default theme found." ++ return 1; + fi + +- echo $THEME_NAME ++ + } + + DO_RESET=0 +@@ -163,7 +164,7 @@ + fi + + if [ $DO_RESET -eq 0 ] && [ $DO_INITRD_REBUILD -eq 0 ] && [ -z $THEME_NAME ]; then +- get_default_theme ++ get_current_theme + exit $? + fi + +@@ -173,27 +174,30 @@ + fi + + if [ $DO_RESET -ne 0 ]; then +- if [ -f ${PLYMOUTH_CONFDIR}/plymouthd.conf ]; then +- sed -i -e '/^Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf +- exit $? +- elif [ -f ${PLYMOUTH_DATADIR}/plymouth/plymouthd.defauts ]; then +- cp ${PLYMOUTH_DATADIR}/plymouth/plymouthd.defauts ${PLYMOUTH_CONFDIR}/plymouthd.conf +- sed -i -e '/^Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf +- exit $? +- else +- exit 0 +- fi ++ if [[ -z "$THEME_NAME" ]] && [[ "$OS" == "SLED" ]] || [[ "$OS" == "SLES" ]] ; then ++ THEME_NAME="SLE" ++ ++ elif [[ -z "$THEME_NAME" ]] && [[ "$OS" == *"openSUSE Tumbleweed"* ]] ; then ++ THEME_NAME="bgrt" ++ ++ elif [[ -z "$THEME_NAME" ]] && [[ "$OS" == *"openSUSE Leap"* ]] ; then ++ THEME_NAME="opensuse" ++ fi ++fi ++ ++if [[ -z "$THEME_NAME" ]] ; then ++ get_current_theme + fi + + if [ ! -e ${PLYMOUTH_DATADIR}/plymouth/themes/${THEME_NAME}/${THEME_NAME}.plymouth ]; then +- echo "${PLYMOUTH_DATADIR}/plymouth/themes/${THEME_NAME}/${THEME_NAME}.plymouth does not exist" >&2 ++ echo "Failed: ${PLYMOUTH_DATADIR}/plymouth/themes/${THEME_NAME}/${THEME_NAME}.plymouth does not exist" >&2 + exit 1 + fi + + MODULE_NAME=$(grep "ModuleName *= *" ${PLYMOUTH_DATADIR}/plymouth/themes/${THEME_NAME}/${THEME_NAME}.plymouth | sed 's/ModuleName *= *//') + + if [ ! -e ${PLYMOUTH_PLUGIN_PATH}${MODULE_NAME}.so ]; then +- echo "${PLYMOUTH_PLUGIN_PATH}${MODULE_NAME}.so does not exist" >&2 ++ echo "Failed: ${PLYMOUTH_PLUGIN_PATH}${MODULE_NAME}.so does not exist" >&2 + exit 1 + fi + +@@ -201,6 +205,8 @@ + + [ -d ${PLYMOUTH_CONFDIR} ] || mkdir -p ${PLYMOUTH_CONFDIR} + grep -q '^[[]Daemon[]]' ${PLYMOUTH_CONFDIR}/plymouthd.conf 2> /dev/null || echo '[Daemon]' >> ${PLYMOUTH_CONFDIR}/plymouthd.conf ++sed -i -e '/^\#\[Daemon\][[:blank:]]*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf ++sed -i -e '/^#Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf + sed -i -e '/^Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf + sed -i -e "s/^\([[]Daemon[]]\)\n*/\1\nTheme=${THEME_NAME}/" ${PLYMOUTH_CONFDIR}/plymouthd.conf + +diff -Nura plymouth-0.9.5~git20210406.e554475/scripts/plymouth-update-initrd plymouth-0.9.5~git20210406.e554475_new/scripts/plymouth-update-initrd +--- plymouth-0.9.5~git20210406.e554475/scripts/plymouth-update-initrd 2021-04-06 19:53:40.000000000 +0800 ++++ plymouth-0.9.5~git20210406.e554475_new/scripts/plymouth-update-initrd 2021-09-07 21:51:02.107700743 +0800 +@@ -1,2 +1,3 @@ + #!/bin/bash +-dracut -f ++echo "Regenerating initrd ..." ++dracut -qf +diff -Nura plymouth-0.9.5~git20210406.e554475/src/main.c plymouth-0.9.5~git20210406.e554475_new/src/main.c +--- plymouth-0.9.5~git20210406.e554475/src/main.c 2021-04-06 19:53:40.000000000 +0800 ++++ plymouth-0.9.5~git20210406.e554475_new/src/main.c 2021-09-07 21:21:36.752188499 +0800 +@@ -462,20 +462,9 @@ + } + + if (state->boot_splash == NULL) { +- ply_trace ("Trying old scheme for default splash"); +- state->boot_splash = show_theme (state, PLYMOUTH_THEME_PATH "default.plymouth"); +- } +- +- if (state->boot_splash == NULL) { + ply_trace ("Could not start default splash screen," +- "showing text splash screen"); +- state->boot_splash = show_theme (state, PLYMOUTH_THEME_PATH "text/text.plymouth"); +- } +- +- if (state->boot_splash == NULL) { +- ply_trace ("Could not start text splash screen," +- "showing built-in splash screen"); +- state->boot_splash = show_theme (state, NULL); ++ "showing details splash screen"); ++ state->boot_splash = show_theme (state, PLYMOUTH_THEME_PATH "details/details.plymouth"); + } + + if (state->boot_splash == NULL) { diff --git a/plymouth.changes b/plymouth.changes index 65709aa..790539c 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Sep 6 08:42:26 UTC 2021 - Cliff Zhao + +- Add plymouth-set-default-theme-suse-branding.patch: set plymouth's + default theme to openSUSE/SUSE branding assigned style to avoid + screen mass(bsc#1189613). +- Update plymouth.spec: Rearrange plymouth sub packages dependencies + to avoid installation failures due to a race installation state + which will leading theme display fault(1189613). + ------------------------------------------------------------------- Tue Aug 31 14:13:20 UTC 2021 - Cliff Zhao @@ -1544,4 +1554,3 @@ Wed Dec 22 10:20:54 UTC 2010 - seife+obs@b1-systems.com Wed Dec 8 22:44:13 CET 2010 - jeffm@suse.de - Initial packaging. - diff --git a/plymouth.spec b/plymouth.spec index cfb80c0..162a659 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -47,11 +47,13 @@ Patch6: plymouth-disable-fedora-logo.patch Patch7: plymouth-only_use_fb_for_cirrus_bochs.patch # PATCH-FIX-OPENSUSE plymouth-keep-KillMode-none.patch bsc#1177082 bsc#1184087 boo#1182145 qzhao@suse.com -- Keep the plymouth-start.service KillMode=none. Patch8: plymouth-keep-KillMode-none.patch +# PATCH-FIX-OPENSUSE plymouth-set-default-theme-suse-branding.patch bsc#1189613 qzhao@suse.com -- set plymouth's default theme to openSUSE/SUSE branding assigned style to avoid screen mass. +Patch9: plymouth-set-default-theme-suse-branding.patch # PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch1000: 0001-Add-label-ft-plugin.patch # PATCH-FIX-UPSTREAM 0002-Install-label-ft-plugin-into-initrd-if-available.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch1001: 0002-Install-label-ft-plugin-into-initrd-if-available.patch -#uo PATCH-FIX-UPSTREAM 0003-fix_null_deref.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. +# PATCH-FIX-UPSTREAM 0003-fix_null_deref.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch1002: 0003-fix_null_deref.patch BuildRequires: automake BuildRequires: docbook-xsl-stylesheets @@ -79,13 +81,27 @@ BuildRequires: pkgconfig(systemd) >= 186 %if %{with x11_renderer} BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 %endif +%if 0%{?is_opensuse} +Requires: %{name}-branding-openSUSE +Requires: %{name}-plugin-two-step = %{version} +Requires: %{name}-theme-bgrt = %{version} +Requires: %{name}-theme-spinner = %{version} +%else +Requires: %{name}-branding-SLE +Requires: %{name}-plugin-scripts = %{version} +Suggests: %{name}-theme-bgrt = %{version} +Suggests: %{name}-theme-spinner = %{version} +%endif Recommends: %{name}-lang -Requires: %{name}-branding +Requires: libdrm2 +Requires: libply%{soversion} = %{version} +Requires: libply-boot-client%{soversion} = %{version} +Requires: libply-splash-core%{soversion} = %{version} +Requires: libudev1 Requires: systemd >= 186 -Requires(post): coreutils -Requires(post): plymouth-scripts = %{version} -Requires(postun):coreutils -Suggests: plymouth-plugin-label +Suggests: %{name}-theme-fade-in +Suggests: %{name}-theme-spinfinity +Suggests: %{name}-theme-tribar Provides: bootsplash = 3.5 Obsoletes: bootsplash < 3.5 Provides: systemd-plymouth = 44-10.2 @@ -100,14 +116,17 @@ after boot. %package -n libply-boot-client%{soversion} Summary: Plymouth core library -Group: Development/Libraries/C and C++ +Group: System/Libraries +Requires: libply%{soversion} = %{version} %description -n libply-boot-client%{soversion} This package contains the libply-boot-client library used by Plymouth. %package -n libply-splash-core%{soversion} Summary: Plymouth core library -Group: Development/Libraries/C and C++ +Group: System/Libraries +Requires: libply%{soversion} = %{version} +Requires: libudev1 %description -n libply-splash-core%{soversion} This package contains the libply-splash-core library @@ -115,8 +134,11 @@ used by graphical Plymouth splashes. %package -n libply-splash-graphics%{soversion} Summary: Plymouth graphics libraries -Group: Development/Libraries/C and C++ +Group: System/Libraries BuildRequires: libpng-devel +Requires: libply%{soversion} = %{version} +Requires: libply-splash-core%{soversion} = %{version} +Requires: libpng16-16 %description -n libply-splash-graphics%{soversion} This package contains the libply-splash-graphics library @@ -124,8 +146,7 @@ used by graphical Plymouth splashes. %package -n libply%{soversion} Summary: Plymouth core library -Group: Development/Libraries/C and C++ -Requires: libply-boot-client%{soversion} = %{version} +Group: System/Libraries %description -n libply%{soversion} This package contains the libply library used by Plymouth. @@ -161,8 +182,7 @@ and headers needed to develop 3rd party splash plugins for Plymouth. %package dracut Summary: Plymouth related utilities for dracut Group: System/Base -Requires: %{name} = %{version} -Supplements: packageand(plymouth:dracut) +Requires: coreutils %description dracut This package contains utilities that integrate dracut with Plymouth @@ -179,11 +199,12 @@ behavior on environments with a valid DISPLAY. %package scripts Summary: Plymouth related scripts Group: System/Base +Requires: %{name}-dracut Requires: awk +Requires: coreutils Requires: dracut Requires: grep Requires: sed -Requires(pre): %{name} = %{version} BuildArch: noarch %description scripts @@ -193,6 +214,11 @@ the system. %package plugin-label Summary: Plymouth label plugin Group: System/Base +Requires: libcairo2 +Requires: libfontconfig1 +Requires: libfreetype6 +Requires: libpango-1_0-0 +Requires: libply%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} %description plugin-label @@ -217,6 +243,8 @@ Group: System/Base Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} +Requires: libpng16-16 +Requires: libudev1 %description plugin-fade-throbber This package contains the "Fade-In" boot splash plugin for @@ -226,10 +254,11 @@ while other images pulsate around during system boot up. %package plugin-space-flares Summary: Plymouth "space-flares" plugin Group: System/Base -Requires: %{name}-plugin-label = %{version} Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} +Requires: libpng16-16 +Requires: libudev1 %description plugin-space-flares This package contains the "space-flares" boot splash plugin for @@ -241,7 +270,8 @@ Group: System/Base Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} -Requires: plymouth-plugin-label = %{version} +Requires: libpng16-16 +Requires: libudev1 %description plugin-two-step This package contains the "two-step" boot splash plugin for @@ -255,6 +285,7 @@ Group: System/Base Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} +Requires: libudev1 %description plugin-script This package contains the "script" boot splash plugin for @@ -267,7 +298,7 @@ Summary: Plymouth "script" plugin Group: System/Base Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} -Requires: libply-splash-graphics%{soversion} = %{version} +Requires: libudev1 %description plugin-tribar This package contains the "tribar" boot splash plugin for @@ -275,12 +306,25 @@ Plymouth. It features an extensible, scriptable boot splash language that simplifies the process of designing custom boot splash themes. +%package theme-bgrt +Summary: Plymouth "bgrt" theme +Group: System/Base +Requires: %{name}-plugin-label = %{version} +Requires: %{name}-plugin-two-step = %{version} +%if !0%{?is_opensuse} +Enhances: %{name} = %{version} +%endif +BuildArch: noarch + +%description theme-bgrt +This package contains the "bgrt" boot splash theme for +Plymouth. + %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 +Enhances: %{name} = %{version} BuildArch: noarch %description theme-fade-in @@ -288,11 +332,26 @@ 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" theme +Group: System/Base +Requires: %{name}-plugin-script = %{version} +%if 0%{?is_opensuse} +Enhances: %{name} = %{version} +%endif +BuildArch: noarch + +%description theme-script +This package contains the "script" boot splash theme for +Plymouth. It is a simple example theme the uses the "script" +plugin. + %package theme-spinfinity Summary: Plymouth "Spinfinity" theme Group: System/Base -Requires(post): %{name}-scripts -Requires(pre): %{name} +Requires: %{name}-plugin-label = %{version} +Requires: %{name}-plugin-two-step = %{version} +Enhances: %{name} = %{version} BuildArch: noarch %description theme-spinfinity @@ -303,8 +362,11 @@ spins in the shape of an infinity sign. %package theme-spinner Summary: Plymouth "Spinner" theme Group: System/Base +Requires: %{name}-plugin-label = %{version} Requires: %{name}-plugin-two-step = %{version} -Requires(post): %{name}-scripts +%if !0%{?is_opensuse} +Enhances: %{name} = %{version} +%endif BuildArch: noarch %description theme-spinner @@ -314,8 +376,8 @@ Plymouth. %package theme-solar Summary: Plymouth "Solar" theme Group: System/Base +Requires: %{name}-plugin-label = %{version} Requires: %{name}-plugin-space-flares = %{version} -Requires(post): %{name}-scripts BuildArch: noarch %description theme-solar @@ -326,38 +388,13 @@ Plymouth. It features a blue flamed sun with animated solar flares. Summary: Plymouth "Tribar" theme Group: System/Base Requires: %{name}-plugin-tribar = %{version} -Requires(post): %{name}-scripts +Enhances: %{name} = %{version} BuildArch: noarch %description theme-tribar This package contains the "Tribar" boot splash theme for Plymouth -%package theme-script -Summary: Plymouth "Script" theme -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 is a simple example theme the uses the "script" -plugin. - -%package theme-bgrt -Summary: Plymouth "bgrt" theme -# Uses images from spinner theme -Group: System/Base -Requires: %{name}-plugin-two-step = %{version} -Requires: %{name}-theme-spinner = %{version} -Requires(post): %{name}-scripts -BuildArch: noarch - -%description theme-bgrt -This package contains the "bgrt" boot splash theme for -Plymouth. - %prep %setup -q %autopatch -p1 @@ -382,7 +419,8 @@ autoreconf -ivf --with-background-end-color-stop=0x4EA65C \ --with-background-color=0x3391cd \ --without-rhgb-compat-link \ - --without-system-root-install + --without-system-root-install \ + POLICY_DIR='/usr/share/plymouth/' make %{?_smp_mflags} @@ -418,25 +456,32 @@ rm -f %{buildroot}%{_datadir}/plymouth/plymouthd.conf %find_lang %{name} %post -%{?regenerate_initrd_post} if [ ! -e /.buildenv ]; then [ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration + + plymouth-set-default-theme -r + if [ "$?" -eq 0 ] && [ "$1" -eq 0 ]; then + plymouth-set-default-theme -R + fi fi %postun -%{?regenerate_initrd_post} %if 0%{?suse_version} > 1500 -%service_del_postun_without_restart + %service_del_postun_without_restart %else -%systemd_postun + %systemd_postun %endif + if [ $1 -eq 0 ]; then rm -f %{_libdir}/plymouth/default.so rm -f /boot/initrd-plymouth.img fi %posttrans -%{?regenerate_initrd_posttrans} +plymouth-set-default-theme -r +if [ $? -eq 0 ]; then + plymouth-set-default-theme -R +fi %if 0%{?suse_version} > 1500 %ldconfig_scriptlets -n libply-boot-client%{soversion} @@ -454,72 +499,6 @@ fi %postun -n libply%{soversion} -p /sbin/ldconfig %endif -%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 %dir %{_sysconfdir}/plymouth %ghost %{_sysconfdir}/plymouth/plymouthd.conf From ac919a5202cbddeb97f58c28a5e6f1c31e7c03e239180f64473629bf1848ded2 Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Sun, 19 Sep 2021 11:55:20 +0000 Subject: [PATCH 2/4] Accepting request 920142 from home:qzhao:branches:Base:System Add plymouth-watermark-config.patch: Add two-step watermark theme config support, make the plymouth-branding easy to work (bsc#1189613). OBS-URL: https://build.opensuse.org/request/show/920142 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=308 --- plymouth-watermark-config.patch | 49 +++++++++++++++++++++++++++++++++ plymouth.changes | 7 +++++ plymouth.spec | 9 +++--- 3 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 plymouth-watermark-config.patch diff --git a/plymouth-watermark-config.patch b/plymouth-watermark-config.patch new file mode 100644 index 0000000..e5ee7a6 --- /dev/null +++ b/plymouth-watermark-config.patch @@ -0,0 +1,49 @@ +diff -Nura plymouth-0.9.5~git20210406.e554475/src/plugins/splash/two-step/plugin.c plymouth-0.9.5~git20210406.e554475_new/src/plugins/splash/two-step/plugin.c +--- plymouth-0.9.5~git20210406.e554475/src/plugins/splash/two-step/plugin.c 2021-04-06 19:53:40.000000000 +0800 ++++ plymouth-0.9.5~git20210406.e554475_new/src/plugins/splash/two-step/plugin.c 2021-09-19 17:04:54.441225214 +0800 +@@ -1053,7 +1053,6 @@ + plugin = calloc (1, sizeof(ply_boot_splash_plugin_t)); + + image_dir = ply_key_file_get_value (key_file, "two-step", "ImageDir"); +- + ply_trace ("Using '%s' as working directory", image_dir); + + asprintf (&image_path, "%s/lock.png", image_dir); +@@ -1076,9 +1075,23 @@ + plugin->background_tile_image = ply_image_new (image_path); + free (image_path); + +- asprintf (&image_path, "%s/watermark.png", image_dir); +- plugin->watermark_image = ply_image_new (image_path); +- free (image_path); ++ char *release_watermark_path, *theme_watermark_path; ++ release_watermark_path = ply_key_file_get_value (key_file, "two-step", "WatermarkPath"); ++ asprintf (&theme_watermark_path, "%s/watermark.png", image_dir); ++ if (release_watermark_path != NULL && access(release_watermark_path, R_OK) == 0 ) ++ { ++ ply_trace ("openSUSE's Watermark path: '%s'", release_watermark_path); ++ plugin->watermark_image = ply_image_new (release_watermark_path); ++ free (release_watermark_path); ++ } ++ else if( access(theme_watermark_path, R_OK) == 0) ++ { ++ ply_trace ("Theme's Watermark path: '%s'", theme_watermark_path); ++ plugin->watermark_image = ply_image_new (theme_watermark_path); ++ free (theme_watermark_path); ++ } ++ else ++ plugin->watermark_image = NULL; + + plugin->animation_dir = image_dir; + +diff -Nura plymouth-0.9.5~git20210406.e554475/themes/bgrt/bgrt.plymouth.desktop plymouth-0.9.5~git20210406.e554475_new/themes/bgrt/bgrt.plymouth.desktop +--- plymouth-0.9.5~git20210406.e554475/themes/bgrt/bgrt.plymouth.desktop 2021-04-06 19:53:40.000000000 +0800 ++++ plymouth-0.9.5~git20210406.e554475_new/themes/bgrt/bgrt.plymouth.desktop 2021-09-19 17:14:04.299069740 +0800 +@@ -7,6 +7,7 @@ + Font=Cantarell 12 + TitleFont=Cantarell Light 30 + ImageDir=@PLYMOUTH_THEME_PATH@/spinner ++WatermarkPath=/usr/share/pixmaps/distribution-logos/light-inline.png + DialogHorizontalAlignment=.5 + DialogVerticalAlignment=.382 + TitleHorizontalAlignment=.5 diff --git a/plymouth.changes b/plymouth.changes index 790539c..8c7b0d3 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sun Sep 16 07:44:07 UTC 2021 - Cliff Zhao + +- Add plymouth-watermark-config.patch: Add two-step watermark theme + config support, make the plymouth-branding easy to work + (bsc#1189613). + ------------------------------------------------------------------- Thu Sep 6 08:42:26 UTC 2021 - Cliff Zhao diff --git a/plymouth.spec b/plymouth.spec index 162a659..f502bae 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -49,6 +49,8 @@ Patch7: plymouth-only_use_fb_for_cirrus_bochs.patch Patch8: plymouth-keep-KillMode-none.patch # PATCH-FIX-OPENSUSE plymouth-set-default-theme-suse-branding.patch bsc#1189613 qzhao@suse.com -- set plymouth's default theme to openSUSE/SUSE branding assigned style to avoid screen mass. Patch9: plymouth-set-default-theme-suse-branding.patch +# PATCH-FIX-OPENSUSE plymouth-watermark-config.patch bsc#1189613 qzhao@suse.com -- Add two-step water mark config support. +Patch10: plymouth-watermark-config.patch # PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch1000: 0001-Add-label-ft-plugin.patch # PATCH-FIX-UPSTREAM 0002-Install-label-ft-plugin-into-initrd-if-available.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. @@ -93,6 +95,7 @@ Suggests: %{name}-theme-bgrt = %{version} Suggests: %{name}-theme-spinner = %{version} %endif Recommends: %{name}-lang +Requires: %{name}-scripts Requires: libdrm2 Requires: libply%{soversion} = %{version} Requires: libply-boot-client%{soversion} = %{version} @@ -408,7 +411,6 @@ autoreconf -ivf --disable-static \ --disable-upstart-monitoring \ --disable-tests \ - --disable-libkms \ %if %{without x11_renderer} --disable-gtk \ %endif @@ -478,10 +480,7 @@ if [ $1 -eq 0 ]; then fi %posttrans -plymouth-set-default-theme -r -if [ $? -eq 0 ]; then - plymouth-set-default-theme -R -fi +plymouth-set-default-theme -r && plymouth-set-default-theme -R %if 0%{?suse_version} > 1500 %ldconfig_scriptlets -n libply-boot-client%{soversion} From 85b4ce199fee41d7d9d27567265519426e11fcf117ade0348d413d8e0b48ddd2 Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Sun, 19 Sep 2021 12:11:53 +0000 Subject: [PATCH 3/4] OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=309 --- plymouth.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/plymouth.spec b/plymouth.spec index f502bae..44231a6 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -100,6 +100,7 @@ Requires: libdrm2 Requires: libply%{soversion} = %{version} Requires: libply-boot-client%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} +Requires: distribution-logos Requires: libudev1 Requires: systemd >= 186 Suggests: %{name}-theme-fade-in From a582ca3600dd89bfffcd00a0462506dd94adf01b8bc068968685a687914efe91 Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Thu, 27 Jan 2022 15:53:36 +0000 Subject: [PATCH 4/4] Accepting request 949490 from home:qzhao:branches:Base:System Step by step submission. OBS-URL: https://build.opensuse.org/request/show/949490 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=310 --- plymouth-correct-runtime-dir.patch | 12 - ...outh-set-default-theme-suse-branding.patch | 146 -------- plymouth-watermark-config.patch | 49 --- plymouth.changes | 41 ++- plymouth.spec | 337 +++++++++--------- 5 files changed, 193 insertions(+), 392 deletions(-) delete mode 100644 plymouth-correct-runtime-dir.patch delete mode 100644 plymouth-set-default-theme-suse-branding.patch delete mode 100644 plymouth-watermark-config.patch diff --git a/plymouth-correct-runtime-dir.patch b/plymouth-correct-runtime-dir.patch deleted file mode 100644 index c7a72dd..0000000 --- a/plymouth-correct-runtime-dir.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nura plymouth-0.9.5+git20200921+20778f2/configure.ac plymouth-0.9.5+git20200921+20778f2_new/configure.ac ---- plymouth-0.9.5+git20200921+20778f2/configure.ac 2020-07-18 15:27:12.000000000 +0800 -+++ plymouth-0.9.5+git20200921+20778f2_new/configure.ac 2020-10-02 21:41:46.998308963 +0800 -@@ -154,7 +154,7 @@ - plymouthclientdir=$bindir - plymouthdaemondir=$sbindir - if (test -z "${plymouthruntimedir}"); then -- plymouthruntimedir=$localstatedir/run/plymouth -+ plymouthruntimedir=/run/plymouth - fi - fi - AC_SUBST(plymouthclientdir) diff --git a/plymouth-set-default-theme-suse-branding.patch b/plymouth-set-default-theme-suse-branding.patch deleted file mode 100644 index 8ee528b..0000000 --- a/plymouth-set-default-theme-suse-branding.patch +++ /dev/null @@ -1,146 +0,0 @@ -diff -Nura plymouth-0.9.5~git20210406.e554475/scripts/plymouth-set-default-theme.in plymouth-0.9.5~git20210406.e554475_new/scripts/plymouth-set-default-theme.in ---- plymouth-0.9.5~git20210406.e554475/scripts/plymouth-set-default-theme.in 2021-09-07 21:20:35.469101952 +0800 -+++ plymouth-0.9.5~git20210406.e554475_new/scripts/plymouth-set-default-theme.in 2021-09-07 21:51:07.618708601 +0800 -@@ -6,6 +6,7 @@ - [ -z "$PLYMOUTH_DATADIR" ] && PLYMOUTH_DATADIR="@PLYMOUTH_DATADIR@" - [ -z "$PLYMOUTH_CONFDIR" ] && PLYMOUTH_CONFDIR="@PLYMOUTH_CONF_DIR@" - [ -z "$PLYMOUTH_POLICYDIR" ] && PLYMOUTH_POLICYDIR="@PLYMOUTH_POLICY_DIR@" -+[ -z "$OS" ] && OS=`cat /etc/os-release |grep ^NAME= |cut -d'=' -f2` - if [ -z "$PLYMOUTH_PLUGIN_PATH" ]; then - if [ -z "$LIB" ]; then - PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)" -@@ -56,27 +57,27 @@ - ') - } - --function get_default_theme () -+function get_current_theme () - { -- if [ -f /etc/plymouth/plymouthd.conf ]; then -+ if [ -z "$THEME_NAME" -a -r "${PLYMOUTH_CONFDIR}/plymouthd.conf" ]; then - THEME_NAME=$(read_theme_name_from_file ${PLYMOUTH_CONFDIR}/plymouthd.conf) -- elif [ -f /usr/share/plymouth/plymouthd.defaults ]; then -- THEME_NAME=$(read_theme_name_from_file ${PLYMOUTH_DATADIR}/plymouth/plymouthd.defaults) - fi - -- if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" ]; then -+ if [ -z "$THEME_NAME" -a -r "${PLYMOUTH_POLICYDIR}/plymouthd.defaults" ]; then - THEME_NAME=$(read_theme_name_from_file ${PLYMOUTH_POLICYDIR}/plymouthd.defaults) - fi - -- if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" \ -- -a -L "${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth" ]; then -- THEME_NAME=$(basename "$(readlink ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth)" .plymouth) -- fi -- if [ -z "$THEME_NAME" -o ! -r "${PLYMOUTH_DATADIR}/plymouth/themes/$THEME_NAME/$THEME_NAME.plymouth" ]; then -- THEME_NAME="text" -+ if [ -n "$THEME_NAME" ] ; then -+ if [ $DO_INITRD_REBUILD -eq 0 ]; then -+ echo $THEME_NAME -+ fi -+ return 0; -+ else -+ echo "Failed: No default theme found." -+ return 1; - fi - -- echo $THEME_NAME -+ - } - - DO_RESET=0 -@@ -163,7 +164,7 @@ - fi - - if [ $DO_RESET -eq 0 ] && [ $DO_INITRD_REBUILD -eq 0 ] && [ -z $THEME_NAME ]; then -- get_default_theme -+ get_current_theme - exit $? - fi - -@@ -173,27 +174,30 @@ - fi - - if [ $DO_RESET -ne 0 ]; then -- if [ -f ${PLYMOUTH_CONFDIR}/plymouthd.conf ]; then -- sed -i -e '/^Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf -- exit $? -- elif [ -f ${PLYMOUTH_DATADIR}/plymouth/plymouthd.defauts ]; then -- cp ${PLYMOUTH_DATADIR}/plymouth/plymouthd.defauts ${PLYMOUTH_CONFDIR}/plymouthd.conf -- sed -i -e '/^Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf -- exit $? -- else -- exit 0 -- fi -+ if [[ -z "$THEME_NAME" ]] && [[ "$OS" == "SLED" ]] || [[ "$OS" == "SLES" ]] ; then -+ THEME_NAME="SLE" -+ -+ elif [[ -z "$THEME_NAME" ]] && [[ "$OS" == *"openSUSE Tumbleweed"* ]] ; then -+ THEME_NAME="bgrt" -+ -+ elif [[ -z "$THEME_NAME" ]] && [[ "$OS" == *"openSUSE Leap"* ]] ; then -+ THEME_NAME="opensuse" -+ fi -+fi -+ -+if [[ -z "$THEME_NAME" ]] ; then -+ get_current_theme - fi - - if [ ! -e ${PLYMOUTH_DATADIR}/plymouth/themes/${THEME_NAME}/${THEME_NAME}.plymouth ]; then -- echo "${PLYMOUTH_DATADIR}/plymouth/themes/${THEME_NAME}/${THEME_NAME}.plymouth does not exist" >&2 -+ echo "Failed: ${PLYMOUTH_DATADIR}/plymouth/themes/${THEME_NAME}/${THEME_NAME}.plymouth does not exist" >&2 - exit 1 - fi - - MODULE_NAME=$(grep "ModuleName *= *" ${PLYMOUTH_DATADIR}/plymouth/themes/${THEME_NAME}/${THEME_NAME}.plymouth | sed 's/ModuleName *= *//') - - if [ ! -e ${PLYMOUTH_PLUGIN_PATH}${MODULE_NAME}.so ]; then -- echo "${PLYMOUTH_PLUGIN_PATH}${MODULE_NAME}.so does not exist" >&2 -+ echo "Failed: ${PLYMOUTH_PLUGIN_PATH}${MODULE_NAME}.so does not exist" >&2 - exit 1 - fi - -@@ -201,6 +205,8 @@ - - [ -d ${PLYMOUTH_CONFDIR} ] || mkdir -p ${PLYMOUTH_CONFDIR} - grep -q '^[[]Daemon[]]' ${PLYMOUTH_CONFDIR}/plymouthd.conf 2> /dev/null || echo '[Daemon]' >> ${PLYMOUTH_CONFDIR}/plymouthd.conf -+sed -i -e '/^\#\[Daemon\][[:blank:]]*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf -+sed -i -e '/^#Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf - sed -i -e '/^Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf - sed -i -e "s/^\([[]Daemon[]]\)\n*/\1\nTheme=${THEME_NAME}/" ${PLYMOUTH_CONFDIR}/plymouthd.conf - -diff -Nura plymouth-0.9.5~git20210406.e554475/scripts/plymouth-update-initrd plymouth-0.9.5~git20210406.e554475_new/scripts/plymouth-update-initrd ---- plymouth-0.9.5~git20210406.e554475/scripts/plymouth-update-initrd 2021-04-06 19:53:40.000000000 +0800 -+++ plymouth-0.9.5~git20210406.e554475_new/scripts/plymouth-update-initrd 2021-09-07 21:51:02.107700743 +0800 -@@ -1,2 +1,3 @@ - #!/bin/bash --dracut -f -+echo "Regenerating initrd ..." -+dracut -qf -diff -Nura plymouth-0.9.5~git20210406.e554475/src/main.c plymouth-0.9.5~git20210406.e554475_new/src/main.c ---- plymouth-0.9.5~git20210406.e554475/src/main.c 2021-04-06 19:53:40.000000000 +0800 -+++ plymouth-0.9.5~git20210406.e554475_new/src/main.c 2021-09-07 21:21:36.752188499 +0800 -@@ -462,20 +462,9 @@ - } - - if (state->boot_splash == NULL) { -- ply_trace ("Trying old scheme for default splash"); -- state->boot_splash = show_theme (state, PLYMOUTH_THEME_PATH "default.plymouth"); -- } -- -- if (state->boot_splash == NULL) { - ply_trace ("Could not start default splash screen," -- "showing text splash screen"); -- state->boot_splash = show_theme (state, PLYMOUTH_THEME_PATH "text/text.plymouth"); -- } -- -- if (state->boot_splash == NULL) { -- ply_trace ("Could not start text splash screen," -- "showing built-in splash screen"); -- state->boot_splash = show_theme (state, NULL); -+ "showing details splash screen"); -+ state->boot_splash = show_theme (state, PLYMOUTH_THEME_PATH "details/details.plymouth"); - } - - if (state->boot_splash == NULL) { diff --git a/plymouth-watermark-config.patch b/plymouth-watermark-config.patch deleted file mode 100644 index e5ee7a6..0000000 --- a/plymouth-watermark-config.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -Nura plymouth-0.9.5~git20210406.e554475/src/plugins/splash/two-step/plugin.c plymouth-0.9.5~git20210406.e554475_new/src/plugins/splash/two-step/plugin.c ---- plymouth-0.9.5~git20210406.e554475/src/plugins/splash/two-step/plugin.c 2021-04-06 19:53:40.000000000 +0800 -+++ plymouth-0.9.5~git20210406.e554475_new/src/plugins/splash/two-step/plugin.c 2021-09-19 17:04:54.441225214 +0800 -@@ -1053,7 +1053,6 @@ - plugin = calloc (1, sizeof(ply_boot_splash_plugin_t)); - - image_dir = ply_key_file_get_value (key_file, "two-step", "ImageDir"); -- - ply_trace ("Using '%s' as working directory", image_dir); - - asprintf (&image_path, "%s/lock.png", image_dir); -@@ -1076,9 +1075,23 @@ - plugin->background_tile_image = ply_image_new (image_path); - free (image_path); - -- asprintf (&image_path, "%s/watermark.png", image_dir); -- plugin->watermark_image = ply_image_new (image_path); -- free (image_path); -+ char *release_watermark_path, *theme_watermark_path; -+ release_watermark_path = ply_key_file_get_value (key_file, "two-step", "WatermarkPath"); -+ asprintf (&theme_watermark_path, "%s/watermark.png", image_dir); -+ if (release_watermark_path != NULL && access(release_watermark_path, R_OK) == 0 ) -+ { -+ ply_trace ("openSUSE's Watermark path: '%s'", release_watermark_path); -+ plugin->watermark_image = ply_image_new (release_watermark_path); -+ free (release_watermark_path); -+ } -+ else if( access(theme_watermark_path, R_OK) == 0) -+ { -+ ply_trace ("Theme's Watermark path: '%s'", theme_watermark_path); -+ plugin->watermark_image = ply_image_new (theme_watermark_path); -+ free (theme_watermark_path); -+ } -+ else -+ plugin->watermark_image = NULL; - - plugin->animation_dir = image_dir; - -diff -Nura plymouth-0.9.5~git20210406.e554475/themes/bgrt/bgrt.plymouth.desktop plymouth-0.9.5~git20210406.e554475_new/themes/bgrt/bgrt.plymouth.desktop ---- plymouth-0.9.5~git20210406.e554475/themes/bgrt/bgrt.plymouth.desktop 2021-04-06 19:53:40.000000000 +0800 -+++ plymouth-0.9.5~git20210406.e554475_new/themes/bgrt/bgrt.plymouth.desktop 2021-09-19 17:14:04.299069740 +0800 -@@ -7,6 +7,7 @@ - Font=Cantarell 12 - TitleFont=Cantarell Light 30 - ImageDir=@PLYMOUTH_THEME_PATH@/spinner -+WatermarkPath=/usr/share/pixmaps/distribution-logos/light-inline.png - DialogHorizontalAlignment=.5 - DialogVerticalAlignment=.382 - TitleHorizontalAlignment=.5 diff --git a/plymouth.changes b/plymouth.changes index 8c7b0d3..8e47c7f 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,19 +1,31 @@ ------------------------------------------------------------------- -Sun Sep 16 07:44:07 UTC 2021 - Cliff Zhao +Thu Jan 13 15:14:28 UTC 2022 - Cliff Zhao -- Add plymouth-watermark-config.patch: Add two-step watermark theme - config support, make the plymouth-branding easy to work - (bsc#1189613). - -------------------------------------------------------------------- -Thu Sep 6 08:42:26 UTC 2021 - Cliff Zhao - -- Add plymouth-set-default-theme-suse-branding.patch: set plymouth's - default theme to openSUSE/SUSE branding assigned style to avoid - screen mass(bsc#1189613). -- Update plymouth.spec: Rearrange plymouth sub packages dependencies - to avoid installation failures due to a race installation state - which will leading theme display fault(1189613). +- Update SPEC file: + Remove usermerged macro and script: + 1, currently, it blocks the building in SLE-15-SP4; + 2, plymouth already build with "without-system-root-install", + make all binary install to /usr/bin and /usr/sbin; which + fit for /user merge target. + 3, plymouth is not launched by user. and all system intergration + point are called from /usr. + 4, So no change need to do, everything already works. + Remove rm rhgb-client: + plymouth already build with "without-rhgb-compat-link", + rhgb doesn't generated from beginning. + Remove "disable-libkms": + SUSE support kms and drm very well now, plymouth works + fine with them. +- Remove plymouth-correct-runtime-dir.patch: + Use upstream build param "with-runtimedir=/run" to instead. +- Change plymouth-dracut build arch to noarch: + It only contain a script. + Change libply, libply-boot-client, libply-splash-core, + libply-splash-graphics group from Development/Libraries/C and + C++ to System/Libraries: + They are plymouth and plymouthd runtime library, which install + together with plymouth. +- Resort rpm file list. ------------------------------------------------------------------- Tue Aug 31 14:13:20 UTC 2021 - Cliff Zhao @@ -1561,3 +1573,4 @@ Wed Dec 22 10:20:54 UTC 2010 - seife+obs@b1-systems.com Wed Dec 8 22:44:13 CET 2010 - jeffm@suse.de - Initial packaging. + diff --git a/plymouth.spec b/plymouth.spec index 44231a6..96b5aef 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -1,7 +1,7 @@ # # spec file for package plymouth # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -35,27 +35,21 @@ Source1: boot-duration Patch0: plymouth-dracut-path.patch # PATCH-FIX-OPENSUSE plymouth-some-greenish-openSUSE-colors.patch bnc#886148 fcrozat@suse.com -- To use suse colors in tribar. Patch1: plymouth-some-greenish-openSUSE-colors.patch -# PATCH-FIX-OPENSUSE plymouth-correct-runtime-dir.patch tittiatcoke@gmail.com -- Make sure the runtime directory is /run and not /var/run -Patch2: plymouth-correct-runtime-dir.patch # PATCH-FIX-UPSTREAM plymouth-manpages.patch bnc#871419 idoenmez@suse.de -- Fix man page installation -Patch3: plymouth-manpages.patch +Patch2: plymouth-manpages.patch # PATCH-FIX-SLE plymouth-no-longer-modify-conf-to-drop-isopensuse-macro.patch qzhao@suse.com jsc#SLE-11637 -- plymouth will use plymouthd.defaults instead of plymouth.conf to close the leap gap. -Patch4: plymouth-no-longer-modify-conf-to-drop-isopensuse-macro.patch +Patch3: plymouth-no-longer-modify-conf-to-drop-isopensuse-macro.patch # PATCH-FIX-OPENSUSE plymouth-disable-fedora-logo.patch qzhao@opensuse.org -- Disable the fedora logo reference which is not in openSUSE. -Patch6: plymouth-disable-fedora-logo.patch +Patch4: plymouth-disable-fedora-logo.patch # PATCH-FIX-OPENSUSE plymouth-only_use_fb_for_cirrus_bochs.patch bnc#888590 boo#1172028 bsc#1181913 fvogt@suse.com -- force fb for cirrus and bochs, force drm otherwise. replace removal of framebuffer driver and plymouth-ignore-cirrusdrm.patch with single patch. -Patch7: plymouth-only_use_fb_for_cirrus_bochs.patch +Patch5: plymouth-only_use_fb_for_cirrus_bochs.patch # PATCH-FIX-OPENSUSE plymouth-keep-KillMode-none.patch bsc#1177082 bsc#1184087 boo#1182145 qzhao@suse.com -- Keep the plymouth-start.service KillMode=none. -Patch8: plymouth-keep-KillMode-none.patch -# PATCH-FIX-OPENSUSE plymouth-set-default-theme-suse-branding.patch bsc#1189613 qzhao@suse.com -- set plymouth's default theme to openSUSE/SUSE branding assigned style to avoid screen mass. -Patch9: plymouth-set-default-theme-suse-branding.patch -# PATCH-FIX-OPENSUSE plymouth-watermark-config.patch bsc#1189613 qzhao@suse.com -- Add two-step water mark config support. -Patch10: plymouth-watermark-config.patch +Patch6: plymouth-keep-KillMode-none.patch # PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch1000: 0001-Add-label-ft-plugin.patch # PATCH-FIX-UPSTREAM 0002-Install-label-ft-plugin-into-initrd-if-available.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch1001: 0002-Install-label-ft-plugin-into-initrd-if-available.patch -# PATCH-FIX-UPSTREAM 0003-fix_null_deref.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. +#uo PATCH-FIX-UPSTREAM 0003-fix_null_deref.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. Patch1002: 0003-fix_null_deref.patch BuildRequires: automake BuildRequires: docbook-xsl-stylesheets @@ -83,29 +77,13 @@ BuildRequires: pkgconfig(systemd) >= 186 %if %{with x11_renderer} BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 %endif -%if 0%{?is_opensuse} -Requires: %{name}-branding-openSUSE -Requires: %{name}-plugin-two-step = %{version} -Requires: %{name}-theme-bgrt = %{version} -Requires: %{name}-theme-spinner = %{version} -%else -Requires: %{name}-branding-SLE -Requires: %{name}-plugin-scripts = %{version} -Suggests: %{name}-theme-bgrt = %{version} -Suggests: %{name}-theme-spinner = %{version} -%endif Recommends: %{name}-lang -Requires: %{name}-scripts -Requires: libdrm2 -Requires: libply%{soversion} = %{version} -Requires: libply-boot-client%{soversion} = %{version} -Requires: libply-splash-core%{soversion} = %{version} -Requires: distribution-logos -Requires: libudev1 +Requires: %{name}-branding Requires: systemd >= 186 -Suggests: %{name}-theme-fade-in -Suggests: %{name}-theme-spinfinity -Suggests: %{name}-theme-tribar +Requires(post): coreutils +Requires(post): plymouth-scripts = %{version} +Requires(postun):coreutils +Suggests: plymouth-plugin-label Provides: bootsplash = 3.5 Obsoletes: bootsplash < 3.5 Provides: systemd-plymouth = 44-10.2 @@ -118,10 +96,17 @@ messages are instead redirected to a log file for viewing after boot. %lang_package +%package -n libply%{soversion} +Summary: Plymouth core library +Group: System/Libraries +Requires: libply-boot-client%{soversion} = %{version} + +%description -n libply%{soversion} +This package contains the libply library used by Plymouth. + %package -n libply-boot-client%{soversion} Summary: Plymouth core library Group: System/Libraries -Requires: libply%{soversion} = %{version} %description -n libply-boot-client%{soversion} This package contains the libply-boot-client library used by Plymouth. @@ -129,8 +114,6 @@ This package contains the libply-boot-client library used by Plymouth. %package -n libply-splash-core%{soversion} Summary: Plymouth core library Group: System/Libraries -Requires: libply%{soversion} = %{version} -Requires: libudev1 %description -n libply-splash-core%{soversion} This package contains the libply-splash-core library @@ -140,21 +123,11 @@ used by graphical Plymouth splashes. Summary: Plymouth graphics libraries Group: System/Libraries BuildRequires: libpng-devel -Requires: libply%{soversion} = %{version} -Requires: libply-splash-core%{soversion} = %{version} -Requires: libpng16-16 %description -n libply-splash-graphics%{soversion} This package contains the libply-splash-graphics library used by graphical Plymouth splashes. -%package -n libply%{soversion} -Summary: Plymouth core library -Group: System/Libraries - -%description -n libply%{soversion} -This package contains the libply library used by Plymouth. - %package branding-upstream Summary: default configuration file and branding from the Plymouth upstream. Group: System/Base @@ -186,7 +159,9 @@ and headers needed to develop 3rd party splash plugins for Plymouth. %package dracut Summary: Plymouth related utilities for dracut Group: System/Base -Requires: coreutils +Requires: %{name} = %{version} +Supplements: packageand(plymouth:dracut) +BuildArch: noarch %description dracut This package contains utilities that integrate dracut with Plymouth @@ -203,12 +178,11 @@ behavior on environments with a valid DISPLAY. %package scripts Summary: Plymouth related scripts Group: System/Base -Requires: %{name}-dracut Requires: awk -Requires: coreutils Requires: dracut Requires: grep Requires: sed +Requires(pre): %{name} = %{version} BuildArch: noarch %description scripts @@ -218,11 +192,6 @@ the system. %package plugin-label Summary: Plymouth label plugin Group: System/Base -Requires: libcairo2 -Requires: libfontconfig1 -Requires: libfreetype6 -Requires: libpango-1_0-0 -Requires: libply%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} %description plugin-label @@ -247,8 +216,6 @@ Group: System/Base Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} -Requires: libpng16-16 -Requires: libudev1 %description plugin-fade-throbber This package contains the "Fade-In" boot splash plugin for @@ -258,11 +225,10 @@ while other images pulsate around during system boot up. %package plugin-space-flares Summary: Plymouth "space-flares" plugin Group: System/Base +Requires: %{name}-plugin-label = %{version} Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} -Requires: libpng16-16 -Requires: libudev1 %description plugin-space-flares This package contains the "space-flares" boot splash plugin for @@ -274,8 +240,7 @@ Group: System/Base Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} -Requires: libpng16-16 -Requires: libudev1 +Requires: plymouth-plugin-label = %{version} %description plugin-two-step This package contains the "two-step" boot splash plugin for @@ -289,7 +254,6 @@ Group: System/Base Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} Requires: libply-splash-graphics%{soversion} = %{version} -Requires: libudev1 %description plugin-script This package contains the "script" boot splash plugin for @@ -302,7 +266,7 @@ Summary: Plymouth "script" plugin Group: System/Base Requires: libply%{soversion} = %{version} Requires: libply-splash-core%{soversion} = %{version} -Requires: libudev1 +Requires: libply-splash-graphics%{soversion} = %{version} %description plugin-tribar This package contains the "tribar" boot splash plugin for @@ -310,25 +274,12 @@ Plymouth. It features an extensible, scriptable boot splash language that simplifies the process of designing custom boot splash themes. -%package theme-bgrt -Summary: Plymouth "bgrt" theme -Group: System/Base -Requires: %{name}-plugin-label = %{version} -Requires: %{name}-plugin-two-step = %{version} -%if !0%{?is_opensuse} -Enhances: %{name} = %{version} -%endif -BuildArch: noarch - -%description theme-bgrt -This package contains the "bgrt" boot splash theme for -Plymouth. - %package theme-fade-in Summary: Plymouth "Fade-In" theme Group: System/Base Requires: %{name}-plugin-fade-throbber = %{version} -Enhances: %{name} = %{version} +Requires: plymouth-plugin-label = %{version} +Requires(post): %{name}-scripts BuildArch: noarch %description theme-fade-in @@ -336,26 +287,11 @@ 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" theme -Group: System/Base -Requires: %{name}-plugin-script = %{version} -%if 0%{?is_opensuse} -Enhances: %{name} = %{version} -%endif -BuildArch: noarch - -%description theme-script -This package contains the "script" boot splash theme for -Plymouth. It is a simple example theme the uses the "script" -plugin. - %package theme-spinfinity Summary: Plymouth "Spinfinity" theme Group: System/Base -Requires: %{name}-plugin-label = %{version} -Requires: %{name}-plugin-two-step = %{version} -Enhances: %{name} = %{version} +Requires(post): %{name}-scripts +Requires(pre): %{name} BuildArch: noarch %description theme-spinfinity @@ -366,11 +302,8 @@ spins in the shape of an infinity sign. %package theme-spinner Summary: Plymouth "Spinner" theme Group: System/Base -Requires: %{name}-plugin-label = %{version} Requires: %{name}-plugin-two-step = %{version} -%if !0%{?is_opensuse} -Enhances: %{name} = %{version} -%endif +Requires(post): %{name}-scripts BuildArch: noarch %description theme-spinner @@ -380,8 +313,8 @@ Plymouth. %package theme-solar Summary: Plymouth "Solar" theme Group: System/Base -Requires: %{name}-plugin-label = %{version} Requires: %{name}-plugin-space-flares = %{version} +Requires(post): %{name}-scripts BuildArch: noarch %description theme-solar @@ -392,13 +325,38 @@ Plymouth. It features a blue flamed sun with animated solar flares. Summary: Plymouth "Tribar" theme Group: System/Base Requires: %{name}-plugin-tribar = %{version} -Enhances: %{name} = %{version} +Requires(post): %{name}-scripts BuildArch: noarch %description theme-tribar This package contains the "Tribar" boot splash theme for Plymouth +%package theme-script +Summary: Plymouth "Script" theme +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 is a simple example theme the uses the "script" +plugin. + +%package theme-bgrt +Summary: Plymouth "bgrt" theme +# Uses images from spinner theme +Group: System/Base +Requires: %{name}-plugin-two-step = %{version} +Requires: %{name}-theme-spinner = %{version} +Requires(post): %{name}-scripts +BuildArch: noarch + +%description theme-bgrt +This package contains the "bgrt" boot splash theme for +Plymouth. + %prep %setup -q %autopatch -p1 @@ -421,28 +379,19 @@ autoreconf -ivf --with-background-start-color-stop=0x1A3D1F \ --with-background-end-color-stop=0x4EA65C \ --with-background-color=0x3391cd \ + --with-runtimedir=/run \ --without-rhgb-compat-link \ - --without-system-root-install \ - POLICY_DIR='/usr/share/plymouth/' + --without-system-root-install make %{?_smp_mflags} %install %make_install -rm -f %{buildroot}/%{_bindir}/rhgb-client - -%if !0%{?usrmerged} -#Link the plymouth client binary also to /bin until the move to /usr is completed -mkdir %{buildroot}/bin -(cd %{buildroot}/bin; ln -s ..%{_bindir}/plymouth) -%endif # 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} -type f -name "*.la" -delete -print +find %{buildroot} -type f -name "*.la" -delete mkdir -p %{buildroot}%{_localstatedir}/lib/plymouth mkdir -p %{buildroot}/run/plymouth @@ -459,29 +408,25 @@ rm -f %{buildroot}%{_datadir}/plymouth/plymouthd.conf %find_lang %{name} %post +%{?regenerate_initrd_post} if [ ! -e /.buildenv ]; then [ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration - - plymouth-set-default-theme -r - if [ "$?" -eq 0 ] && [ "$1" -eq 0 ]; then - plymouth-set-default-theme -R - fi fi %postun +%{?regenerate_initrd_post} %if 0%{?suse_version} > 1500 - %service_del_postun_without_restart +%service_del_postun_without_restart %else - %systemd_postun +%systemd_postun %endif - if [ $1 -eq 0 ]; then rm -f %{_libdir}/plymouth/default.so rm -f /boot/initrd-plymouth.img fi %posttrans -plymouth-set-default-theme -r && plymouth-set-default-theme -R +%{?regenerate_initrd_posttrans} %if 0%{?suse_version} > 1500 %ldconfig_scriptlets -n libply-boot-client%{soversion} @@ -499,6 +444,72 @@ plymouth-set-default-theme -r && plymouth-set-default-theme -R %postun -n libply%{soversion} -p /sbin/ldconfig %endif +%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 %dir %{_sysconfdir}/plymouth %ghost %{_sysconfdir}/plymouth/plymouthd.conf @@ -549,6 +560,9 @@ plymouth-set-default-theme -r && plymouth-set-default-theme -R %{_libdir}/pkgconfig/ply-boot-client.pc %{_includedir}/plymouth-1 +%files -n libply%{soversion} +%{_libdir}/libply.so.%{soversion}* + %files -n libply-boot-client%{soversion} %{_libdir}/libply-boot-client.so.%{soversion}* @@ -558,82 +572,63 @@ plymouth-set-default-theme -r && plymouth-set-default-theme -R %files -n libply-splash-graphics%{soversion} %{_libdir}/libply-splash-graphics.so.%{soversion}* -%files -n libply%{soversion} -%{_libdir}/libply.so.%{soversion}* - %files scripts %dir %{_libexecdir}/plymouth -%{_sbindir}/plymouth-set-default-theme %{_libexecdir}/plymouth/plymouth-update-initrd +%{_sbindir}/plymouth-set-default-theme %if %{with x11_renderer} %files x11-renderer %{_libdir}/plymouth/renderers/x11* %endif +%files plugin-fade-throbber +%{_libdir}/plymouth/fade-throbber.so + %files plugin-label %{_libdir}/plymouth/label.so %files plugin-label-ft %{_libdir}/plymouth/label-ft.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-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/capslock.png -%{_datadir}/plymouth/themes/spinfinity/keyboard.png -%{_datadir}/plymouth/themes/spinfinity/keymap-render.png -%{_datadir}/plymouth/themes/spinfinity/animation-0001.png -%{_datadir}/plymouth/themes/spinfinity/throbber-[0-3][0-9].png -%{_datadir}/plymouth/themes/spinfinity/spinfinity.plymouth +%files plugin-script +%{_libdir}/plymouth/script.so %files plugin-space-flares %{_libdir}/plymouth/space-flares.so -%files theme-spinner -%dir %{_datadir}/plymouth/themes/spinner -%{_datadir}/plymouth/themes/spinner/*.* - -%files theme-solar -%dir %{_datadir}/plymouth/themes/solar -%{_datadir}/plymouth/themes/solar/*.png -%{_datadir}/plymouth/themes/solar/solar.plymouth - -%files theme-tribar -%dir %{_datadir}/plymouth/themes/tribar -%{_datadir}/plymouth/themes/tribar/*.* +%files plugin-tribar +%{_libdir}/plymouth/tribar.so %files plugin-two-step %{_libdir}/plymouth/two-step.so -%files plugin-tribar -%{_libdir}/plymouth/tribar.so +%files theme-bgrt +%dir %{_datadir}/plymouth/themes/bgrt +%{_datadir}/plymouth/themes/bgrt/* -%files plugin-script -%{_libdir}/plymouth/script.so +%files theme-fade-in +%dir %{_datadir}/plymouth/themes/fade-in +%{_datadir}/plymouth/themes/fade-in/* + +%files theme-spinfinity +%dir %{_datadir}/plymouth/themes/spinfinity +%{_datadir}/plymouth/themes/spinfinity/* %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-bgrt -%dir %{_datadir}/plymouth/themes/bgrt -%{_datadir}/plymouth/themes/bgrt/*.* +%files theme-spinner +%dir %{_datadir}/plymouth/themes/spinner +%{_datadir}/plymouth/themes/spinner/* + +%files theme-solar +%dir %{_datadir}/plymouth/themes/solar +%{_datadir}/plymouth/themes/solar/* + +%files theme-tribar +%dir %{_datadir}/plymouth/themes/tribar +%{_datadir}/plymouth/themes/tribar/* %changelog