Sync from SUSE:SLFO:Main plymouth revision af7435810fd406ad7e96de7c8605f3d9

This commit is contained in:
Adrian Schröter 2024-05-03 19:29:12 +02:00
commit 11c07cc1c2
18 changed files with 3036 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

17
_service Normal file
View File

@ -0,0 +1,17 @@
<services>
<service mode="disabled" name="tar_scm">
<param name="url">https://gitlab.freedesktop.org/plymouth/plymouth.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="filename">plymouth</param>
<param name="revision">main</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">(.*)\+0.*</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service mode="disabled" name="recompress">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="disabled" name="set_version"/>
</services>

6
_servicedata Normal file
View File

@ -0,0 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://anongit.freedesktop.org/plymouth</param>
<param name="changesrevision">6e9e95dc0fe89a3c52f50e44ff0096a6e65e46a6</param></service><service name="tar_scm">
<param name="url">https://gitlab.freedesktop.org/plymouth/plymouth.git</param>
<param name="changesrevision">9dff465f0cb6ee512d8273891a41675f39e5e654</param></service></servicedata>

BIN
plymouth-22.02.122+94.4bd41a3.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,20 @@
diff -Nura plymouth-0.9.5~git20220719.9e72df3/src/libply-splash-core/ply-keyboard.c plymouth-0.9.5~git20220719.9e72df3_new/src/libply-splash-core/ply-keyboard.c
--- plymouth-0.9.5~git20220719.9e72df3/src/libply-splash-core/ply-keyboard.c 2022-04-15 16:39:24.000000000 +0800
+++ plymouth-0.9.5~git20220719.9e72df3_new/src/libply-splash-core/ply-keyboard.c 2022-07-29 14:19:35.951346564 +0800
@@ -522,6 +522,8 @@
assert (keyboard != NULL);
+ if (ply_list_get_length(keyboard->keyboard_input_handler_list))
+ {
for (node = ply_list_get_first_node (keyboard->keyboard_input_handler_list);
node; node = ply_list_get_next_node (keyboard->keyboard_input_handler_list, node)) {
ply_keyboard_closure_t *closure = ply_list_node_get_data (node);
@@ -531,6 +533,7 @@
return;
}
}
+ }
}
void

View File

@ -0,0 +1,8 @@
diff -Nura plymouth-0.9.5~git20220412.e960111/themes/spinfinity/Makefile.am plymouth-0.9.5~git20220412.e960111_new/themes/spinfinity/Makefile.am
--- plymouth-0.9.5~git20220412.e960111/themes/spinfinity/Makefile.am 2022-04-15 16:39:24.000000000 +0800
+++ plymouth-0.9.5~git20220412.e960111_new/themes/spinfinity/Makefile.am 2022-04-18 15:47:44.346708483 +0800
@@ -54,4 +54,3 @@
EXTRA_DIST = spinfinity.plymouth.in
install-data-hook:
- ln -sf $(logofile) $(DESTDIR)$(themedir)/header-image.png

View File

@ -0,0 +1,15 @@
Index: b/scripts/plymouth-populate-initrd.in
===================================================================
--- a/scripts/plymouth-populate-initrd.in
+++ b/scripts/plymouth-populate-initrd.in
@@ -453,8 +453,8 @@ ddebug "Running with PLYMOUTH_LDD=$PLYMO
ddebug "Running with PLYMOUTH_LDD_PATH=$PLYMOUTH_LDD_PATH"
mkdir -p ${INITRDDIR}${PLYMOUTH_DATADIR}/plymouth/themes
-inst ${PLYMOUTH_DAEMON_PATH} $INITRDDIR
-inst ${PLYMOUTH_CLIENT_PATH} $INITRDDIR
+inst ${PLYMOUTH_DAEMON_PATH} $INITRDDIR /usr/sbin/plymouthd
+inst ${PLYMOUTH_CLIENT_PATH} $INITRDDIR /usr/bin/plymouth
inst ${PLYMOUTH_DRM_ESCROW_PATH} $INITRDDIR
inst ${PLYMOUTH_DATADIR}/plymouth/themes/text/text.plymouth $INITRDDIR
inst ${PLYMOUTH_PLUGIN_PATH}/text.so $INITRDDIR

View File

