Compare commits
No commits in common. "26a1fb45ba8aad9561d975170622d24b96c5bc68" and "0efb00273b40f78f528acabcd167220314773665" have entirely different histories.
26a1fb45ba
...
0efb00273b
20
.gitignore
vendored
20
.gitignore
vendored
@ -1,20 +0,0 @@
|
|||||||
plymouth-0.8.4.tar.bz2
|
|
||||||
/plymouth-0.8.4.tar.bz2
|
|
||||||
/plymouth-0.8.5.tar.bz2
|
|
||||||
/plymouth-0.8.5.1.tar.bz2
|
|
||||||
/plymouth-0.8.6.tar.bz2
|
|
||||||
/plymouth-0.8.6.1.tar.bz2
|
|
||||||
/plymouth-0.8.6.2.tar.bz2
|
|
||||||
/plymouth-0.8.7.tar.bz2
|
|
||||||
/plymouth-0.8.8.tar.bz2
|
|
||||||
/plymouth-0.8.9.tar.bz2
|
|
||||||
/plymouth-0.9.3.tar.bz2
|
|
||||||
/plymouth-0.9.3.tar.xz
|
|
||||||
/plymouth-0.9.4.tar.xz
|
|
||||||
/plymouth-a8aad27.tar.gz
|
|
||||||
/plymouth-32c097c.tar.gz
|
|
||||||
/plymouth-58a7289.tar.gz
|
|
||||||
/plymouth-e31c81f.tar.gz
|
|
||||||
/plymouth-8a3c9bb.tar.gz
|
|
||||||
/plymouth-372b5f8.tar.gz
|
|
||||||
/plymouth-1ea1020.tar.gz
|
|
@ -1 +0,0 @@
|
|||||||
99c241db2da7e2e2d03acacd58c79b2fa19e13e3 plymouth-1ea1020.tar.gz
|
|
@ -1,26 +0,0 @@
|
|||||||
From 696f93e5996634473fb554e07ba2d0775be2a814 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Tue, 1 Oct 2019 12:11:09 +0200
|
|
||||||
Subject: [PATCH] Revert "configure: bump so name"
|
|
||||||
|
|
||||||
This reverts commit be27b260042e76aba988b88a4f26983247e02bde.
|
|
||||||
---
|
|
||||||
configure.ac | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 2257374..507145e 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -26,7 +26,7 @@ PKG_PROG_PKG_CONFIG
|
|
||||||
LT_INIT([dlopen disable-static pic-only])
|
|
||||||
|
|
||||||
## increment if the interface has additions, changes, removals.
|
|
||||||
-LT_CURRENT=5
|
|
||||||
+LT_CURRENT=4
|
|
||||||
|
|
||||||
## increment any time the source changes; set to
|
|
||||||
## 0 if you increment CURRENT
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
@ -1,158 +0,0 @@
|
|||||||
From 58161da08c108243d59d58c6c1f9d3c97bb9a3ad Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Mon, 7 Mar 2022 12:25:56 +0100
|
|
||||||
Subject: [PATCH 1/6] ply-utils: Reintroduce ply_string_has_prefix helper
|
|
||||||
|
|
||||||
ply_string_has_prefix was dropped in commit c7965ea19abf ("ply-utils:
|
|
||||||
Drop unused ply_string_has_prefix helper"). We have a need for this
|
|
||||||
helper again, so reintroduce it.
|
|
||||||
|
|
||||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
---
|
|
||||||
src/libply/ply-utils.c | 9 +++++++++
|
|
||||||
src/libply/ply-utils.h | 1 +
|
|
||||||
2 files changed, 10 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/libply/ply-utils.c b/src/libply/ply-utils.c
|
|
||||||
index f90ac40..f457579 100644
|
|
||||||
--- a/src/libply/ply-utils.c
|
|
||||||
+++ b/src/libply/ply-utils.c
|
|
||||||
@@ -432,60 +432,69 @@ ply_copy_string_array (const char *const *array)
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; array[i] != NULL; i++) {
|
|
||||||
}
|
|
||||||
|
|
||||||
copy = calloc (i + 1, sizeof(char *));
|
|
||||||
|
|
||||||
for (i = 0; array[i] != NULL; i++) {
|
|
||||||
copy[i] = strdup (array[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return copy;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
ply_free_string_array (char **array)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (array == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (i = 0; array[i] != NULL; i++) {
|
|
||||||
free (array[i]);
|
|
||||||
array[i] = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
free (array);
|
|
||||||
}
|
|
||||||
|
|
||||||
+bool
|
|
||||||
+ply_string_has_prefix (const char *str, const char *prefix)
|
|
||||||
+{
|
|
||||||
+ if (str == NULL || prefix == NULL)
|
|
||||||
+ return false;
|
|
||||||
+
|
|
||||||
+ return strncmp (str, prefix, strlen (prefix)) == 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
double
|
|
||||||
ply_get_timestamp (void)
|
|
||||||
{
|
|
||||||
const double nanoseconds_per_second = 1000000000.0;
|
|
||||||
double timestamp;
|
|
||||||
struct timespec now = { 0L, /* zero-filled */ };
|
|
||||||
|
|
||||||
clock_gettime (CLOCK_MONOTONIC, &now);
|
|
||||||
timestamp = ((nanoseconds_per_second * now.tv_sec) + now.tv_nsec) /
|
|
||||||
nanoseconds_per_second;
|
|
||||||
|
|
||||||
return timestamp;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
ply_save_errno (void)
|
|
||||||
{
|
|
||||||
assert (errno_stack_position < PLY_ERRNO_STACK_SIZE);
|
|
||||||
errno_stack[errno_stack_position] = errno;
|
|
||||||
errno_stack_position++;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
ply_restore_errno (void)
|
|
||||||
{
|
|
||||||
assert (errno_stack_position > 0);
|
|
||||||
errno_stack_position--;
|
|
||||||
errno = errno_stack[errno_stack_position];
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/libply/ply-utils.h b/src/libply/ply-utils.h
|
|
||||||
index d7b7622..b4565c3 100644
|
|
||||||
--- a/src/libply/ply-utils.h
|
|
||||||
+++ b/src/libply/ply-utils.h
|
|
||||||
@@ -56,60 +56,61 @@ typedef enum
|
|
||||||
#ifndef PLY_HIDE_FUNCTION_DECLARATIONS
|
|
||||||
|
|
||||||
#define ply_round_to_multiple(n, m) (((n) + (((m) - 1))) & ~((m) - 1))
|
|
||||||
|
|
||||||
bool ply_open_unidirectional_pipe (int *sender_fd,
|
|
||||||
int *receiver_fd);
|
|
||||||
int ply_connect_to_unix_socket (const char *path,
|
|
||||||
ply_unix_socket_type_t type);
|
|
||||||
int ply_listen_to_unix_socket (const char *path,
|
|
||||||
ply_unix_socket_type_t type);
|
|
||||||
bool ply_get_credentials_from_fd (int fd,
|
|
||||||
pid_t *pid,
|
|
||||||
uid_t *uid,
|
|
||||||
gid_t *gid);
|
|
||||||
|
|
||||||
bool ply_write (int fd,
|
|
||||||
const void *buffer,
|
|
||||||
size_t number_of_bytes);
|
|
||||||
bool ply_write_uint32 (int fd,
|
|
||||||
uint32_t value);
|
|
||||||
bool ply_read (int fd,
|
|
||||||
void *buffer,
|
|
||||||
size_t number_of_bytes);
|
|
||||||
bool ply_read_uint32 (int fd,
|
|
||||||
uint32_t *value);
|
|
||||||
|
|
||||||
bool ply_fd_has_data (int fd);
|
|
||||||
bool ply_set_fd_as_blocking (int fd);
|
|
||||||
char **ply_copy_string_array (const char *const *array);
|
|
||||||
void ply_free_string_array (char **array);
|
|
||||||
+bool ply_string_has_prefix (const char *str, const char *prefix);
|
|
||||||
double ply_get_timestamp (void);
|
|
||||||
|
|
||||||
void ply_save_errno (void);
|
|
||||||
void ply_restore_errno (void);
|
|
||||||
|
|
||||||
bool ply_directory_exists (const char *dir);
|
|
||||||
bool ply_file_exists (const char *file);
|
|
||||||
bool ply_character_device_exists (const char *device);
|
|
||||||
|
|
||||||
ply_module_handle_t *ply_open_module (const char *module_path);
|
|
||||||
ply_module_handle_t *ply_open_built_in_module (void);
|
|
||||||
|
|
||||||
ply_module_function_t ply_module_look_up_function (ply_module_handle_t *handle,
|
|
||||||
const char *function_name);
|
|
||||||
void ply_close_module (ply_module_handle_t *handle);
|
|
||||||
|
|
||||||
bool ply_create_directory (const char *directory);
|
|
||||||
bool ply_create_file_link (const char *source,
|
|
||||||
const char *destination);
|
|
||||||
void ply_show_new_kernel_messages (bool should_show);
|
|
||||||
|
|
||||||
ply_daemon_handle_t *ply_create_daemon (void);
|
|
||||||
bool ply_detach_daemon (ply_daemon_handle_t *handle,
|
|
||||||
int exit_code);
|
|
||||||
|
|
||||||
int ply_utf8_character_get_size (const char *string,
|
|
||||||
size_t n);
|
|
||||||
int ply_utf8_string_get_length (const char *string,
|
|
||||||
size_t n);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.37.0.rc1
|
|
||||||
|
|
@ -1,159 +0,0 @@
|
|||||||
From ccb1a425efa1a21ba0d6730b8eba030c5f1d4ada Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Mon, 28 Feb 2022 16:07:11 +0100
|
|
||||||
Subject: [PATCH 2/6] ply-device-manager: Treat SimpleDRM drm devices as fbdev
|
|
||||||
devices
|
|
||||||
|
|
||||||
Simple-framebuffer devices driven by simpledrm lack information
|
|
||||||
like panel-rotation info and physical size, causing the splash
|
|
||||||
to briefly render on its side / without HiDPI scaling, switching
|
|
||||||
to the correct rendering when the native driver loads.
|
|
||||||
|
|
||||||
To avoid this treat simpledrm devices as fbdev devices and only
|
|
||||||
use them after the timeout.
|
|
||||||
|
|
||||||
Also adds 2 exceptions to this:
|
|
||||||
|
|
||||||
1. If nomodeset is passed on the kernel commandline then no native
|
|
||||||
drivers will load, so in this case it is best to immediately use
|
|
||||||
SimpleDRM devices when they are detected.
|
|
||||||
|
|
||||||
2. On some devics the firmware leave the panel black at boot. In this
|
|
||||||
case it is desirable to show the splash to the user ASAP so that there
|
|
||||||
is some visual feedback that the device is booting. Add a support for a
|
|
||||||
"plymouth.use-simpledrm" kernel cmdline option to show the splash
|
|
||||||
immediately on SimpleDRM devices rather then waiting for the native
|
|
||||||
driver to load.
|
|
||||||
|
|
||||||
Closes #167
|
|
||||||
|
|
||||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
---
|
|
||||||
src/libply-splash-core/ply-device-manager.c | 39 +++++++++++++++++++++
|
|
||||||
1 file changed, 39 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
index aed7bac..b2484b4 100644
|
|
||||||
--- a/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -378,78 +378,117 @@ create_devices_for_subsystem (ply_device_manager_t *manager,
|
|
||||||
static void
|
|
||||||
on_drm_udev_add_or_change (ply_device_manager_t *manager,
|
|
||||||
const char *action,
|
|
||||||
const char *device_path,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
ply_renderer_t *renderer;
|
|
||||||
bool changed;
|
|
||||||
|
|
||||||
renderer = ply_hashtable_lookup (manager->renderers, (void *) device_path);
|
|
||||||
if (renderer == NULL) {
|
|
||||||
/* We also try to create the renderer again on change events,
|
|
||||||
* renderer creation fails when no outputs are connected and
|
|
||||||
* this may have changed.
|
|
||||||
*/
|
|
||||||
create_devices_for_udev_device (manager, device);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Renderer exists, bail if this is not a change event */
|
|
||||||
if (strcmp (action, "change"))
|
|
||||||
return;
|
|
||||||
|
|
||||||
changed = ply_renderer_handle_change_event (renderer);
|
|
||||||
if (changed) {
|
|
||||||
free_displays_for_renderer (manager, renderer);
|
|
||||||
create_pixel_displays_for_renderer (manager, renderer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+static bool
|
|
||||||
+verify_drm_device (struct udev_device *device)
|
|
||||||
+{
|
|
||||||
+ const char *id_path;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Simple-framebuffer devices driven by simpledrm lack information
|
|
||||||
+ * like panel-rotation info and physical size, causing the splash
|
|
||||||
+ * to briefly render on its side / without HiDPI scaling, switching
|
|
||||||
+ * to the correct rendering when the native driver loads.
|
|
||||||
+ * To avoid this treat simpledrm devices as fbdev devices and only
|
|
||||||
+ * use them after the timeout.
|
|
||||||
+ */
|
|
||||||
+ id_path = udev_device_get_property_value (device, "ID_PATH");
|
|
||||||
+ if (!ply_string_has_prefix (id_path, "platform-simple-framebuffer"))
|
|
||||||
+ return true; /* Not a SimpleDRM device */
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * With nomodeset, no native drivers will load, so SimpleDRM devices
|
|
||||||
+ * should be used immediately.
|
|
||||||
+ */
|
|
||||||
+ if (ply_kernel_command_line_has_argument ("nomodeset"))
|
|
||||||
+ return true;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Some firmwares leave the panel black at boot. Allow enabling SimpleDRM
|
|
||||||
+ * use from the cmdline to show something to the user ASAP.
|
|
||||||
+ */
|
|
||||||
+ if (ply_kernel_command_line_has_argument ("plymouth.use-simpledrm"))
|
|
||||||
+ return true;
|
|
||||||
+
|
|
||||||
+ return false;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static bool
|
|
||||||
verify_add_or_change (ply_device_manager_t *manager,
|
|
||||||
const char *action,
|
|
||||||
const char *device_path,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
const char *subsystem = udev_device_get_subsystem (device);
|
|
||||||
|
|
||||||
if (strcmp (action, "add") && strcmp (action, "change"))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
subsystem = udev_device_get_subsystem (device);
|
|
||||||
|
|
||||||
if (strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
|
|
||||||
if (manager->local_console_managed && manager->local_console_is_text) {
|
|
||||||
ply_trace ("ignoring since we're already using text splash for local console");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ if (!verify_drm_device (device)) {
|
|
||||||
+ ply_trace ("ignoring since we only handle SimpleDRM devices after timeout");
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
} else {
|
|
||||||
ply_trace ("ignoring since we only handle subsystem %s devices after timeout", subsystem);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
duplicate_device_path (ply_list_t *events, const char *device_path)
|
|
||||||
{
|
|
||||||
struct udev_device *device;
|
|
||||||
ply_list_node_t *node;
|
|
||||||
|
|
||||||
for (node = ply_list_get_first_node (events);
|
|
||||||
node; node = ply_list_get_next_node (events, node)) {
|
|
||||||
device = ply_list_node_get_data (node);
|
|
||||||
|
|
||||||
if (strcmp (udev_device_get_devnode (device), device_path) == 0)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
process_udev_add_or_change_events (ply_device_manager_t *manager, ply_list_t *events)
|
|
||||||
{
|
|
||||||
const char *action, *device_path;
|
|
||||||
struct udev_device *device;
|
|
||||||
--
|
|
||||||
2.37.0.rc1
|
|
||||||
|
|
@ -1,213 +0,0 @@
|
|||||||
From 7fbd59d04e971d327c3aaba417765f25c3168447 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Wed, 28 Sep 2022 15:14:00 +0200
|
|
||||||
Subject: [PATCH 3/6] ply-device-manager: Move verify_drm_device() higher up in
|
|
||||||
the file
|
|
||||||
|
|
||||||
Move verify_drm_device() higher up in ply-device-manager.c, this is
|
|
||||||
a preparation patch for the next patch in this series.
|
|
||||||
|
|
||||||
This is a pure move without any changes to the moved block.
|
|
||||||
|
|
||||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
---
|
|
||||||
src/libply-splash-core/ply-device-manager.c | 68 ++++++++++-----------
|
|
||||||
1 file changed, 34 insertions(+), 34 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
index b2484b4..015bd70 100644
|
|
||||||
--- a/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -236,60 +236,94 @@ fb_device_has_drm_device (ply_device_manager_t *manager,
|
|
||||||
ply_trace ("trying to find associated drm node for fb device (path: %s)", id_path);
|
|
||||||
|
|
||||||
udev_enumerate_scan_devices (card_matches);
|
|
||||||
|
|
||||||
/* there should only ever be at most one match so we don't iterate through
|
|
||||||
* the list, but just look at the first entry */
|
|
||||||
card_entry = udev_enumerate_get_list_entry (card_matches);
|
|
||||||
|
|
||||||
if (card_entry != NULL) {
|
|
||||||
struct udev_device *card_device = NULL;
|
|
||||||
const char *card_node;
|
|
||||||
const char *card_path;
|
|
||||||
|
|
||||||
card_path = udev_list_entry_get_name (card_entry);
|
|
||||||
card_device = udev_device_new_from_syspath (manager->udev_context, card_path);
|
|
||||||
card_node = udev_device_get_devnode (card_device);
|
|
||||||
if (card_node != NULL && drm_device_in_use (manager, card_node))
|
|
||||||
has_drm_device = true;
|
|
||||||
else
|
|
||||||
ply_trace ("no card node!");
|
|
||||||
|
|
||||||
udev_device_unref (card_device);
|
|
||||||
} else {
|
|
||||||
ply_trace ("no card entry!");
|
|
||||||
}
|
|
||||||
|
|
||||||
udev_enumerate_unref (card_matches);
|
|
||||||
return has_drm_device;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static bool
|
|
||||||
+verify_drm_device (struct udev_device *device)
|
|
||||||
+{
|
|
||||||
+ const char *id_path;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Simple-framebuffer devices driven by simpledrm lack information
|
|
||||||
+ * like panel-rotation info and physical size, causing the splash
|
|
||||||
+ * to briefly render on its side / without HiDPI scaling, switching
|
|
||||||
+ * to the correct rendering when the native driver loads.
|
|
||||||
+ * To avoid this treat simpledrm devices as fbdev devices and only
|
|
||||||
+ * use them after the timeout.
|
|
||||||
+ */
|
|
||||||
+ id_path = udev_device_get_property_value (device, "ID_PATH");
|
|
||||||
+ if (!ply_string_has_prefix (id_path, "platform-simple-framebuffer"))
|
|
||||||
+ return true; /* Not a SimpleDRM device */
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * With nomodeset, no native drivers will load, so SimpleDRM devices
|
|
||||||
+ * should be used immediately.
|
|
||||||
+ */
|
|
||||||
+ if (ply_kernel_command_line_has_argument ("nomodeset"))
|
|
||||||
+ return true;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Some firmwares leave the panel black at boot. Allow enabling SimpleDRM
|
|
||||||
+ * use from the cmdline to show something to the user ASAP.
|
|
||||||
+ */
|
|
||||||
+ if (ply_kernel_command_line_has_argument ("plymouth.use-simpledrm"))
|
|
||||||
+ return true;
|
|
||||||
+
|
|
||||||
+ return false;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static bool
|
|
||||||
create_devices_for_udev_device (ply_device_manager_t *manager,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
const char *device_path;
|
|
||||||
bool created = false;
|
|
||||||
|
|
||||||
device_path = udev_device_get_devnode (device);
|
|
||||||
|
|
||||||
if (device_path != NULL) {
|
|
||||||
const char *subsystem;
|
|
||||||
ply_renderer_type_t renderer_type = PLY_RENDERER_TYPE_NONE;
|
|
||||||
|
|
||||||
subsystem = udev_device_get_subsystem (device);
|
|
||||||
ply_trace ("device subsystem is %s", subsystem);
|
|
||||||
|
|
||||||
if (subsystem != NULL && strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
|
|
||||||
ply_trace ("found DRM device %s", device_path);
|
|
||||||
renderer_type = PLY_RENDERER_TYPE_DRM;
|
|
||||||
} 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))
|
|
||||||
renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
|
|
||||||
else
|
|
||||||
ply_trace ("ignoring, since there's a DRM device associated with it");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (renderer_type != PLY_RENDERER_TYPE_NONE) {
|
|
||||||
ply_terminal_t *terminal = NULL;
|
|
||||||
|
|
||||||
@@ -378,94 +412,60 @@ create_devices_for_subsystem (ply_device_manager_t *manager,
|
|
||||||
static void
|
|
||||||
on_drm_udev_add_or_change (ply_device_manager_t *manager,
|
|
||||||
const char *action,
|
|
||||||
const char *device_path,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
ply_renderer_t *renderer;
|
|
||||||
bool changed;
|
|
||||||
|
|
||||||
renderer = ply_hashtable_lookup (manager->renderers, (void *) device_path);
|
|
||||||
if (renderer == NULL) {
|
|
||||||
/* We also try to create the renderer again on change events,
|
|
||||||
* renderer creation fails when no outputs are connected and
|
|
||||||
* this may have changed.
|
|
||||||
*/
|
|
||||||
create_devices_for_udev_device (manager, device);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Renderer exists, bail if this is not a change event */
|
|
||||||
if (strcmp (action, "change"))
|
|
||||||
return;
|
|
||||||
|
|
||||||
changed = ply_renderer_handle_change_event (renderer);
|
|
||||||
if (changed) {
|
|
||||||
free_displays_for_renderer (manager, renderer);
|
|
||||||
create_pixel_displays_for_renderer (manager, renderer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-static bool
|
|
||||||
-verify_drm_device (struct udev_device *device)
|
|
||||||
-{
|
|
||||||
- const char *id_path;
|
|
||||||
-
|
|
||||||
- /*
|
|
||||||
- * Simple-framebuffer devices driven by simpledrm lack information
|
|
||||||
- * like panel-rotation info and physical size, causing the splash
|
|
||||||
- * to briefly render on its side / without HiDPI scaling, switching
|
|
||||||
- * to the correct rendering when the native driver loads.
|
|
||||||
- * To avoid this treat simpledrm devices as fbdev devices and only
|
|
||||||
- * use them after the timeout.
|
|
||||||
- */
|
|
||||||
- id_path = udev_device_get_property_value (device, "ID_PATH");
|
|
||||||
- if (!ply_string_has_prefix (id_path, "platform-simple-framebuffer"))
|
|
||||||
- return true; /* Not a SimpleDRM device */
|
|
||||||
-
|
|
||||||
- /*
|
|
||||||
- * With nomodeset, no native drivers will load, so SimpleDRM devices
|
|
||||||
- * should be used immediately.
|
|
||||||
- */
|
|
||||||
- if (ply_kernel_command_line_has_argument ("nomodeset"))
|
|
||||||
- return true;
|
|
||||||
-
|
|
||||||
- /*
|
|
||||||
- * Some firmwares leave the panel black at boot. Allow enabling SimpleDRM
|
|
||||||
- * use from the cmdline to show something to the user ASAP.
|
|
||||||
- */
|
|
||||||
- if (ply_kernel_command_line_has_argument ("plymouth.use-simpledrm"))
|
|
||||||
- return true;
|
|
||||||
-
|
|
||||||
- return false;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
static bool
|
|
||||||
verify_add_or_change (ply_device_manager_t *manager,
|
|
||||||
const char *action,
|
|
||||||
const char *device_path,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
const char *subsystem = udev_device_get_subsystem (device);
|
|
||||||
|
|
||||||
if (strcmp (action, "add") && strcmp (action, "change"))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
subsystem = udev_device_get_subsystem (device);
|
|
||||||
|
|
||||||
if (strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
|
|
||||||
if (manager->local_console_managed && manager->local_console_is_text) {
|
|
||||||
ply_trace ("ignoring since we're already using text splash for local console");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!verify_drm_device (device)) {
|
|
||||||
ply_trace ("ignoring since we only handle SimpleDRM devices after timeout");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ply_trace ("ignoring since we only handle subsystem %s devices after timeout", subsystem);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.37.0.rc1
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
|||||||
From 5a493ef808b769f4ccc4f3acc1ecf048b8e3efdc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Mon, 28 Feb 2022 16:20:43 +0100
|
|
||||||
Subject: [PATCH 4/6] ply-device-manager: Remove unnecessary subsystem != NULL
|
|
||||||
check
|
|
||||||
|
|
||||||
The ply-device-manager.c already assumes that the return value of
|
|
||||||
udev_device_get_subsystem () is never NULL in many places, including
|
|
||||||
in the condition of the "else if" just below the check which is
|
|
||||||
being removed.
|
|
||||||
|
|
||||||
Remove the one lonely check for it being NULL for consistency.
|
|
||||||
|
|
||||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
---
|
|
||||||
src/libply-splash-core/ply-device-manager.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
index 015bd70..6b7ccd6 100644
|
|
||||||
--- a/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -286,61 +286,61 @@ verify_drm_device (struct udev_device *device)
|
|
||||||
*/
|
|
||||||
if (ply_kernel_command_line_has_argument ("nomodeset"))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Some firmwares leave the panel black at boot. Allow enabling SimpleDRM
|
|
||||||
* use from the cmdline to show something to the user ASAP.
|
|
||||||
*/
|
|
||||||
if (ply_kernel_command_line_has_argument ("plymouth.use-simpledrm"))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
create_devices_for_udev_device (ply_device_manager_t *manager,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
const char *device_path;
|
|
||||||
bool created = false;
|
|
||||||
|
|
||||||
device_path = udev_device_get_devnode (device);
|
|
||||||
|
|
||||||
if (device_path != NULL) {
|
|
||||||
const char *subsystem;
|
|
||||||
ply_renderer_type_t renderer_type = PLY_RENDERER_TYPE_NONE;
|
|
||||||
|
|
||||||
subsystem = udev_device_get_subsystem (device);
|
|
||||||
ply_trace ("device subsystem is %s", subsystem);
|
|
||||||
|
|
||||||
- if (subsystem != NULL && strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
|
|
||||||
+ if (strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
|
|
||||||
ply_trace ("found DRM device %s", device_path);
|
|
||||||
renderer_type = PLY_RENDERER_TYPE_DRM;
|
|
||||||
} 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))
|
|
||||||
renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
|
|
||||||
else
|
|
||||||
ply_trace ("ignoring, since there's a DRM device associated with it");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (renderer_type != PLY_RENDERER_TYPE_NONE) {
|
|
||||||
ply_terminal_t *terminal = NULL;
|
|
||||||
|
|
||||||
if (!manager->local_console_managed) {
|
|
||||||
terminal = manager->local_console_terminal;
|
|
||||||
}
|
|
||||||
|
|
||||||
created = create_devices_for_terminal_and_renderer_type (manager,
|
|
||||||
device_path,
|
|
||||||
terminal,
|
|
||||||
renderer_type);
|
|
||||||
if (created) {
|
|
||||||
if (renderer_type == PLY_RENDERER_TYPE_DRM)
|
|
||||||
manager->found_drm_device = 1;
|
|
||||||
if (renderer_type == PLY_RENDERER_TYPE_FRAME_BUFFER)
|
|
||||||
manager->found_fb_device = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.37.0.rc1
|
|
||||||
|
|
@ -1,103 +0,0 @@
|
|||||||
From 406376fbe89078678d68392ea76151ecb4f0e30a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Mon, 28 Feb 2022 16:36:58 +0100
|
|
||||||
Subject: [PATCH 5/6] ply-device-manager: verify_add_or_change(): Move
|
|
||||||
local_console_is_text check
|
|
||||||
|
|
||||||
Move the local_console_is_text check outside of the
|
|
||||||
"if (subsytem == SUBSYSTEM_DRM)" block.
|
|
||||||
|
|
||||||
This check is equally relevant for SUBSYSTEM_FRAME_BUFFER.
|
|
||||||
|
|
||||||
Note by itself this is a no-op since verify_add_or_change() *always*
|
|
||||||
returns false for SUBSYSTEM_FRAME_BUFFER devices.
|
|
||||||
|
|
||||||
This is a preparation patch for making verify_add_or_change() not
|
|
||||||
return false when manager->device_timeout_elapsed is set.
|
|
||||||
|
|
||||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
---
|
|
||||||
src/libply-splash-core/ply-device-manager.c | 10 +++++-----
|
|
||||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
index 6b7ccd6..bff4982 100644
|
|
||||||
--- a/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -423,68 +423,68 @@ on_drm_udev_add_or_change (ply_device_manager_t *manager,
|
|
||||||
/* We also try to create the renderer again on change events,
|
|
||||||
* renderer creation fails when no outputs are connected and
|
|
||||||
* this may have changed.
|
|
||||||
*/
|
|
||||||
create_devices_for_udev_device (manager, device);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Renderer exists, bail if this is not a change event */
|
|
||||||
if (strcmp (action, "change"))
|
|
||||||
return;
|
|
||||||
|
|
||||||
changed = ply_renderer_handle_change_event (renderer);
|
|
||||||
if (changed) {
|
|
||||||
free_displays_for_renderer (manager, renderer);
|
|
||||||
create_pixel_displays_for_renderer (manager, renderer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
verify_add_or_change (ply_device_manager_t *manager,
|
|
||||||
const char *action,
|
|
||||||
const char *device_path,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
const char *subsystem = udev_device_get_subsystem (device);
|
|
||||||
|
|
||||||
if (strcmp (action, "add") && strcmp (action, "change"))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
+ if (manager->local_console_managed && manager->local_console_is_text) {
|
|
||||||
+ ply_trace ("ignoring since we're already using text splash for local console");
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
subsystem = udev_device_get_subsystem (device);
|
|
||||||
|
|
||||||
if (strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
|
|
||||||
- if (manager->local_console_managed && manager->local_console_is_text) {
|
|
||||||
- ply_trace ("ignoring since we're already using text splash for local console");
|
|
||||||
- return false;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
if (!verify_drm_device (device)) {
|
|
||||||
ply_trace ("ignoring since we only handle SimpleDRM devices after timeout");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ply_trace ("ignoring since we only handle subsystem %s devices after timeout", subsystem);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
duplicate_device_path (ply_list_t *events, const char *device_path)
|
|
||||||
{
|
|
||||||
struct udev_device *device;
|
|
||||||
ply_list_node_t *node;
|
|
||||||
|
|
||||||
for (node = ply_list_get_first_node (events);
|
|
||||||
node; node = ply_list_get_next_node (events, node)) {
|
|
||||||
device = ply_list_node_get_data (node);
|
|
||||||
|
|
||||||
if (strcmp (udev_device_get_devnode (device), device_path) == 0)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
--
|
|
||||||
2.37.0.rc1
|
|
||||||
|
|
@ -1,162 +0,0 @@
|
|||||||
From eb40956898e35121525e253305f6d40b45cfbf23 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Mon, 28 Feb 2022 16:36:58 +0100
|
|
||||||
Subject: [PATCH 6/6] ply-device-manager: verify_add_or_change(): Move
|
|
||||||
local_console_is_text check
|
|
||||||
|
|
||||||
Move the local_console_is_text check outside of the
|
|
||||||
"if (subsytem == SUBSYSTEM_DRM)" block.
|
|
||||||
|
|
||||||
This check is equally relevant for SUBSYSTEM_FRAME_BUFFER.
|
|
||||||
|
|
||||||
Note by itself this is a no-op since verify_add_or_change() *always*
|
|
||||||
returns false for SUBSYSTEM_FRAME_BUFFER devices.
|
|
||||||
|
|
||||||
This is a preparation patch for making verify_add_or_change() not
|
|
||||||
return false when manager->device_timeout_elapsed is set.
|
|
||||||
|
|
||||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
---
|
|
||||||
src/libply-splash-core/ply-device-manager.c | 11 +++++------
|
|
||||||
1 file changed, 5 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
index bff4982..29b26fc 100644
|
|
||||||
--- a/src/libply-splash-core/ply-device-manager.c
|
|
||||||
+++ b/src/libply-splash-core/ply-device-manager.c
|
|
||||||
@@ -287,60 +287,64 @@ verify_drm_device (struct udev_device *device)
|
|
||||||
if (ply_kernel_command_line_has_argument ("nomodeset"))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Some firmwares leave the panel black at boot. Allow enabling SimpleDRM
|
|
||||||
* use from the cmdline to show something to the user ASAP.
|
|
||||||
*/
|
|
||||||
if (ply_kernel_command_line_has_argument ("plymouth.use-simpledrm"))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
create_devices_for_udev_device (ply_device_manager_t *manager,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
const char *device_path;
|
|
||||||
bool created = false;
|
|
||||||
|
|
||||||
device_path = udev_device_get_devnode (device);
|
|
||||||
|
|
||||||
if (device_path != NULL) {
|
|
||||||
const char *subsystem;
|
|
||||||
ply_renderer_type_t renderer_type = PLY_RENDERER_TYPE_NONE;
|
|
||||||
|
|
||||||
subsystem = udev_device_get_subsystem (device);
|
|
||||||
ply_trace ("device subsystem is %s", subsystem);
|
|
||||||
|
|
||||||
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");
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
ply_trace ("found DRM device %s", device_path);
|
|
||||||
renderer_type = PLY_RENDERER_TYPE_DRM;
|
|
||||||
} 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))
|
|
||||||
renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
|
|
||||||
else
|
|
||||||
ply_trace ("ignoring, since there's a DRM device associated with it");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (renderer_type != PLY_RENDERER_TYPE_NONE) {
|
|
||||||
ply_terminal_t *terminal = NULL;
|
|
||||||
|
|
||||||
if (!manager->local_console_managed) {
|
|
||||||
terminal = manager->local_console_terminal;
|
|
||||||
}
|
|
||||||
|
|
||||||
created = create_devices_for_terminal_and_renderer_type (manager,
|
|
||||||
device_path,
|
|
||||||
terminal,
|
|
||||||
renderer_type);
|
|
||||||
if (created) {
|
|
||||||
if (renderer_type == PLY_RENDERER_TYPE_DRM)
|
|
||||||
manager->found_drm_device = 1;
|
|
||||||
if (renderer_type == PLY_RENDERER_TYPE_FRAME_BUFFER)
|
|
||||||
manager->found_fb_device = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -430,66 +434,61 @@ on_drm_udev_add_or_change (ply_device_manager_t *manager,
|
|
||||||
|
|
||||||
/* Renderer exists, bail if this is not a change event */
|
|
||||||
if (strcmp (action, "change"))
|
|
||||||
return;
|
|
||||||
|
|
||||||
changed = ply_renderer_handle_change_event (renderer);
|
|
||||||
if (changed) {
|
|
||||||
free_displays_for_renderer (manager, renderer);
|
|
||||||
create_pixel_displays_for_renderer (manager, renderer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
verify_add_or_change (ply_device_manager_t *manager,
|
|
||||||
const char *action,
|
|
||||||
const char *device_path,
|
|
||||||
struct udev_device *device)
|
|
||||||
{
|
|
||||||
const char *subsystem = udev_device_get_subsystem (device);
|
|
||||||
|
|
||||||
if (strcmp (action, "add") && strcmp (action, "change"))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (manager->local_console_managed && manager->local_console_is_text) {
|
|
||||||
ply_trace ("ignoring since we're already using text splash for local console");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
subsystem = udev_device_get_subsystem (device);
|
|
||||||
|
|
||||||
- if (strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
|
|
||||||
- if (!verify_drm_device (device)) {
|
|
||||||
- ply_trace ("ignoring since we only handle SimpleDRM devices after timeout");
|
|
||||||
- return false;
|
|
||||||
- }
|
|
||||||
- } else {
|
|
||||||
+ if (strcmp (subsystem, SUBSYSTEM_DRM)) {
|
|
||||||
ply_trace ("ignoring since we only handle subsystem %s devices after timeout", subsystem);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool
|
|
||||||
duplicate_device_path (ply_list_t *events, const char *device_path)
|
|
||||||
{
|
|
||||||
struct udev_device *device;
|
|
||||||
ply_list_node_t *node;
|
|
||||||
|
|
||||||
for (node = ply_list_get_first_node (events);
|
|
||||||
node; node = ply_list_get_next_node (events, node)) {
|
|
||||||
device = ply_list_node_get_data (node);
|
|
||||||
|
|
||||||
if (strcmp (udev_device_get_devnode (device), device_path) == 0)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
process_udev_add_or_change_events (ply_device_manager_t *manager, ply_list_t *events)
|
|
||||||
{
|
|
||||||
const char *action, *device_path;
|
|
||||||
struct udev_device *device;
|
|
||||||
ply_list_node_t *node;
|
|
||||||
--
|
|
||||||
2.37.0.rc1
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
[Plymouth Theme]
|
|
||||||
Name=Charge
|
|
||||||
Description=A theme that features the shadowy hull of a Fedora logo charge up and and finally burst into into full form.
|
|
||||||
ModuleName=two-step
|
|
||||||
|
|
||||||
[two-step]
|
|
||||||
ImageDir=/usr/share/plymouth/themes/charge
|
|
||||||
HorizontalAlignment=.5
|
|
||||||
VerticalAlignment=.5
|
|
||||||
Transition=none
|
|
||||||
TransitionDuration=0.0
|
|
||||||
BackgroundStartColor=0x202020
|
|
||||||
BackgroundEndColor=0x202020
|
|
@ -1,6 +0,0 @@
|
|||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-9
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}
|
|
@ -1,12 +0,0 @@
|
|||||||
addFilter("incorrect-fsf-address")
|
|
||||||
addFilter("no-manual-page-for-binary")
|
|
||||||
addFilter("no-documentation")
|
|
||||||
# Spinfinity has a symlink to /usr/share/pixmaps/system-logo-white.png
|
|
||||||
addFilter("dangling-symlink")
|
|
||||||
# Suppress the error from the ghosted /var/lib/plymouth/boot-duration file
|
|
||||||
addFilter("non-readable")
|
|
||||||
# Upstream (and RHEL) has named the logrotate file after the logfilename
|
|
||||||
# rather then after the package-name
|
|
||||||
addFilter("incoherent-logrotate-file")
|
|
||||||
# No provides, the throbgress plugin has been removed upstream
|
|
||||||
addFilter("W: obsolete-not-provided plymouth-plugin-throbgress")
|
|
568
plymouth.spec
568
plymouth.spec
@ -1,568 +0,0 @@
|
|||||||
%global commit 1ea1020dd18c99ef7547acc85d1cfbf88af626bb
|
|
||||||
%global commitdate 20210331
|
|
||||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
|
||||||
|
|
||||||
Summary: Graphical Boot Animation and Logger
|
|
||||||
Name: plymouth
|
|
||||||
Version: 0.9.5
|
|
||||||
Release: 6.%{commitdate}git%{shortcommit}%{?dist}
|
|
||||||
License: GPLv2+
|
|
||||||
URL: http://www.freedesktop.org/wiki/Software/Plymouth
|
|
||||||
|
|
||||||
# Pending upstream: https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/138/
|
|
||||||
Source0: https://gitlab.freedesktop.org/jwrdegoede/plymouth/-/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
|
|
||||||
#Source0: https://gitlab.freedesktop.org/plymouth/plymouth/-/archive/%%{commit}/%%{name}-%%{shortcommit}.tar.gz
|
|
||||||
Source2: charge.plymouth
|
|
||||||
|
|
||||||
Patch10001: 0001-ply-utils-Reintroduce-ply_string_has_prefix-helper.patch
|
|
||||||
Patch10002: 0002-ply-device-manager-Treat-SimpleDRM-drm-devices-as-fb.patch
|
|
||||||
Patch10003: 0003-ply-device-manager-Move-verify_drm_device-higher-up-.patch
|
|
||||||
Patch10004: 0004-ply-device-manager-Remove-unnecessary-subsystem-NULL.patch
|
|
||||||
Patch10005: 0005-ply-device-manager-verify_add_or_change-Move-local_c.patch
|
|
||||||
Patch10006: 0006-ply-device-manager-verify_add_or_change-Move-local_c.patch
|
|
||||||
|
|
||||||
# Upstream has bumped the soname because some obscure symbols were dropped,
|
|
||||||
# but we really do not want to change soname in Fedora during a cycle.
|
|
||||||
# The only libply* user in Fedora outside this pkg is plymouth-theme-breeze
|
|
||||||
# and that does not need the removed symbols.
|
|
||||||
Patch6660001: 0001-Revert-configure-bump-so-name.patch
|
|
||||||
|
|
||||||
Patch9999001: ship-label-plugin-in-initrd.patch
|
|
||||||
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: gcc libtool git
|
|
||||||
BuildRequires: pkgconfig(libdrm)
|
|
||||||
BuildRequires: pkgconfig(libudev)
|
|
||||||
BuildRequires: kernel-headers
|
|
||||||
BuildRequires: libpng-devel
|
|
||||||
BuildRequires: libxslt, docbook-style-xsl
|
|
||||||
BuildRequires: pkgconfig(gtk+-3.0)
|
|
||||||
BuildRequires: pango-devel >= 1.21.0
|
|
||||||
BuildRequires: cairo-devel
|
|
||||||
BuildRequires: gettext-devel
|
|
||||||
BuildRequires: intltool
|
|
||||||
|
|
||||||
Requires: %{name}-core-libs = %{version}-%{release}
|
|
||||||
Requires: %{name}-scripts = %{version}-%{release}
|
|
||||||
Suggests: logrotate
|
|
||||||
|
|
||||||
%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.
|
|
||||||
|
|
||||||
|
|
||||||
%package system-theme
|
|
||||||
Summary: Plymouth default theme
|
|
||||||
Requires: plymouth(system-theme) = %{version}-%{release}
|
|
||||||
|
|
||||||
%description system-theme
|
|
||||||
This meta-package tracks the current distribution default theme.
|
|
||||||
|
|
||||||
|
|
||||||
%package core-libs
|
|
||||||
Summary: Plymouth core libraries
|
|
||||||
|
|
||||||
%description core-libs
|
|
||||||
This package contains the core libraries used by Plymouth.
|
|
||||||
|
|
||||||
|
|
||||||
%package graphics-libs
|
|
||||||
Summary: Plymouth graphics libraries
|
|
||||||
Requires: %{name}-core-libs = %{version}-%{release}
|
|
||||||
Requires: system-logos
|
|
||||||
|
|
||||||
%description graphics-libs
|
|
||||||
This package contains the libraries used by graphical Plymouth splashes.
|
|
||||||
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Libraries and headers for writing Plymouth splash plugins
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Requires: pkgconfig
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package contains the libraries and headers needed to develop
|
|
||||||
3rd party splash plugins for Plymouth.
|
|
||||||
|
|
||||||
|
|
||||||
%package scripts
|
|
||||||
Summary: Plymouth related scripts
|
|
||||||
Requires: findutils, coreutils, gzip, cpio, dracut
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description scripts
|
|
||||||
This package contains scripts that help integrate Plymouth with
|
|
||||||
the system.
|
|
||||||
|
|
||||||
|
|
||||||
%package plugin-label
|
|
||||||
Summary: Plymouth label plugin
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Requires: %{name}-graphics-libs = %{version}-%{release}
|
|
||||||
|
|
||||||
%description plugin-label
|
|
||||||
This package contains the label control plugin for Plymouth.
|
|
||||||
It provides the ability to render text on graphical boot splashes.
|
|
||||||
|
|
||||||
|
|
||||||
%package plugin-script
|
|
||||||
Summary: Plymouth "script" plugin
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Requires: %{name}-graphics-libs = %{version}-%{release}
|
|
||||||
|
|
||||||
%description plugin-script
|
|
||||||
This package contains the "script" boot splash plugin for
|
|
||||||
Plymouth. It features an extensible boot splash language that
|
|
||||||
allows writing new plugins as scripts, simplifying the process
|
|
||||||
of designing custom boot splash themes.
|
|
||||||
|
|
||||||
|
|
||||||
%package plugin-fade-throbber
|
|
||||||
Summary: Plymouth "Fade-Throbber" plugin
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Requires: %{name}-graphics-libs = %{version}-%{release}
|
|
||||||
|
|
||||||
%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
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Requires: %{name}-graphics-libs = %{version}-%{release}
|
|
||||||
Requires: plymouth-plugin-label = %{version}-%{release}
|
|
||||||
|
|
||||||
%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
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
|
||||||
Requires: %{name}-graphics-libs = %{version}-%{release}
|
|
||||||
Requires: plymouth-plugin-label = %{version}-%{release}
|
|
||||||
# Spinifinity like themes should now use two-step instead of throbgress
|
|
||||||
# No provides, the throbgress plugin has been removed upstream
|
|
||||||
Obsoletes: %{name}-plugin-throbgress < %{version}-%{release}
|
|
||||||
|
|
||||||
%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 theme-charge
|
|
||||||
Summary: Plymouth "Charge" plugin
|
|
||||||
Requires: %{name}-plugin-two-step = %{version}-%{release}
|
|
||||||
Requires(post): plymouth-scripts
|
|
||||||
|
|
||||||
%description theme-charge
|
|
||||||
This package contains the "charge" boot splash theme for
|
|
||||||
Plymouth. It features the shadowy hull of a Fedora logo charge up and
|
|
||||||
and finally burst into full form.
|
|
||||||
|
|
||||||
|
|
||||||
%package theme-fade-in
|
|
||||||
Summary: Plymouth "Fade-In" theme
|
|
||||||
Requires: %{name}-plugin-fade-throbber = %{version}-%{release}
|
|
||||||
Requires(post): plymouth-scripts
|
|
||||||
|
|
||||||
%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-script
|
|
||||||
Summary: Plymouth "Script" plugin
|
|
||||||
Requires: %{name}-plugin-script = %{version}-%{release}
|
|
||||||
Requires(post): plymouth-scripts
|
|
||||||
|
|
||||||
%description theme-script
|
|
||||||
This package contains the "script" boot splash theme for
|
|
||||||
Plymouth. It it is a simple example theme the uses the "script"
|
|
||||||
plugin.
|
|
||||||
|
|
||||||
|
|
||||||
%package theme-solar
|
|
||||||
Summary: Plymouth "Solar" theme
|
|
||||||
Requires: %{name}-plugin-space-flares = %{version}-%{release}
|
|
||||||
Requires(post): plymouth-scripts
|
|
||||||
|
|
||||||
%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-spinfinity
|
|
||||||
Summary: Plymouth "Spinfinity" theme
|
|
||||||
Requires: %{name}-plugin-two-step = %{version}-%{release}
|
|
||||||
Requires(post): plymouth-scripts
|
|
||||||
|
|
||||||
%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
|
|
||||||
Requires: %{name}-plugin-two-step = %{version}-%{release}
|
|
||||||
Requires: font(cantarell) font(cantarelllight)
|
|
||||||
Requires(post): plymouth-scripts
|
|
||||||
Provides: plymouth(system-theme) = %{version}-%{release}
|
|
||||||
|
|
||||||
%description theme-spinner
|
|
||||||
This package contains the "spinner" boot splash theme for
|
|
||||||
Plymouth. It features a small spinner on a dark background.
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%autosetup -p1 -n %{name}-%{commit}
|
|
||||||
autoreconf --install --symlink -Wno-portability
|
|
||||||
# Change the default theme
|
|
||||||
sed -i -e 's/spinner/bgrt/g' src/plymouthd.defaults
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
|
||||||
%configure --enable-tracing \
|
|
||||||
--with-logo=%{_datadir}/pixmaps/system-logo-white.png \
|
|
||||||
--with-background-start-color-stop=0x0073B3 \
|
|
||||||
--with-background-end-color-stop=0x00457E \
|
|
||||||
--with-background-color=0x3391cd \
|
|
||||||
--with-runtimedir=/run \
|
|
||||||
--disable-gdm-transition \
|
|
||||||
--enable-systemd-integration \
|
|
||||||
--without-system-root-install \
|
|
||||||
--without-rhgb-compat-link
|
|
||||||
%make_build
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
|
||||||
%make_install
|
|
||||||
%find_lang %{name}
|
|
||||||
find $RPM_BUILD_ROOT -name '*.la' -delete
|
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/plymouth
|
|
||||||
|
|
||||||
# Add charge, our old default
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge
|
|
||||||
cp %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge
|
|
||||||
cp $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow/{box,bullet,entry,lock}.png $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/charge
|
|
||||||
|
|
||||||
# Drop glow, it's not very Fedora-y
|
|
||||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow
|
|
||||||
|
|
||||||
|
|
||||||
%ldconfig_scriptlets core-libs
|
|
||||||
|
|
||||||
%ldconfig_scriptlets graphics-libs
|
|
||||||
|
|
||||||
%postun theme-charge
|
|
||||||
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
|
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "charge" ]; then
|
|
||||||
%{_sbindir}/plymouth-set-default-theme --reset
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun theme-fade-in
|
|
||||||
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
|
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "fade-in" ]; then
|
|
||||||
%{_sbindir}/plymouth-set-default-theme --reset
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun theme-solar
|
|
||||||
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
|
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "solar" ]; then
|
|
||||||
%{_sbindir}/plymouth-set-default-theme --reset
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun theme-spinfinity
|
|
||||||
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
|
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinfinity" ]; then
|
|
||||||
%{_sbindir}/plymouth-set-default-theme --reset
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%post theme-spinner
|
|
||||||
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
|
|
||||||
# On upgrades replace charge with the new bgrt default
|
|
||||||
if [ $1 -eq 2 ]; then
|
|
||||||
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "charge" ]; then
|
|
||||||
%{_sbindir}/plymouth-set-default-theme bgrt
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun theme-spinner
|
|
||||||
export PLYMOUTH_PLUGIN_PATH=%{_libdir}/plymouth/
|
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "bgrt" -o \
|
|
||||||
"$(%{_sbindir}/plymouth-set-default-theme)" == "spinner" ]; then
|
|
||||||
%{_sbindir}/plymouth-set-default-theme --reset
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
%files -f %{name}.lang
|
|
||||||
%license COPYING
|
|
||||||
%doc AUTHORS README
|
|
||||||
%dir %{_datadir}/plymouth
|
|
||||||
%dir %{_datadir}/plymouth/themes
|
|
||||||
%dir %{_datadir}/plymouth/themes/details
|
|
||||||
%dir %{_datadir}/plymouth/themes/text
|
|
||||||
%dir %{_libexecdir}/plymouth
|
|
||||||
%dir %{_localstatedir}/lib/plymouth
|
|
||||||
%dir %{_libdir}/plymouth/renderers
|
|
||||||
%dir %{_sysconfdir}/plymouth
|
|
||||||
%config(noreplace) %{_sysconfdir}/plymouth/plymouthd.conf
|
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/bootlog
|
|
||||||
%{_sbindir}/plymouthd
|
|
||||||
%{_libexecdir}/plymouth/plymouthd-drm-escrow
|
|
||||||
%{_bindir}/plymouth
|
|
||||||
%{_libdir}/plymouth/details.so
|
|
||||||
%{_libdir}/plymouth/text.so
|
|
||||||
%{_libdir}/plymouth/tribar.so
|
|
||||||
%{_datadir}/plymouth/themes/details/details.plymouth
|
|
||||||
%{_datadir}/plymouth/themes/text/text.plymouth
|
|
||||||
%{_datadir}/plymouth/themes/tribar/tribar.plymouth
|
|
||||||
%{_datadir}/plymouth/plymouthd.defaults
|
|
||||||
%{_localstatedir}/spool/plymouth
|
|
||||||
%{_mandir}/man?/*
|
|
||||||
%ghost %{_localstatedir}/lib/plymouth/boot-duration
|
|
||||||
%{_prefix}/lib/systemd/system/
|
|
||||||
|
|
||||||
%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
|
|
||||||
%{_libdir}/plymouth/renderers/x11*
|
|
||||||
%{_includedir}/plymouth-1
|
|
||||||
|
|
||||||
%files core-libs
|
|
||||||
%{_libdir}/libply.so.*
|
|
||||||
%{_libdir}/libply-splash-core.so.*
|
|
||||||
%{_libdir}/libply-boot-client.so.*
|
|
||||||
%dir %{_libdir}/plymouth
|
|
||||||
|
|
||||||
%files graphics-libs
|
|
||||||
%{_libdir}/libply-splash-graphics.so.*
|
|
||||||
%{_libdir}/plymouth/renderers/drm*
|
|
||||||
%{_libdir}/plymouth/renderers/frame-buffer*
|
|
||||||
|
|
||||||
%files scripts
|
|
||||||
%{_sbindir}/plymouth-set-default-theme
|
|
||||||
%{_libexecdir}/plymouth/plymouth-update-initrd
|
|
||||||
%{_libexecdir}/plymouth/plymouth-generate-initrd
|
|
||||||
%{_libexecdir}/plymouth/plymouth-populate-initrd
|
|
||||||
|
|
||||||
%files plugin-label
|
|
||||||
%{_libdir}/plymouth/label.so
|
|
||||||
|
|
||||||
%files plugin-script
|
|
||||||
%{_libdir}/plymouth/script.so
|
|
||||||
|
|
||||||
%files plugin-fade-throbber
|
|
||||||
%{_libdir}/plymouth/fade-throbber.so
|
|
||||||
|
|
||||||
%files plugin-space-flares
|
|
||||||
%{_libdir}/plymouth/space-flares.so
|
|
||||||
|
|
||||||
%files plugin-two-step
|
|
||||||
%{_libdir}/plymouth/two-step.so
|
|
||||||
|
|
||||||
%files theme-charge
|
|
||||||
%{_datadir}/plymouth/themes/charge
|
|
||||||
|
|
||||||
%files theme-fade-in
|
|
||||||
%{_datadir}/plymouth/themes/fade-in
|
|
||||||
|
|
||||||
%files theme-script
|
|
||||||
%{_datadir}/plymouth/themes/script
|
|
||||||
|
|
||||||
%files theme-solar
|
|
||||||
%{_datadir}/plymouth/themes/solar
|
|
||||||
|
|
||||||
%files theme-spinfinity
|
|
||||||
%{_datadir}/plymouth/themes/spinfinity
|
|
||||||
|
|
||||||
%files theme-spinner
|
|
||||||
# bgrt is a variant of spinner with different settings in its .plymouth file
|
|
||||||
%{_datadir}/plymouth/themes/bgrt
|
|
||||||
%{_datadir}/plymouth/themes/spinner
|
|
||||||
|
|
||||||
%files system-theme
|
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Wed Nov 16 2022 Ray Strode <rstrode@redhat.com> - 0.9.5-6.20210331git%(c=%{commit}; echo ${c:0:7})
|
|
||||||
- Backport simpledrm patches from upstream
|
|
||||||
Resolves: #2104910
|
|
||||||
|
|
||||||
* Mon Jan 31 2022 Ray Strode <rstrode@redhat.com> - 0.9.5-5.20210331git1ea1020
|
|
||||||
- Ship label plugin in initramfs
|
|
||||||
Resolves: #2017138
|
|
||||||
|
|
||||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.9.5-4.20210331git1ea1020
|
|
||||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
|
||||||
Related: rhbz#1991688
|
|
||||||
|
|
||||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.9.5-3.20210331git1ea1020
|
|
||||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
||||||
|
|
||||||
* Wed Mar 31 2021 Hans de Goede <hdegoede@redhat.com> - 0.9.5-2.20210331git1ea1020
|
|
||||||
- New git snapshot
|
|
||||||
- Fixes 1933378 - Bootsplash doesn't always fully clear on boot to console
|
|
||||||
- Fixes 1941329 - Flickering plymouth on shutdown/reboot
|
|
||||||
- Prune spec-file changelog a bit
|
|
||||||
|
|
||||||
* Tue Mar 23 2021 Hans de Goede <hdegoede@redhat.com> - 0.9.5-1.20210323git8a3c9bb
|
|
||||||
- Update to 0.9.5 + a bunch of extra fixes from git (new upstream git snapshot)
|
|
||||||
- Fixes 1896929 - systemd complains about Unit configured to use KillMode=none
|
|
||||||
|
|
||||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-17.20200325gite31c81f
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-16.20200325gite31c81f
|
|
||||||
- Second attempt - Rebuilt for
|
|
||||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-15.20200325gite31c81f
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Mar 25 2020 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-14.20200306git58a7289
|
|
||||||
- New upstream git snapshot
|
|
||||||
- Add RemainAfterExit=yes to plymouth's systemd service files (rhbz#1807771)
|
|
||||||
- Fix the spinner / animation missing on shutdown and reboot
|
|
||||||
|
|
||||||
* Mon Mar 9 2020 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-13.20200306git58a7289
|
|
||||||
- Add patches fixing crash on monitor hot(un)plug (rhbz#1809681)
|
|
||||||
- Add patches fixing delay between gdm telling us to deactivate and
|
|
||||||
us telling gdm it is ok to continue
|
|
||||||
- Drop plymouth-plugin-throbgress sub-package, the spinfinity theme now
|
|
||||||
uses the two-step plugin
|
|
||||||
|
|
||||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-12.20191022git32c097c
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Oct 22 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-11.20191022git32c097c
|
|
||||||
- Drop our private plymouth-update-initrd copy, it is identical to upstream
|
|
||||||
- New upstream git snapshot, with the following fixes:
|
|
||||||
- Tweaks to the spinner/bgrt themes to match the gdm/gnome-shell lock screen
|
|
||||||
password entry style tweaks done in GNOME 3.34
|
|
||||||
- Move the keyboard layout and capslock indicator closer to the text field
|
|
||||||
- Fix flickering below spinner on hidpi displays:
|
|
||||||
https://gitlab.freedesktop.org/plymouth/plymouth/issues/83
|
|
||||||
- Add logrotate file for /var/log/boot.log so that it does not grow endlessly:
|
|
||||||
https://gitlab.freedesktop.org/plymouth/plymouth/issues/31
|
|
||||||
- Some bgrt fixes for devices with non-upright mounted LCD panels
|
|
||||||
|
|
||||||
* Tue Oct 1 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-10.20191001gita8aad27
|
|
||||||
- We are carrying so much patches from upstream that we are practically
|
|
||||||
following upstream master, switch to a git snapshot
|
|
||||||
- Add keyboard layout and capslock state indicator support (rhbz#825406)
|
|
||||||
- Fix "Installing Updates..." text being rendered all garbled on devices
|
|
||||||
where the panel is mounted 90 degrees rotated (rhbz#1753418)
|
|
||||||
|
|
||||||
* Sat Sep 7 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-9
|
|
||||||
- Add a patch fixing issues when using cards which default to the radeon
|
|
||||||
kms driver with the amdgpu kms driver (rhbz#1490490)
|
|
||||||
- Extend default DeviceTimeout to 8 seconds (rhbz#1737221)
|
|
||||||
|
|
||||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-8
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 19 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-7
|
|
||||||
- One more patch for dealing with some devices with a non-upright mounted
|
|
||||||
LCD-panel (rhbz#1730783)
|
|
||||||
|
|
||||||
* Wed Jun 12 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-6
|
|
||||||
- Add patches from upstream for:
|
|
||||||
- Fix failing to pick the native monitor mode starting with kernel 5.2
|
|
||||||
- Fix firmware bootsplash support for devices which use the new
|
|
||||||
(in ACPI 6.2) rotation bits in the BGRT header
|
|
||||||
- Add support for firmware-upgrade mode
|
|
||||||
|
|
||||||
* Mon Mar 25 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-5
|
|
||||||
- Update bgrt/spinner background to solid black to make the experience on
|
|
||||||
systems where we do not show the firmware boot-splash consistent with
|
|
||||||
systems where we do show the firmware boot-splash
|
|
||||||
- Update translations
|
|
||||||
|
|
||||||
* Mon Mar 4 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-4
|
|
||||||
- Add translations for the new spinner/bgrt offline-updates splash
|
|
||||||
|
|
||||||
* Wed Feb 13 2019 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.4-3
|
|
||||||
- Add patches from upstream for:
|
|
||||||
- Monitor hotplug support, this fixes issues with monitors on DP-MST
|
|
||||||
docs sometimes not lighting up (rhbz#1652279)
|
|
||||||
- Adding support for using the firmware's bootsplash as theme background
|
|
||||||
- New bgrt theme which implements the boot-theme design from:
|
|
||||||
https://wiki.gnome.org/Design/OS/BootProgress
|
|
||||||
Including the new theming for offline-updates shown there
|
|
||||||
- Make the bgrt theme the new default and upgrade systems which are using the
|
|
||||||
charge theme, which is the old default to use the new bgrt theme
|
|
||||||
- Cleanup the spec-file a bit:
|
|
||||||
- Remove unused / unnecessary %%global variables
|
|
||||||
- Sort the sections for the various plugins and themes alphabetically
|
|
||||||
- Simplify theme filelists
|
|
||||||
|
|
||||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Nov 05 2018 Ray Strode <rstrode@redhat.com> - 0.9.4-1
|
|
||||||
- Update to 0.9.4
|
|
||||||
|
|
||||||
* Thu Oct 04 2018 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.3-14
|
|
||||||
- Add patches from upstream to fix the disk unlock screen sometimes having
|
|
||||||
a very low resolution on UEFI machines:
|
|
||||||
https://gitlab.freedesktop.org/plymouth/plymouth/issues/68
|
|
||||||
|
|
||||||
* Mon Aug 06 2018 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.3-13
|
|
||||||
- Update patches for CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER interaction
|
|
||||||
to the latest patches from master, this fixes the transition from plymouth
|
|
||||||
to gdm being non smooth
|
|
||||||
- Drop unused default-boot-duration file (rhbz#1456010)
|
|
||||||
|
|
||||||
* Thu Aug 2 2018 Peter Robinson <pbrobinson@fedoraproject.org> 0.9.3-12
|
|
||||||
- Drop groups in spec
|
|
||||||
- Drop requires on initscripts (rhbz 1592383)
|
|
||||||
|
|
||||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-11
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jul 02 2018 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.3-10
|
|
||||||
- Add patches from upstream fixing details view on kernels build with
|
|
||||||
CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
|
|
||||||
|
|
||||||
* Wed Jun 06 2018 Adam Williamson <awilliam@redhat.com> - 0.9.3-9
|
|
||||||
- Backport patch to avoid loading renderers on non-rhgb boot
|
|
||||||
- Backport patch to handle 'rhgb' but no renderers available
|
|
||||||
- Move frame-buffer rendererer back to graphics-libs subpackage
|
|
||||||
|
|
||||||
* Mon Jun 04 2018 Adam Williamson <awilliam@redhat.com> - 0.9.3-8
|
|
||||||
- Move frame-buffer and drm renderers back to main package
|
|
||||||
Having both in subpackage breaks minimal installs with rhgb
|
|
||||||
|
|
||||||
* Fri Jun 01 2018 Adam Williamson <awilliam@redhat.com> - 0.9.3-7
|
|
||||||
- Move frame-buffer renderer to graphics-libs
|
|
||||||
- Resolves: #1518464
|
|
||||||
|
|
||||||
* Sun Apr 15 2018 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.3-6
|
|
||||||
- Add patches from upstream git for devices with non upright mounted LCD panels
|
|
||||||
https://bugs.freedesktop.org/show_bug.cgi?id=104714
|
|
@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
emptyrpm:
|
|
||||||
expected_empty:
|
|
||||||
- plymouth
|
|
@ -1,155 +0,0 @@
|
|||||||
From 0f44635c348f99aeb7b7c24d88a26aa2202c4396 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
|
||||||
Date: Mon, 17 Jun 2019 13:54:42 -0400
|
|
||||||
Subject: [PATCH] populate-initrd: ship label plugin
|
|
||||||
|
|
||||||
This gives us font rendering at early boot.
|
|
||||||
---
|
|
||||||
scripts/plymouth-populate-initrd.in | 23 +++++++++++++++++++++--
|
|
||||||
1 file changed, 21 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/scripts/plymouth-populate-initrd.in b/scripts/plymouth-populate-initrd.in
|
|
||||||
index 66acdde..7ad6409 100755
|
|
||||||
--- a/scripts/plymouth-populate-initrd.in
|
|
||||||
+++ b/scripts/plymouth-populate-initrd.in
|
|
||||||
@@ -1,56 +1,57 @@
|
|
||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# inst bits ruthlessly and viciously stolen from dracut
|
|
||||||
|
|
||||||
[ -z "$DESTDIR" ] || exit 0
|
|
||||||
|
|
||||||
# For running on a (cross-compiled) sysroot, the following
|
|
||||||
# settings are needed:
|
|
||||||
# PLYMOUTH_SYSROOT - the sysroot directory
|
|
||||||
# PLYMOUTH_LDD - an optional ldd command that works on foreign binaries
|
|
||||||
# PLYMOUTH_LDD_PATH - optional PATH ldd is run with
|
|
||||||
|
|
||||||
[ -z "$PLYMOUTH_LDD" ] && PLYMOUTH_LDD="ldd"
|
|
||||||
[ -z "$PLYMOUTH_LDD_PATH" ] && PLYMOUTH_LDD_PATH="$PATH"
|
|
||||||
[ -z "$PLYMOUTH_LIBEXECDIR" ] && PLYMOUTH_LIBEXECDIR="@PLYMOUTH_LIBEXECDIR@"
|
|
||||||
[ -z "$PLYMOUTH_DATADIR" ] && PLYMOUTH_DATADIR="@PLYMOUTH_DATADIR@"
|
|
||||||
[ -z "$PLYMOUTH_PLUGIN_PATH" ] && PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)"
|
|
||||||
[ -z "$PLYMOUTH_LOGO_FILE" ] && PLYMOUTH_LOGO_FILE="@PLYMOUTH_LOGO_FILE@"
|
|
||||||
[ -n "$PLYMOUTH_THEME_NAME" ] && THEME_OVERRIDE=1
|
|
||||||
[ -z "$PLYMOUTH_THEME_NAME" ] && PLYMOUTH_THEME_NAME=$(plymouth-set-default-theme)
|
|
||||||
[ -z "$PLYMOUTH_CONFDIR" ] && PLYMOUTH_CONFDIR="@PLYMOUTH_CONF_DIR@"
|
|
||||||
[ -z "$PLYMOUTH_POLICYDIR" ] && PLYMOUTH_POLICYDIR="@PLYMOUTH_POLICY_DIR@"
|
|
||||||
[ -z "$PLYMOUTH_DAEMON_PATH" ] && PLYMOUTH_DAEMON_PATH="@PLYMOUTH_DAEMON_DIR@/plymouthd"
|
|
||||||
[ -z "$PLYMOUTH_CLIENT_PATH" ] && PLYMOUTH_CLIENT_PATH="@PLYMOUTH_CLIENT_DIR@/plymouth"
|
|
||||||
[ -z "$PLYMOUTH_DRM_ESCROW_PATH" ] && PLYMOUTH_DRM_ESCROW_PATH="@PLYMOUTH_LIBEXECDIR@/plymouth/plymouthd-drm-escrow"
|
|
||||||
[ -z "$SYSTEMD_UNIT_DIR" ] && SYSTEMD_UNIT_DIR="@SYSTEMD_UNIT_DIR@"
|
|
||||||
+[ -z "$SUPPORTED_LANGUAGES" ] && SUPPORTED_LANGUAGES="pt fr de it ru es en zh ja ko zh as bn gu hi kn ml mr or pa ta te"
|
|
||||||
|
|
||||||
# Generic substring function. If $2 is in $1, return 0.
|
|
||||||
strstr() { [ "${1#*$2*}" != "$1" ]; }
|
|
||||||
|
|
||||||
ddebug() {
|
|
||||||
[ "$verbose" = "true" ] && echo "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# normalize_path <path>
|
|
||||||
# Prints the normalized path, where it removes any duplicated
|
|
||||||
# and trailing slashes.
|
|
||||||
# Example:
|
|
||||||
# $ normalize_path ///test/test//
|
|
||||||
# /test/test
|
|
||||||
normalize_path() {
|
|
||||||
shopt -q -s extglob
|
|
||||||
set -- "${1//+(\/)//}"
|
|
||||||
shopt -q -u extglob
|
|
||||||
echo "${1%/}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# convert_abs_rel <from> <to>
|
|
||||||
# Prints the relative path, when creating a symlink to <to> from <from>.
|
|
||||||
# Example:
|
|
||||||
# $ convert_abs_rel /usr/bin/test /bin/test-2
|
|
||||||
# ../../bin/test-2
|
|
||||||
# $ ln -s $(convert_abs_rel /usr/bin/test /bin/test-2) /usr/bin/test
|
|
||||||
convert_abs_rel() {
|
|
||||||
local __current __absolute __abssize __cursize __newpath
|
|
||||||
local -i __i __level
|
|
||||||
@@ -436,59 +437,77 @@ if [ $THEME_OVERRIDE ]; then
|
|
||||||
conf=$INITRDDIR/${PLYMOUTH_CONFDIR}/plymouthd.conf
|
|
||||||
echo "modifying plymouthd.conf: Theme=$PLYMOUTH_THEME_NAME" >&2
|
|
||||||
# make sure the section and key exist so we can modify them
|
|
||||||
grep -q "^ *\[Daemon\]" $conf || echo "[Daemon]" >> $conf
|
|
||||||
grep -q "^ *Theme *=" $conf || echo "Theme=fade-in" >> $conf
|
|
||||||
sed -i "s/^ *Theme *=.*/# theme modified by plymouth-populate-initrd\nTheme=$PLYMOUTH_THEME_NAME/" $conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
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 *= *//')
|
|
||||||
|
|
||||||
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
|
|
||||||
fi
|
|
||||||
|
|
||||||
inst ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so $INITRDDIR
|
|
||||||
|
|
||||||
[ -f "${PLYMOUTH_SYSROOT}${PLYMOUTH_PLUGIN_PATH}/renderers/drm.so" ] && inst ${PLYMOUTH_PLUGIN_PATH}/renderers/drm.so $INITRDDIR
|
|
||||||
inst ${PLYMOUTH_PLUGIN_PATH}/renderers/frame-buffer.so $INITRDDIR
|
|
||||||
|
|
||||||
if [ -d "${PLYMOUTH_SYSROOT}${PLYMOUTH_THEME_DIR}" ]; then
|
|
||||||
inst_recur "${PLYMOUTH_THEME_DIR}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${PLYMOUTH_IMAGE_DIR}" != "${PLYMOUTH_THEME_DIR}" -a -d "${PLYMOUTH_SYSROOT}${PLYMOUTH_IMAGE_DIR}" ]; then
|
|
||||||
inst_recur "${PLYMOUTH_IMAGE_DIR}"
|
|
||||||
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
|
|
||||||
+fonts=""
|
|
||||||
+needs_graphics="$(find ${INITRDDIR} -name 'libply-splash-graphics.so*' -print -quit | grep -q libply-splash-graphics.so && echo -n 1)"
|
|
||||||
+
|
|
||||||
+if [ -n "$needs_graphics" ]; then
|
|
||||||
+ for lang in $SUPPORTED_LANGUAGES; do
|
|
||||||
+ font=$(fc-match "":lang="$lang" file | awk -F= '{ print $2}')
|
|
||||||
+ echo $fonts | grep -q "$font" && continue
|
|
||||||
+ fonts="$fonts $font"
|
|
||||||
+ done
|
|
||||||
+
|
|
||||||
+ if [ -n "$fonts" ]; then
|
|
||||||
+ inst ${PLYMOUTH_PLUGIN_PATH}/label.so $INITRDDIR
|
|
||||||
+ for font in $fonts; do
|
|
||||||
+ inst $font $INITRDDIR
|
|
||||||
+ done
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if [ -L ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth ]; then
|
|
||||||
+ cp -a ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth $INITRDDIR${PLYMOUTH_DATADIR}/plymouth/themes
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$SYSTEMD_UNIT_DIR" -a -d "${PLYMOUTH_SYSROOT}$SYSTEMD_UNIT_DIR" ]; then
|
|
||||||
inst $SYSTEMD_UNIT_DIR/systemd-ask-password-plymouth.path $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/systemd-ask-password-plymouth.service $INITRDDIR
|
|
||||||
|
|
||||||
inst $SYSTEMD_UNIT_DIR/plymouth-switch-root.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/plymouth-start.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/plymouth-quit.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/plymouth-quit-wait.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/plymouth-reboot.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/plymouth-kexec.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/plymouth-poweroff.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/plymouth-halt.service $INITRDDIR
|
|
||||||
|
|
||||||
inst $SYSTEMD_UNIT_DIR/initrd-switch-root.target.wants/plymouth-switch-root.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/initrd-switch-root.target.wants/plymouth-start.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/sysinit.target.wants/plymouth-start.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/multi-user.target.wants/plymouth-quit.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/multi-user.target.wants/plymouth-quit-wait.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/reboot.target.wants/plymouth-reboot.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/kexec.target.wants/plymouth-kexec.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/poweroff.target.wants/plymouth-poweroff.service $INITRDDIR
|
|
||||||
inst $SYSTEMD_UNIT_DIR/halt.target.wants/plymouth-halt.service $INITRDDIR
|
|
||||||
fi
|
|
||||||
|
|
||||||
# vim:ts=8:sw=4:sts=4:et
|
|
||||||
--
|
|
||||||
2.32.0
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user