File plymouth-watermark-config.patch of Package plymouth

Index: plymouth-22.02.122+64.0b0e93c_new/src/plugins/splash/two-step/plugin.c
===================================================================
diff -Nura plymouth-22.02.122+64.0b0e93c/src/plugins/splash/two-step/plugin.c plymouth-22.02.122+64.0b0e93c_new/src/plugins/splash/two-step/plugin.c
--- plymouth-22.02.122+64.0b0e93c/src/plugins/splash/two-step/plugin.c	2022-08-13 20:58:13.000000000 +0800
+++ plymouth-22.02.122+64.0b0e93c_new/src/plugins/splash/two-step/plugin.c	2022-08-13 22:48:06.625172362 +0800
@@ -1095,9 +1095,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;
 
         if (!ply_kernel_command_line_has_argument ("secure_boot.warn_if_disabled=false") &&
             !ply_is_secure_boot_enabled ()) {
Index: plymouth-22.02.122+64.0b0e93c_new/themes/bgrt/bgrt.plymouth.desktop
===================================================================
diff -Nura plymouth-22.02.122+64.0b0e93c/themes/bgrt/bgrt.plymouth.desktop plymouth-22.02.122+64.0b0e93c_new/themes/bgrt/bgrt.plymouth.desktop
--- plymouth-22.02.122+64.0b0e93c/themes/bgrt/bgrt.plymouth.desktop	2022-04-15 16:39:24.000000000 +0800
+++ plymouth-22.02.122+64.0b0e93c_new/themes/bgrt/bgrt.plymouth.desktop	2022-08-13 22:45:46.132327415 +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
Index: plymouth-22.02.122+64.0b0e93c_new/scripts/plymouth-populate-initrd.in
===================================================================
diff -Nura plymouth-22.02.122+64.0b0e93c/scripts/plymouth-populate-initrd.in plymouth-22.02.122+64.0b0e93c_new/scripts/plymouth-populate-initrd.in
--- plymouth-22.02.122+64.0b0e93c/scripts/plymouth-populate-initrd.in	2022-08-13 22:33:38.499980381 +0800
+++ plymouth-22.02.122+64.0b0e93c_new/scripts/plymouth-populate-initrd.in	2022-08-13 22:44:01.052695444 +0800
@@ -491,6 +491,7 @@
 
 PLYMOUTH_MODULE_NAME=$(grep "ModuleName *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//')
 PLYMOUTH_IMAGE_DIR=$(grep "ImageDir *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ImageDir *= *//')
+PLYMOUTH_WATERMARK_PATH=$(grep "WatermarkPath *= *" ${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/WatermarkPath *= *//')
 
 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'} | sort -u | head -n 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'} | sort -u | head -n 1)
@@ -516,6 +517,12 @@
      inst_recur "${PLYMOUTH_IMAGE_DIR}"
 fi
 
+# WatermarkPath is either an image file or a symlink to it
+[ -f "${PLYMOUTH_WATERMARK_PATH}" ] && inst "${PLYMOUTH_WATERMARK_PATH}" $INITRDDIR
+if [ -L "${PLYMOUTH_WATERMARK_PATH}" ]; then
+    inst_symlink "${PLYMOUTH_WATERMARK_PATH}" 
+fi
+
 if [ -L ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth ]; then
     cp -a ${PLYMOUTH_SYSROOT}${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth $INITRDDIR${PLYMOUTH_DATADIR}/plymouth/themes
 fi
openSUSE Build Service is sponsored by