@ -0,0 +1,24 @@
diff -Nura plymouth-0.9.5~git20220412.e960111/scripts/plymouth-populate-initrd.in plymouth-0.9.5~git20220412.e960111_new/scripts/plymouth-populate-initrd.in
--- plymouth-0.9.5~git20220412.e960111/scripts/plymouth-populate-initrd.in 2022-04-18 15:52:57.536599145 +0800
+++ plymouth-0.9.5~git20220412.e960111_new/scripts/plymouth-populate-initrd.in 2022-04-18 16:58:56.924364207 +0800
@@ -460,6 +460,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
@@ -491,6 +492,12 @@
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_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)
+
+[ -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
exit 1

View File

@ -0,0 +1,17 @@
diff -Nura plymouth-0.9.5~git20220412.e960111/systemd-units/plymouth-start.service.in plymouth-0.9.5~git20220412.e960111_new/systemd-units/plymouth-start.service.in
--- plymouth-0.9.5~git20220412.e960111/systemd-units/plymouth-start.service.in 2022-04-15 16:39:24.000000000 +0800
+++ plymouth-0.9.5~git20220412.e960111_new/systemd-units/plymouth-start.service.in 2022-05-19 12:59:33.150307157 +0800
@@ -6,12 +6,11 @@
Before=systemd-ask-password-plymouth.service
ConditionKernelCommandLine=!plymouth.enable=0
ConditionVirtualization=!container
-IgnoreOnIsolate=true
[Service]
ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot --pid-file=@plymouthruntimedir@/pid --attach-to-session
ExecStartPost=-@PLYMOUTH_CLIENT_DIR@/plymouth show-splash
Type=forking
RemainAfterExit=yes
-KillMode=mixed
+KillMode=none
SendSIGKILL=no

View File

@ -0,0 +1,238 @@
diff -Nura plymouth-0.9.5~git20220801.eb1b893/src/libply/ply-buffer.c plymouth-0.9.5~git20220801.eb1b893_new/src/libply/ply-buffer.c
--- plymouth-0.9.5~git20220801.eb1b893/src/libply/ply-buffer.c 2022-04-15 16:39:24.000000000 +0800
+++ plymouth-0.9.5~git20220801.eb1b893_new/src/libply/ply-buffer.c 2022-08-04 16:27:35.810694440 +0800
@@ -46,6 +46,10 @@
#define PLY_BUFFER_MAX_BUFFER_CAPACITY (255 * 4096)
#endif
+#ifndef PLY_BUFFER_MAX_LOG_BUFFER_CAPACITY
+#define PLY_BUFFER_MAX_LOG_BUFFER_CAPACITY (1024 * 4096)
+#endif
+
struct _ply_buffer
{
char *data;
@@ -67,6 +71,20 @@
return true;
}
+static bool
+ply_buffer_increase_log_capacity (ply_buffer_t *buffer)
+{
+ assert (buffer != NULL);
+
+ if ((buffer->capacity * 2) > PLY_BUFFER_MAX_LOG_BUFFER_CAPACITY)
+ return false;
+
+ buffer->capacity *= 2;
+
+ buffer->data = realloc (buffer->data, buffer->capacity);
+ return true;
+}
+
void
ply_buffer_remove_bytes (ply_buffer_t *buffer,
size_t bytes_to_remove)
@@ -205,6 +223,38 @@
}
void
+ply_buffer_append_log_bytes (ply_buffer_t *buffer,
+ const void *bytes_in,
+ size_t length)
+{
+ assert (buffer != NULL);
+ assert (bytes_in != NULL);
+ assert (length != 0);
+
+ const uint8_t *bytes = bytes_in;
+
+ if (length > PLY_BUFFER_MAX_BUFFER_CAPACITY)
+ {
+ bytes += length - (PLY_BUFFER_MAX_BUFFER_CAPACITY - 1);
+ length = (PLY_BUFFER_MAX_BUFFER_CAPACITY - 1);
+ }
+
+ while ((buffer->size + length) >= buffer->capacity)
+ {
+ if (!ply_buffer_increase_log_capacity (buffer))
+ ply_buffer_remove_bytes (buffer, length);
+ }
+
+ assert (buffer->size + length < buffer->capacity);
+
+ memcpy (buffer->data + buffer->size,
+ bytes, length);
+
+ buffer->size += length;
+ buffer->data[buffer->size] = '\0';
+}
+
+void
ply_buffer_append_from_fd (ply_buffer_t *buffer,
int fd)
{
diff -Nura plymouth-0.9.5~git20220801.eb1b893/src/libply/ply-buffer.h plymouth-0.9.5~git20220801.eb1b893_new/src/libply/ply-buffer.h
--- plymouth-0.9.5~git20220801.eb1b893/src/libply/ply-buffer.h 2022-04-15 16:39:24.000000000 +0800
+++ plymouth-0.9.5~git20220801.eb1b893_new/src/libply/ply-buffer.h 2022-08-04 16:27:35.810694440 +0800
@@ -35,6 +35,10 @@
const void *bytes,
size_t number_of_bytes);
+void ply_buffer_append_log_bytes (ply_buffer_t *buffer,
+ const void *bytes,
+ size_t length);
+
void ply_buffer_append_from_fd (ply_buffer_t *buffer,
int fd);
#define ply_buffer_append(buffer, format, args ...) \
diff -Nura plymouth-0.9.5~git20220801.eb1b893/src/main.c plymouth-0.9.5~git20220801.eb1b893_new/src/main.c
--- plymouth-0.9.5~git20220801.eb1b893/src/main.c 2022-08-02 21:28:28.000000000 +0800
+++ plymouth-0.9.5~git20220801.eb1b893_new/src/main.c 2022-08-04 17:37:22.768631505 +0800
@@ -1225,8 +1225,7 @@
}
/* do not let any tty opened where we could write after deactivate */
- if (ply_kernel_command_line_has_argument ("plymouth.debug"))
- ply_logger_close_file (ply_logger_get_error_default ());
+ ply_logger_close_file (ply_logger_get_error_default ());
}
static void
@@ -1853,77 +1852,42 @@
state->is_attached = false;
}
-static void
-check_verbosity (state_t *state)
+static void initialize_debug (state_t *state)
{
- char *stream;
-
- ply_trace ("checking if tracing should be enabled");
-
- if (!debug_buffer_path)
- debug_buffer_path = ply_kernel_command_line_get_key_value ("plymouth.debug=file:");
-
- stream = ply_kernel_command_line_get_key_value ("plymouth.debug=stream:");
- if (stream != NULL || debug_buffer_path != NULL ||
- ply_kernel_command_line_has_argument ("plymouth.debug")) {
- int fd;
-
- ply_trace ("tracing should be enabled!");
- if (!ply_is_tracing ())
- ply_toggle_tracing ();
-
- if (debug_buffer == NULL)
- debug_buffer = ply_buffer_new ();
-
- if (stream != NULL) {
- ply_trace ("streaming debug output to %s instead of screen", stream);
- fd = open (stream, O_RDWR | O_NOCTTY | O_CREAT, 0600);
-
- if (fd < 0)
- ply_trace ("could not stream output to %s: %m", stream);
- else
- ply_logger_set_output_fd (ply_logger_get_error_default (), fd);
- free (stream);
- } else {
- const char *device;
- char *file;
-
- device = state->default_tty;
-
- ply_trace ("redirecting debug output to %s", device);
-
- if (strncmp (device, "/dev/", strlen ("/dev/")) == 0)
- file = strdup (device);
- else
- asprintf (&file, "/dev/%s", device);
+ if (!ply_is_tracing ())
+ ply_toggle_tracing ();
- fd = open (file, O_RDWR | O_APPEND);
+ if (debug_buffer == NULL)
+ debug_buffer = ply_buffer_new ();
- if (fd < 0)
- ply_trace ("could not redirected debug output to %s: %m", device);
- else
- ply_logger_set_output_fd (ply_logger_get_error_default (), fd);
-
- free (file);
- }
- } else {
- ply_trace ("tracing shouldn't be enabled!");
- }
-
- if (debug_buffer != NULL) {
- if (debug_buffer_path == NULL) {
- if (state->mode == PLY_BOOT_SPLASH_MODE_SHUTDOWN ||
- state->mode == PLY_BOOT_SPLASH_MODE_REBOOT)
- debug_buffer_path = strdup (PLYMOUTH_LOG_DIRECTORY "/plymouth-shutdown-debug.log");
- else
- debug_buffer_path = strdup (PLYMOUTH_LOG_DIRECTORY "/plymouth-debug.log");
- }
+ char *stream = ply_kernel_command_line_get_key_value ("plymouth.debug=stream:");
+ if (stream != NULL)
+ {
+ int fd = open (stream, O_RDWR | O_NOCTTY | O_CREAT, 0600);
+ if (fd < 0)
+ ply_trace ("could not stream output to %s: %m", stream);
+ else
+ ply_logger_set_output_fd (ply_logger_get_error_default (), fd);
+ free (stream);
+ }
+
+ if (!debug_buffer_path)
+ debug_buffer_path = ply_kernel_command_line_get_key_value ("plymouth.debug=file:");
+
+ if (debug_buffer_path == NULL)
+ {
+ if (state->mode == PLY_BOOT_SPLASH_MODE_SHUTDOWN || state->mode == PLY_BOOT_SPLASH_MODE_REBOOT)
+ debug_buffer_path = strdup (PLYMOUTH_LOG_DIRECTORY "/plymouth-shutdown-debug.log");
+ else
+ debug_buffer_path = strdup (PLYMOUTH_LOG_DIRECTORY "/plymouth-debug.log");
+ }
- ply_logger_add_filter (ply_logger_get_error_default (),
- (ply_logger_filter_handler_t)
- on_error_message,
- debug_buffer);
- }
+ if (debug_buffer != NULL)
+ {
+ ply_logger_add_filter (ply_logger_get_error_default (),
+ (ply_logger_filter_handler_t) on_error_message,
+ debug_buffer);
+ }
}
static void
@@ -2007,7 +1971,7 @@
}
}
- check_verbosity (state);
+ initialize_debug (state);
check_logging (state);
ply_trace ("source built on %s", __DATE__);
@@ -2033,7 +1997,7 @@
const void *bytes,
size_t number_of_bytes)
{
- ply_buffer_append_bytes (debug_buffer, bytes, number_of_bytes);
+ ply_buffer_append_log_bytes (debug_buffer, bytes, number_of_bytes);
}
static void
@@ -2156,7 +2120,7 @@
bool should_help = false;
bool no_boot_log = false;
bool no_daemon = false;
- bool debug = false;
+ bool debug = true;
bool ignore_serial_consoles = false;
bool attach_to_session;
ply_daemon_handle_t *daemon_handle = NULL;

