From 3a03be408f3d4e466e299d8886beb33c845d499efde55ec76622f81ae6754a7f Mon Sep 17 00:00:00 2001 From: Cliff Zhao Date: Wed, 2 Feb 2022 14:42:58 +0000 Subject: [PATCH] Accepting request 950754 from home:qzhao:branches:Base:System 1. Add plymouth-watermark-config.patch: Add two-step theme watermark configuration support, make the plymouth-branding easy to render the theme (bsc#1189613). 2. Add plymouth-quiet-dracut-build-info.patch: Avoid the dracut building info which is useless for plymouth(bsc#1189613). 3. Add plymouth-install-label-library-and-font-file-to-initrd.patch: Compress label.so and current theme's font into initrd to avoid prompt disappear when the folder in which has been encrypt (boo#1183425). OBS-URL: https://build.opensuse.org/request/show/950754 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=311 --- ...abel-library-and-font-file-to-initrd.patch | 23 +++++++++ plymouth-quiet-dracut-build-info.patch | 8 +++ plymouth-watermark-config.patch | 49 +++++++++++++++++++ plymouth.changes | 21 ++++++++ plymouth.spec | 18 ++++--- 5 files changed, 113 insertions(+), 6 deletions(-) create mode 100644 plymouth-install-label-library-and-font-file-to-initrd.patch create mode 100644 plymouth-quiet-dracut-build-info.patch create mode 100644 plymouth-watermark-config.patch diff --git a/plymouth-install-label-library-and-font-file-to-initrd.patch b/plymouth-install-label-library-and-font-file-to-initrd.patch new file mode 100644 index 0000000..f86f67a --- /dev/null +++ b/plymouth-install-label-library-and-font-file-to-initrd.patch @@ -0,0 +1,23 @@ +diff -Nura plymouth-0.9.5+git20201026+53c83cc/scripts/plymouth-populate-initrd.in plymouth-0.9.5+git20201026+53c83cc_new/scripts/plymouth-populate-initrd.in +--- plymouth-0.9.5+git20201026+53c83cc/scripts/plymouth-populate-initrd.in 2021-06-14 01:04:23.842500337 +0800 ++++ plymouth-0.9.5+git20201026+53c83cc_new/scripts/plymouth-populate-initrd.in 2021-06-14 01:06:52.766783152 +0800 +@@ -420,6 +420,7 @@ + inst ${PLYMOUTH_PLUGIN_PATH}/text.so $INITRDDIR + inst ${PLYMOUTH_DATADIR}/plymouth/themes/details/details.plymouth $INITRDDIR + inst ${PLYMOUTH_PLUGIN_PATH}/details.so $INITRDDIR ++inst ${PLYMOUTH_PLUGIN_PATH}/label.so $INITRDDIR + inst ${PLYMOUTH_LOGO_FILE} $INITRDDIR + inst @RELEASE_FILE@ $INITRDDIR + inst ${PLYMOUTH_POLICYDIR}/plymouthd.defaults $INITRDDIR +@@ -442,6 +443,11 @@ + PLYMOUTH_MODULE_NAME=$(grep "ModuleName *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//') + PLYMOUTH_THEME_DIR="${PLYMOUTH_DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}" + PLYMOUTH_IMAGE_DIR=$(grep "ImageDir *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ImageDir *= *//') ++PLYMOUTH_Font_PATH=$(fc-list |grep $(fc-match "$(echo $(grep "^Font *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/`plymouth-set-default-theme`/`plymouth-set-default-theme`.plymouth | sed -e 's/^Font *= *//'| awk 'NF{NF--};1'))" |awk -F : {'print $1'}) |awk -F : {'print $1'}) ++PLYMOUTH_TitleFont_PATH=$(fc-list |grep $(fc-match "$(echo $(grep "^TitleFont *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/`plymouth-set-default-theme`/`plymouth-set-default-theme`.plymouth | sed -e 's/^TitleFont *= *//'| awk 'NF{NF--};1'))" |awk -F : {'print $1'}) |awk -F : {'print $1'}) ++ ++[ -f ${PLYMOUTH_Font_PATH} ] && inst ${PLYMOUTH_Font_PATH} $INITRDDIR ++[ -f ${PLYMOUTH_TitleFont_PATH} ] && inst ${PLYMOUTH_TitleFont_PATH} $INITRDDIR + + if [ ! -f ${PLYMOUTH_SYSROOT}${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so ]; then + echo "The default plymouth plugin (${PLYMOUTH_MODULE_NAME}) doesn't exist" >&2 diff --git a/plymouth-quiet-dracut-build-info.patch b/plymouth-quiet-dracut-build-info.patch new file mode 100644 index 0000000..7981113 --- /dev/null +++ b/plymouth-quiet-dracut-build-info.patch @@ -0,0 +1,8 @@ +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 2022-01-28 00:44:13.745537970 +0800 +@@ -1,2 +1,3 @@ + #!/bin/bash +-dracut -f ++echo -e "Regenerating initrd image ..." ++dracut -qf && echo -e "\e[1;32m[ OK ]" 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 8e47c7f..1da43c6 100644 --- a/plymouth.changes +++ b/plymouth.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Sun Jan 30 05:12:13 UTC 2022 - Cliff Zhao + +- Add plymouth-watermark-config.patch: + Add two-step theme watermark configuration support, make the + tumbleweed watermark could show in the boot splash (bsc#1189613). + +------------------------------------------------------------------- +Sun Jan 30 05:06:23 UTC 2022 - Cliff Zhao + +- Add plymouth-quiet-dracut-build-info.patch: Avoid the dracut + building info which is useless for plymouth(bsc#1189613). + +------------------------------------------------------------------- +Sun Jan 30 05:01:45 UTC 2022 - Cliff Zhao + +- Add plymouth-install-label-library-and-font-file-to-initrd.patch: + Compress label.so and current theme's font into initrd to avoid + prompt disappear when the folder in which has been encrypt + (boo#1183425). + ------------------------------------------------------------------- Thu Jan 13 15:14:28 UTC 2022 - Cliff Zhao diff --git a/plymouth.spec b/plymouth.spec index 96b5aef..0246b9f 100644 --- a/plymouth.spec +++ b/plymouth.spec @@ -35,9 +35,9 @@ 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-UPSTREAM plymouth-manpages.patch bnc#871419 idoenmez@suse.de -- Fix man page installation +# PATCH-FIX-UPSTREAM plymouth-manpages.patch bnc#871419 idoenmez@suse.de -- Fix man page installation 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. +# 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. 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. Patch4: plymouth-disable-fedora-logo.patch @@ -45,11 +45,17 @@ Patch4: plymouth-disable-fedora-logo.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. Patch6: plymouth-keep-KillMode-none.patch +# PATCH-FIX-OPENSUSE plymouth-install-label-library-and-font-file-to-initrd.patch boo#1183425 boo#1184309 qzhao@suse.com -- Pack label plugin and font into initram to ensure notice info could successfully show when partition encrypted. +Patch7: plymouth-install-label-library-and-font-file-to-initrd.patch +# PATCH-FIX-OPENSUSE plymouth-quiet-dracut-build-info.patch bsc#1189613 qzhao@suse.com -- Hide unuseful output when re-generate initrd. +Patch8: plymouth-quiet-dracut-build-info.patch +# PATCH-FIX-OPENSUSE plymouth-watermark-config.patch bsc#1189613 qzhao@suse.com -- Add two-step water mark config support. +Patch9: 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. 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 @@ -91,7 +97,7 @@ 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 +place of the text messages that normally get shown. Text messages are instead redirected to a log file for viewing after boot. %lang_package @@ -402,8 +408,8 @@ cp $RPM_SOURCE_DIR/boot-duration %{buildroot}%{_datadir}/plymouth/default-boot-d cp $RPM_SOURCE_DIR/boot-duration %{buildroot}%{_localstatedir}/lib/plymouth # We will nolonger ship plymouthd.conf, Plymouthd will read /usr/share/plymouth/plymouthd.defaults if /etc/plymouth/plymouthd.conf doesn't exist(jsc#SLE-11637). -rm -f %{buildroot}%{_sysconfdir}/plymouth/plymouthd.conf -rm -f %{buildroot}%{_datadir}/plymouth/plymouthd.conf +rm -f %{buildroot}%{_sysconfdir}/plymouth/plymouthd.conf +rm -f %{buildroot}%{_datadir}/plymouth/plymouthd.conf %find_lang %{name}