22
plymouth-manpages.patch Normal file
View File

@ -0,0 +1,22 @@
Index: plymouth-0.9.3+git20180807.7663b0c/docs/Makefile.am
===================================================================
--- plymouth-0.9.3+git20180807.7663b0c.orig/docs/Makefile.am 2018-08-07 17:41:15.000000000 +0200
+++ plymouth-0.9.3+git20180807.7663b0c/docs/Makefile.am 2018-08-17 19:58:25.330646165 +0200
@@ -16,12 +16,14 @@ plymouth.1: plymouth1.xml
%.1: %.xml
$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-man_MANS = \
+man1_MANS = \
plymouth.1 \
- plymouth.8 \
- plymouthd.8 \
plymouth-set-default-theme.1
+man8_MANS = \
+ plymouth.8 \
+ plymouthd.8
+
EXTRA_DIST = \
plymouth.xml \
plymouth1.xml \

View File

@ -0,0 +1,50 @@
From: Fabian Vogt <fvogt@suse.com>
Subject: force fb for cirrus and bochs, force drm otherwise
References: bsc#888590, bsc#980750
DRM does not work well with cirrus and bochs (no display) but the framebuffer driver
prevents DRM drivers from loading.
As we need to support cirrus for libvirt and bochs for QEMU, we cannot just remove support for frame-buffer.
diff -Nura plymouth-22.02.122+94.4bd41a3/src/libply-splash-core/ply-device-manager.c plymouth-22.02.122+94.4bd41a3_new/src/libply-splash-core/ply-device-manager.c
--- plymouth-22.02.122+94.4bd41a3/src/libply-splash-core/ply-device-manager.c 2022-10-26 19:09:02.000000000 +0800
+++ plymouth-22.02.122+94.4bd41a3_new/src/libply-splash-core/ply-device-manager.c 2022-10-27 00:07:06.605777003 +0800
@@ -316,6 +316,18 @@
subsystem = udev_device_get_subsystem (device);
ply_trace ("device subsystem is %s", subsystem);
+ const char *card_vendor = udev_device_get_sysattr_value (device, "device/vendor");
+ const char *card_device = udev_device_get_sysattr_value (device, "device/device");
+ bool use_fb = false;
+ if (card_vendor) {
+ /* Cirrus */
+ if (strcmp ("0x1013", card_vendor) == 0)
+ use_fb = true;
+ /* "Technical Corp", also used by bochs */
+ else if (strcmp ("0x1234", card_vendor) == 0)
+ use_fb = strcmp("0x1111", card_device) == 0;
+ }
+
if (strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
if (!manager->device_timeout_elapsed && !verify_drm_device (device)) {
ply_trace ("ignoring since we only handle SimpleDRM devices after timeout");
@@ -323,10 +335,18 @@
}
ply_trace ("found DRM device %s", device_path);
renderer_type = PLY_RENDERER_TYPE_DRM;
+ if (use_fb) {
+ ply_trace ("forcing use of framebuffer for cirrusdrmfb");
+ renderer_type = PLY_RENDERER_TYPE_NONE;
+ }
} else if (strcmp (subsystem, SUBSYSTEM_FRAME_BUFFER) == 0) {
ply_trace ("found frame buffer device %s", device_path);
- if (!fb_device_has_drm_device (manager, device))
+ if (use_fb) {
renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
+ }
+ else if (!fb_device_has_drm_device (manager, device)) {
+ ply_trace ("avoiding use of framebuffer to not block DRM drivers from working");
+ }
else if (force_fb)
renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
else

View File

@ -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 ]"

View File

@ -0,0 +1,53 @@
diff -Nura plymouth-0.9.5~git20220801.eb1b893/src/libply/ply-utils.c plymouth-0.9.5~git20220801.eb1b893_new/src/libply/ply-utils.c
--- plymouth-0.9.5~git20220801.eb1b893/src/libply/ply-utils.c 2022-08-02 21:28:28.000000000 +0800
+++ plymouth-0.9.5~git20220801.eb1b893_new/src/libply/ply-utils.c 2022-08-04 17:51:09.943348306 +0800
@@ -862,7 +862,7 @@
}
/* The minimum resolution at which we turn on a device-scale of 2 */
-#define HIDPI_LIMIT 192
+#define HIDPI_TWICE_LIMIT 160
#define HIDPI_MIN_HEIGHT 1200
int
@@ -874,8 +874,20 @@
int device_scale;
double dpi_x, dpi_y;
const char *force_device_scale;
-
device_scale = 1;
+ #define WIDTH_INCHS (width_mm / 25.4)
+ #define HEIGHT_INCHS (height_mm / 25.4)
+
+ if (width > 0 && height > 0 && width_mm > 0 && height_mm > 0) {
+ ply_trace("screen width is %d mm", width_mm);
+ ply_trace("screen height is %d mm", height_mm);
+ ply_trace("screen width pixels is %d.", width);
+ ply_trace("screen height pixels is %d.", height);
+ dpi_x = (double)width / WIDTH_INCHS;
+ ply_trace("screen width DPI is %lf", dpi_x);
+ dpi_y = (double)height / HEIGHT_INCHS;
+ ply_trace("screen height DPI is %lf", dpi_y);
+ }
if ((force_device_scale = getenv ("PLYMOUTH_FORCE_SCALE")))
return strtoul (force_device_scale, NULL, 0);
@@ -894,14 +906,10 @@
(width_mm == 16 && height_mm == 10))
return 1;
- if (width_mm > 0 && height_mm > 0) {
- dpi_x = (double) width / (width_mm / 25.4);
- dpi_y = (double) height / (height_mm / 25.4);
- /* We don't completely trust these values so both
- * must be high, and never pick higher ratio than
- * 2 automatically */
- if (dpi_x > HIDPI_LIMIT && dpi_y > HIDPI_LIMIT)
- device_scale = 2;
+ if (dpi_x > HIDPI_TWICE_LIMIT && dpi_y > HIDPI_TWICE_LIMIT)
+ {
+ device_scale = 2;
+ ply_trace("When DPI > 160, screen will scale output twice as community want.");
}
return device_scale;

View File

@ -0,0 +1,47 @@
From 9e69959ad2d7624936832421dfb0cd1fee47fefc Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Sun, 29 Jul 2012 20:38:50 +0200
Subject: [PATCH] Some greenish openSUSE colors
---
src/plugins/splash/text/plugin.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
Index: plymouth-0.9.3+git20180807.7663b0c/src/plugins/splash/text/plugin.c
===================================================================
--- plymouth-0.9.3+git20180807.7663b0c.orig/src/plugins/splash/text/plugin.c 2018-08-07 17:41:15.000000000 +0200
+++ plymouth-0.9.3+git20180807.7663b0c/src/plugins/splash/text/plugin.c 2018-08-17 19:57:50.786263802 +0200
@@ -174,10 +174,10 @@ view_start_animation (view_t *view)
0x2e3436);
ply_terminal_set_color_hex_value (terminal,
PLY_TERMINAL_COLOR_WHITE,
- 0xffffff);
+ 0x40ff00);
ply_terminal_set_color_hex_value (terminal,
PLY_TERMINAL_COLOR_BROWN,
- 0x979a9b);
+ 0x106000);
ply_text_display_set_background_color (view->display,
PLY_TERMINAL_COLOR_BLACK);
Index: plymouth-0.9.3+git20180807.7663b0c/src/plugins/splash/tribar/plugin.c
===================================================================
--- plymouth-0.9.3+git20180807.7663b0c.orig/src/plugins/splash/tribar/plugin.c 2018-08-07 17:41:15.000000000 +0200
+++ plymouth-0.9.3+git20180807.7663b0c/src/plugins/splash/tribar/plugin.c 2018-08-17 19:57:50.786263802 +0200
@@ -177,13 +177,13 @@ view_start_animation (view_t *view)
0x000000);
ply_terminal_set_color_hex_value (terminal,
PLY_TERMINAL_COLOR_WHITE,
- 0xffffff);
+ 0x40ff00);
ply_terminal_set_color_hex_value (terminal,
PLY_TERMINAL_COLOR_BLUE,
- 0x0073B3);
+ 0x20a000);
ply_terminal_set_color_hex_value (terminal,
PLY_TERMINAL_COLOR_BROWN,
- 0x00457E);
+ 0x106000);
ply_text_display_set_background_color (view->display,
PLY_TERMINAL_COLOR_BLACK);

View File

@ -0,0 +1,65 @@
diff -Nura plymouth-22.02.122+94.4bd41a3/scripts/plymouth-populate-initrd.in plymouth-22.02.122+94.4bd41a3_new/scripts/plymouth-populate-initrd.in
--- plymouth-22.02.122+94.4bd41a3/scripts/plymouth-populate-initrd.in 2022-10-27 12:28:09.250335251 +0800
+++ plymouth-22.02.122+94.4bd41a3_new/scripts/plymouth-populate-initrd.in 2022-10-27 14:41:01.624380841 +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 [ -f "${PLYMOUTH_PLUGIN_PATH}/label-freetype.so" ]; then
inst ${PLYMOUTH_PLUGIN_PATH}/label-freetype.so $INITRDDIR
font=$(fc-match -f %{file})
diff -Nura plymouth-22.02.122+94.4bd41a3/src/plugins/splash/two-step/plugin.c plymouth-22.02.122+94.4bd41a3_new/src/plugins/splash/two-step/plugin.c
--- plymouth-22.02.122+94.4bd41a3/src/plugins/splash/two-step/plugin.c 2022-08-13 20:58:13.000000000 +0800
+++ plymouth-22.02.122+94.4bd41a3_new/src/plugins/splash/two-step/plugin.c 2022-10-27 14:37:52.319120852 +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 ()) {
diff -Nura plymouth-22.02.122+94.4bd41a3/themes/bgrt/bgrt.plymouth.desktop plymouth-22.02.122+94.4bd41a3_new/themes/bgrt/bgrt.plymouth.desktop
--- plymouth-22.02.122+94.4bd41a3/themes/bgrt/bgrt.plymouth.desktop 2022-04-15 16:39:24.000000000 +0800
+++ plymouth-22.02.122+94.4bd41a3_new/themes/bgrt/bgrt.plymouth.desktop 2022-10-27 14:38:58.846563650 +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

1793
plymouth.changes Normal file

File diff suppressed because it is too large Load Diff

627
plymouth.spec Normal file
View File

@ -0,0 +1,627 @@
#
# spec file for package plymouth
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
# plymouth's X11 renderer adds many GTK3 packages to the build cycle,
# it is not used in the production environment.
%bcond_with x11_renderer
%global soversion 5
Name: plymouth
Version: 22.02.122+94.4bd41a3
Release: 0
Summary: Graphical Boot Animation and Logger
License: GPL-2.0-or-later
Group: System/Base
URL: https://www.freedesktop.org/wiki/Software/Plymouth
Source0: %{name}-%{version}.tar.xz
# PATCH-FIX-OPENSUSE plymouth-dracut-path.patch tittiatcoke@gmail.com -- Prefix is /usr/sbin and /usr/bin
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
Patch2: plymouth-manpages.patch
# PATCH-FIX-OPENSUSE plymouth-disable-fedora-logo.patch qzhao@suse.com -- Disable the fedora logo reference which is not in openSUSE.
Patch3: 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.
Patch4: 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.
Patch5: 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.
Patch6: 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.
Patch7: 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.
Patch8: plymouth-watermark-config.patch
# PATCH-FIX-OPENSUSE plymouth-log-on-default.patch bsc#1193736 qzhao@suse.com -- Enable plymouth log by default, help to resolve random appear problems.
Patch9: plymouth-log-on-default.patch
# PATCH-FIX-OPENSUSE plymouth-screen-twice-scale-on-160DPI-higher.patch boo#1183425 boo#1184309 qzhao@suse.com -- When DPI > 160, screen will scale output twice.
Patch10: plymouth-screen-twice-scale-on-160DPI-higher.patch
# PATCH-FIX-OPENSUSE plymouth-crash-avoid-on-keyboard-remove-input-handler.patch bsc#1193736 qzhao@suse.com -- Confirm keyboard handler list not NULL before release memory to avoid crash.
Patch11: plymouth-crash-avoid-on-keyboard-remove-input-handler.patch
BuildRequires: automake
BuildRequires: docbook-xsl-stylesheets
BuildRequires: gcc
BuildRequires: libtool
BuildRequires: libxslt
BuildRequires: pkgconfig
%if 0%{suse_version} >= 1550
# regenerate_initrd_post moved to rpm-config-SUSE:initrd.macros
BuildRequires: rpm-config-SUSE >= 0.g11
%else
BuildRequires: suse-module-tools
%endif
BuildRequires: intltool
BuildRequires: update-desktop-files
BuildRequires: xz
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libsystemd) >= 186
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(pango) >= 1.21.0
# needed for systemd-tty-ask-password-agent
BuildRequires: pkgconfig(systemd) >= 186
%if %{with x11_renderer}
BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0
%endif
Recommends: %{name}-lang
Requires: %{name}-branding
Requires: systemd >= 186
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
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.
%lang_package
%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 -n libply-boot-client%{soversion}
Summary: Plymouth core library
Group: System/Libraries
%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: System/Libraries
%description -n libply-splash-core%{soversion}
This package contains the libply-splash-core library
used by graphical Plymouth splashes.
%package -n libply-splash-graphics%{soversion}
Summary: Plymouth graphics libraries
Group: System/Libraries
BuildRequires: libpng-devel
%description -n libply-splash-graphics%{soversion}
This package contains the libply-splash-graphics library
used by graphical Plymouth splashes.
%package branding-upstream
Summary: Default configuration file and branding from the Plymouth upstream
Group: System/Base
Provides: %{name}-branding = %{version}
Conflicts: %{name}-branding
BuildArch: noarch
%description branding-upstream
This package contains the /usr/share/plymouthd.defaults which contains the basic
settings and branding from the upstream.
%package devel
Summary: Libraries and headers for writing Plymouth splash plugins
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%if %{with x11_renderer}
Requires: %{name}-x11-renderer = %{version}
%endif
Requires: libply%{soversion} = %{version}
Requires: libply-boot-client%{soversion} = %{version}
Requires: libply-splash-core%{soversion} = %{version}
Requires: libply-splash-graphics%{soversion} = %{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 dracut
Summary: Plymouth related utilities for dracut
Group: System/Base
Requires: %{name} = %{version}
Supplements: (plymouth and dracut)
BuildArch: noarch
%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: awk
Requires: dracut
Requires: grep
Requires: sed
Requires(pre): %{name} = %{version}
BuildArch: noarch
%description scripts
This package contains scripts that help integrate Plymouth with
the system.
%package plugin-label
Summary: Plymouth label plugin
Group: System/Base
Requires: libply-splash-graphics%{soversion} = %{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-label-ft
Summary: Plymouth FreeType label plugin
Group: System/Base
Requires: fontconfig
Requires: libply-splash-graphics%{soversion} = %{version}
%description plugin-label-ft
This package contains the label control plugin for
Plymouth. It provides the ability to render text on
graphical boot splashes using FreeType
%package plugin-fade-throbber
Summary: Plymouth "Fade-Throbber" plugin
Group: System/Base
Requires: libply%{soversion} = %{version}
Requires: libply-splash-core%{soversion} = %{version}
Requires: libply-splash-graphics%{soversion} = %{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-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}
%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%{soversion} = %{version}
Requires: libply-splash-core%{soversion} = %{version}
Requires: libply-splash-graphics%{soversion} = %{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%{soversion} = %{version}
Requires: libply-splash-core%{soversion} = %{version}
Requires: libply-splash-graphics%{soversion} = %{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 plugin-tribar
Summary: Plymouth "script" plugin
Group: System/Base
Requires: libply%{soversion} = %{version}
Requires: libply-splash-core%{soversion} = %{version}
Requires: libply-splash-graphics%{soversion} = %{version}
%description plugin-tribar
This package contains the "tribar" 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(post): %{name}-scripts
Requires(pre): %{name}
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-tribar
Summary: Plymouth "Tribar" theme
Group: System/Base
Requires: %{name}-plugin-tribar = %{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
autoreconf -ivf
%build
%configure \
--enable-systemd-integration \
--enable-tracing \
--disable-silent-rules \
--disable-static \
--disable-upstart-monitoring \
--disable-tests \
%if %{without x11_renderer}
--disable-gtk \
%endif
--with-release-file=%{_sysconfdir}/os-release \
--with-shutdown-tty=/dev/tty7 \
--with-background-start-color-stop=0x1A3D1F \
--with-background-end-color-stop=0x4EA65C \
--with-background-color=0x3391cd \
--runstatedir=/run \
--without-rhgb-compat-link \
--without-system-root-install
make %{?_smp_mflags}
%install
%make_install
# *.la are files generated during compilation, useless for final user.
find %{buildroot} -type f -name "*.la" -delete
# Glow isn't quite ready for primetime
rm -rf %{buildroot}%{_datadir}/plymouth/themes/glow/
# 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
# Move logrotate files from user specific directory /etc/logrotate.d to vendor specific directory /usr/etc/logrotate.d.
%if 0%{?suse_version} > 1500
mkdir -p %{buildroot}%{_distconfdir}/logrotate.d
mv %{buildroot}%{_sysconfdir}/logrotate.d/bootlog %{buildroot}%{_distconfdir}/logrotate.d/bootlog
%endif
# Split lang to seperate package.
%find_lang %{name}
%post
%{?regenerate_initrd_post}
%postun
%{?regenerate_initrd_post}
%if 0%{?suse_version} > 1500
%service_del_postun_without_restart plymouth-halt.service plymouth-kexec.service plymouth-poweroff.service plymouth-quit-wait.service plymouth-quit.service plymouth-read-write.service plymouth-reboot.service plymouth-start.service
%else
%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}
%if 0%{?suse_version} > 1500
%ldconfig_scriptlets -n libply-boot-client%{soversion}
%ldconfig_scriptlets -n libply-splash-core%{soversion}
%ldconfig_scriptlets -n libply-splash-graphics%{soversion}
%ldconfig_scriptlets -n libply%{soversion}
%else
%post -n libply-boot-client%{soversion} -p /sbin/ldconfig
%postun -n libply-boot-client%{soversion} -p /sbin/ldconfig
%post -n libply-splash-core%{soversion} -p /sbin/ldconfig
%postun -n libply-splash-core%{soversion} -p /sbin/ldconfig
%post -n libply-splash-graphics%{soversion} -p /sbin/ldconfig
%postun -n libply-splash-graphics%{soversion} -p /sbin/ldconfig
%post -n libply%{soversion} -p /sbin/ldconfig
%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
%dir %{_datadir}/plymouth
%dir %{_datadir}/plymouth/themes
%dir %{_datadir}/plymouth/themes/details
%dir %{_datadir}/plymouth/themes/text
%dir %{_sharedstatedir}/plymouth
%dir %{_libdir}/plymouth
%dir %{_libdir}/plymouth/renderers
%if 0%{?suse_version} > 1500
%{_distconfdir}/logrotate.d/bootlog
%else
%{_sysconfdir}/logrotate.d/bootlog
%endif
%{_bindir}/plymouth
%{_sbindir}/plymouthd
%{_libdir}/plymouth/details.so
%{_libdir}/plymouth/text.so
%{_libdir}/plymouth/renderers/drm*
%{_libdir}/plymouth/renderers/frame-buffer*
%{_datadir}/plymouth/themes/details/details.plymouth
%{_datadir}/plymouth/themes/text/text.plymouth
%{_datadir}/plymouth/bizcom.png
%ghost /run/plymouth
%{_localstatedir}/spool/plymouth
%{_mandir}/man?/*
%ghost %{_localstatedir}/lib/plymouth/boot-duration
%{_unitdir}/*
%ghost %{_localstatedir}/log/boot.log
%{_libexecdir}/plymouth/plymouthd-fd-escrow
%doc AUTHORS NEWS README.md ply_header.svg
%license COPYING
%files lang -f %{name}.lang
%files branding-upstream
%{_datadir}/plymouth/plymouthd.defaults
%files dracut
%{_libexecdir}/plymouth/plymouth-populate-initrd
%{_libexecdir}/plymouth/plymouth-generate-initrd
%files devel
%{_libdir}/libply.so
%{_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%{soversion}
%{_libdir}/libply.so*
%files -n libply-boot-client%{soversion}
%{_libdir}/libply-boot-client.so*
%files -n libply-splash-core%{soversion}
%{_libdir}/libply-splash-core.so*
%files -n libply-splash-graphics%{soversion}
%{_libdir}/libply-splash-graphics.so*
%files scripts
%dir %{_libexecdir}/plymouth
%{_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-pango.so
%files plugin-label-ft
%{_libdir}/plymouth/label-freetype.so
%files plugin-script
%{_libdir}/plymouth/script.so
%files plugin-space-flares
%{_libdir}/plymouth/space-flares.so
%files plugin-tribar
%{_libdir}/plymouth/tribar.so
%files plugin-two-step
%{_libdir}/plymouth/two-step.so
%files theme-bgrt
%{_datadir}/plymouth/themes/bgrt
%files theme-fade-in
%{_datadir}/plymouth/themes/fade-in
%files theme-spinfinity
%{_datadir}/plymouth/themes/spinfinity
%files theme-script
%{_datadir}/plymouth/themes/script
%files theme-spinner
%{_datadir}/plymouth/themes/spinner
%files theme-solar
%{_datadir}/plymouth/themes/solar
%files theme-tribar
%{_datadir}/plymouth/themes/tribar
%changelog