1
0
forked from rpms/plymouth

Update to latest git snapshot

This commit is contained in:
Ray Strode 2016-05-24 12:51:33 -04:00
parent 194db3ba91
commit 0b83adfc76
7 changed files with 12 additions and 406 deletions

1
.gitignore vendored
View File

@ -8,3 +8,4 @@ plymouth-0.8.4.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

View File

@ -1,29 +0,0 @@
From d09a35029cce3972aa6fa83fdff0622a89497d1e Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 31 Oct 2013 09:46:56 -0400
Subject: [PATCH] systemd-units: don't timeout the plymouth waiting
A timeout causes things to fail, so we shouldn't timeout.
---
systemd-units/plymouth-quit-wait.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/systemd-units/plymouth-quit-wait.service.in b/systemd-units/plymouth-quit-wait.service.in
index 0293224..1c431b6 100644
--- a/systemd-units/plymouth-quit-wait.service.in
+++ b/systemd-units/plymouth-quit-wait.service.in
@@ -1,10 +1,10 @@
[Unit]
Description=Wait for Plymouth Boot Screen to Quit
After=rc-local.service plymouth-start.service systemd-user-sessions.service
[Service]
ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth --wait
Type=oneshot
-TimeoutSec=20
+TimeoutSec=0
[Install]
WantedBy=multi-user.target
--
1.8.3.1

View File

@ -1,37 +0,0 @@
From 1a7dc602762b314e661ef5b7cb858ae6c3a1f9f5 Mon Sep 17 00:00:00 2001
From: Will Woods <wwoods@redhat.com>
Date: Wed, 20 May 2015 12:03:58 -0400
Subject: [PATCH] plymouth-populate-initrd: fix THEME_OVERRIDE with empty conf
If you set PLYMOUTH_THEME_NAME to override the theme in an initrd
(as e.g. lorax does when building upgrade.img), plymouth-populate-initrd
tries to edit plymouthd.conf to enable that theme.
Unfortunately, the existing `sed` line doesn't work if your
plymouthd.conf is empty or all commented out - which is how we currently
ship it.
So before modifying the config, make sure it has a [Daemon] section
header, and a Theme=[placeholder] line for us to modify.
Resolves: RHBZ#1223344
---
scripts/plymouth-populate-initrd.in | 3 +++
1 file changed, 3 insertions(+)
diff --git a/scripts/plymouth-populate-initrd.in b/scripts/plymouth-populate-initrd.in
index 43c7f22..e3326e9 100755
--- a/scripts/plymouth-populate-initrd.in
+++ b/scripts/plymouth-populate-initrd.in
@@ -392,6 +392,9 @@ fi
if [ $THEME_OVERRIDE ]; then
conf=$INITRDDIR/${PLYMOUTH_CONFDIR}/plymouthd.conf
echo "modifying plymouthd.conf: Theme=$PLYMOUTH_THEME_NAME" > /dev/stderr
+ # 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
--
2.1.0

View File

@ -1,245 +0,0 @@
From fceb77c9dffd6644944bfd26e77ace64aba3f96f Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 26 Oct 2015 13:20:18 -0400
Subject: [PATCH 1/2] two-step: don't tank in updates mode when there's no
progress animations
Right now we try to use the progress animation in updates mode, even
if there's not one. This commit makes the progress animation truely
optional.
---
src/plugins/splash/two-step/plugin.c | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/src/plugins/splash/two-step/plugin.c b/src/plugins/splash/two-step/plugin.c
index 541a108..ceca101 100644
--- a/src/plugins/splash/two-step/plugin.c
+++ b/src/plugins/splash/two-step/plugin.c
@@ -180,66 +180,73 @@ view_free (view_t *view)
}
static bool
view_load (view_t *view)
{
ply_trace ("loading entry");
if (!ply_entry_load (view->entry))
return false;
ply_trace ("loading animation");
if (!ply_animation_load (view->end_animation))
{
ply_trace ("Default animation wouldn't load, "
"falling back to old naming scheme");
/* fallback to throbber- for compatibility
*/
ply_animation_free (view->end_animation);
view->end_animation = ply_animation_new (view->plugin->animation_dir,
"throbber-");
if (!ply_animation_load (view->end_animation))
{
ply_trace ("old naming scheme didn't work either");
return false;
}
ply_throbber_free (view->throbber);
view->throbber = NULL;
}
- ply_trace ("loading progress animation");
- if (!ply_progress_animation_load (view->progress_animation))
+ if (view->progress_animation != NULL)
+ {
+ ply_trace ("loading progress animation");
+ if (!ply_progress_animation_load (view->progress_animation))
+ {
+ ply_trace ("optional progress animation wouldn't load");
+ ply_progress_animation_free (view->progress_animation);
+ view->progress_animation = NULL;
+ }
+ }
+ else
{
- ply_trace ("optional progress animation wouldn't load");
- ply_progress_animation_free (view->progress_animation);
- view->progress_animation = NULL;
+ ply_trace ("this theme has no progress animation\n");
}
if (view->throbber != NULL)
{
ply_trace ("loading throbber");
if (!ply_throbber_load (view->throbber))
{
ply_trace ("optional throbber was not loaded");
ply_throbber_free (view->throbber);
view->throbber = NULL;
}
}
else
{
ply_trace ("this theme has no throbber\n");
}
return true;
}
static bool
load_views (ply_boot_splash_plugin_t *plugin)
{
ply_list_node_t *node;
bool view_loaded;
view_loaded = false;
node = ply_list_get_first_node (plugin->views);
while (node != NULL)
@@ -1249,62 +1256,63 @@ show_message (ply_boot_splash_plugin_t *plugin,
view = ply_list_node_get_data (node);
next_node = ply_list_get_next_node (plugin->views, node);
ply_label_set_text (view->message_label, message);
ply_label_show (view->message_label, view->display, 10, 10);
ply_pixel_display_draw_area (view->display, 10, 10,
ply_label_get_width (view->message_label),
ply_label_get_height(view->message_label));
node = next_node;
}
}
static void
system_update (ply_boot_splash_plugin_t *plugin,
int progress)
{
ply_list_node_t *node;
if (plugin->mode != PLY_BOOT_SPLASH_MODE_UPDATES)
return;
node = ply_list_get_first_node (plugin->views);
while (node != NULL)
{
ply_list_node_t *next_node;
view_t *view;
view = ply_list_node_get_data (node);
next_node = ply_list_get_next_node (plugin->views, node);
- ply_progress_animation_set_percent_done (view->progress_animation,
- (double) progress / 100.f);
+ if (view->progress_animation != NULL)
+ ply_progress_animation_set_percent_done (view->progress_animation,
+ (double) progress / 100.f);
node = next_node;
}
}
static void
display_normal (ply_boot_splash_plugin_t *plugin)
{
pause_views (plugin);
if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL)
hide_prompt (plugin);
plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
start_progress_animation (plugin);
redraw_views (plugin);
unpause_views (plugin);
}
static void
display_password (ply_boot_splash_plugin_t *plugin,
const char *prompt,
int bullets)
{
pause_views (plugin);
if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
stop_animation (plugin, NULL);
plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
show_password_prompt (plugin, prompt, bullets);
redraw_views (plugin);
unpause_views (plugin);
--
2.5.0
From 5de88b84ee949aaa80fafbf9e794bc2b9eddb6a6 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 26 Oct 2015 13:28:33 -0400
Subject: [PATCH 2/2] script: only support one message at a time
That's the other themes do, and callers
expect it.
---
themes/script/script.script | 18 +++++-------------
1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/themes/script/script.script b/themes/script/script.script
index 7ea9d5e..25a2f2b 100644
--- a/themes/script/script.script
+++ b/themes/script/script.script
@@ -125,55 +125,47 @@ progress_box.sprite.SetPosition(progress_box.x, progress_box.y, 0);
progress_bar.original_image = Image("progress_bar.png");
progress_bar.sprite = Sprite();
progress_bar.x = Window.GetX() + Window.GetWidth() / 2 - progress_bar.original_image.GetWidth() / 2;
progress_bar.y = Window.GetY() + Window.GetHeight() / 2 * 1.5 - progress_box.image.GetHeight() / 2 + (progress_box.image.GetHeight() - progress_bar.original_image.GetHeight()) / 2;
progress_bar.sprite.SetPosition(progress_bar.x, progress_bar.y, 1);
fun progress_callback (duration, progress)
{
if (progress_bar.image.GetWidth () != Math.Int (progress_bar.original_image.GetWidth () * progress))
{
progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress, progress_bar.original_image.GetHeight());
progress_bar.sprite.SetImage (progress_bar.image);
}
}
Plymouth.SetBootProgressFunction(progress_callback);
#----------------------------------------- Quit --------------------------------
fun quit_callback ()
{
logo.sprite.SetOpacity (1);
}
Plymouth.SetQuitFunction(quit_callback);
#----------------------------------------- Message --------------------------------
-message_sprites = [];
-message_sprite_count = 0;
-message_sprite_y = 10;
+message_sprite = Sprite();
+message_sprite.SetPosition(10, 10, 10000);
fun display_message_callback (text)
{
my_image = Image.Text(text, 1, 1, 1);
- message_sprites[message_sprite_count] = Sprite(my_image);
- message_sprites[message_sprite_count].SetPosition(10, message_sprite_y, 10000);
- message_sprites[message_sprite_count].text = text;
- message_sprite_count++;
- message_sprite_y += my_image.GetHeight();
+ message_sprite.SetImage(my_image);
}
fun hide_message_callback (text)
{
- for (i = 0; i < message_sprite_count; i++)
- {
- if (message_sprites[i].text == text)
- message_sprites[i] = NULL;
- }
+ message_sprite = Sprite();
+ message_sprite.SetPosition(10, 10, 10000);
}
Plymouth.SetDisplayMessageFunction (display_message_callback);
Plymouth.SetHideMessageFunction (hide_message_callback);
--
2.5.0

View File

@ -3,12 +3,12 @@
%define plymouth_libdir %{_libdir}
%define plymouth_initrd_file /boot/initrd-plymouth.img
%define snapshot_date .2013.08.14
%define snapshot_date 20160524
Summary: Graphical Boot Animation and Logger
Name: plymouth
Version: 0.8.9
Release: 17%{?snapshot_date}%{?dist}
Version: 0.9.3
Release: 0.1.%{?snapshot_date}%{?dist}
License: GPLv2+
URL: http://www.freedesktop.org/wiki/Software/Plymouth
Group: System Environment/Base
@ -18,11 +18,6 @@ Source1: boot-duration
Source2: charge.plymouth
Source3: plymouth-update-initrd
Patch0: dont-timeout-waiting.patch
Patch1: sysfs-tty-fix.patch
Patch2: fix-theme-override.patch
Patch3: fix-updates.patch
BuildRequires: pkgconfig(libdrm)
BuildRequires: kernel-headers
BuildRequires: libpng-devel
@ -222,13 +217,9 @@ Plymouth. It features a small spinner on a dark background.
%prep
%setup -q
%patch0 -p1 -b .dont-timeout-waiting
%patch1 -p1 -b .sysfs-tty-fix
%patch2 -p1 -b .fix-theme-override
%patch3 -p1 -b .fix-updates
# Change the default theme
sed -i -e 's/fade-in/charge/g' src/plymouthd.defaults
sed -i -e 's/spinner/charge/g' src/plymouthd.defaults
%build
%configure --enable-tracing --disable-tests \
@ -271,9 +262,6 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/plymouth/themes/glow
%post
[ -f %{_localstatedir}/lib/plymouth/boot-duration ] || cp -f %{_datadir}/plymouth/default-boot-duration %{_localstatedir}/lib/plymouth/boot-duration
%posttrans
%{_libexecdir}/plymouth/plymouth-generate-initrd
%postun
if [ $1 -eq 0 ]; then
rm -f %{_libdir}/plymouth/default.so
@ -291,7 +279,6 @@ export LIB=%{_lib}
if [ $1 -eq 0 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinfinity" ]; then
%{_sbindir}/plymouth-set-default-theme text
%{_libexecdir}/plymouth/plymouth-generate-initrd
fi
fi
@ -300,7 +287,6 @@ export LIB=%{_lib}
if [ $1 -eq 0 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "fade-in" ]; then
%{_sbindir}/plymouth-set-default-theme --reset
%{_libexecdir}/plymouth/plymouth-generate-initrd
fi
fi
@ -309,7 +295,6 @@ export LIB=%{_lib}
if [ $1 -eq 0 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "spinner" ]; then
%{_sbindir}/plymouth-set-default-theme --reset
%{_libexecdir}/plymouth/plymouth-generate-initrd
fi
fi
@ -318,7 +303,6 @@ export LIB=%{_lib}
if [ $1 -eq 0 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "solar" ]; then
%{_sbindir}/plymouth-set-default-theme --reset
%{_libexecdir}/plymouth/plymouth-generate-initrd
fi
fi
@ -329,7 +313,6 @@ if [ $1 -eq 1 ]; then
else
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "solar" ]; then
%{_sbindir}/plymouth-set-default-theme charge
%{_libexecdir}/plymouth/plymouth-generate-initrd
fi
fi
@ -338,7 +321,6 @@ export LIB=%{_lib}
if [ $1 -eq 0 ]; then
if [ "$(%{_sbindir}/plymouth-set-default-theme)" == "charge" ]; then
%{_sbindir}/plymouth-set-default-theme --reset
%{_libexecdir}/plymouth/plymouth-generate-initrd
fi
fi
@ -359,10 +341,12 @@ fi
%{_bindir}/plymouth
%{_libdir}/plymouth/details.so
%{_libdir}/plymouth/text.so
%{_libdir}/plymouth/tribar.so
%{_libdir}/plymouth/renderers/frame-buffer*
%{_datadir}/plymouth/default-boot-duration
%{_datadir}/plymouth/themes/details/details.plymouth
%{_datadir}/plymouth/themes/text/text.plymouth
%{_datadir}/plymouth/themes/tribar/tribar.plymouth
%{_datadir}/plymouth/plymouthd.defaults
%{_localstatedir}/run/plymouth
%{_localstatedir}/spool/plymouth
@ -457,6 +441,10 @@ fi
%files system-theme
%changelog
* Tue May 24 2016 Ray Strode <rstrode@redhat.com> - 0.9.3-0.1.20160524
- Update to latest git snapshot
- Drop plymouth-generate-initrd scriptlets
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.9-17.2013.08.14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

View File

@ -1 +1 @@
cff09677a5c429accf014c0af41d8df7 plymouth-0.8.9.tar.bz2
8573ce6b4aa8ebf2498e9daf2207c7a8 plymouth-0.9.3.tar.bz2

View File

@ -1,72 +0,0 @@
diff -up plymouth-0.8.9/src/main.c.sysfs-tty-fix plymouth-0.8.9/src/main.c
--- plymouth-0.8.9/src/main.c.sysfs-tty-fix 2014-02-20 13:30:12.391455465 -0500
+++ plymouth-0.8.9/src/main.c 2014-02-20 13:29:43.673747888 -0500
@@ -1980,6 +1980,7 @@ add_display_and_keyboard_for_console (co
static int
add_consoles_from_file (state_t *state,
+ const char *default_tty,
ply_hashtable_t *consoles,
const char *path)
{
@@ -1988,7 +1989,6 @@ add_consoles_from_file (state_t
ssize_t contents_length;
int num_consoles;
const char *remaining_file_contents;
-
ply_trace ("opening %s", path);
fd = open (path, O_RDONLY);
@@ -2009,6 +2009,8 @@ add_consoles_from_file (state_t
}
close (fd);
+ ply_trace ("kernel reports active consoles are '%s'", contents);
+
remaining_file_contents = contents;
num_consoles = 0;
@@ -2034,18 +2036,26 @@ add_consoles_from_file (state_t
console_length = strcspn (remaining_file_contents, " \n\t\v");
console = strndup (remaining_file_contents, console_length);
- /* If this console is anything besides tty0, then the user is sort
- * of a weird case (uses a serial console or whatever) and they
- * most likely don't want a graphical splash, so force details.
- */
- if (strcmp (console, "tty0") != 0)
- state->should_force_details = true;
-
asprintf (&console_device, "/dev/%s", console);
+ /* If this console is anything besides tty0 or the default tty, then
+ * the user is sort of a weird case (uses a serial console or whatever)
+ * and they most likely don't want a graphical splash, so force details.
+ */
+ if (!state->should_force_details &&
+ (strcmp (console, "tty0") != 0) &&
+ (strcmp (console_device, default_tty) != 0))
+ {
+ ply_trace ("forcing details because serial console %s found!", console_device);
+ state->should_force_details = true;
+ }
+ else
+ {
+ ply_trace ("local console %s found!", console_device);
+ }
+
free (console);
- ply_trace ("console %s found!", console_device);
ply_hashtable_insert (consoles, console_device, console_device);
num_consoles++;
@@ -2135,7 +2145,7 @@ check_for_consoles (state_t *state,
if (!ignore_serial_consoles)
{
- num_consoles = add_consoles_from_file (state, consoles, "/sys/class/tty/console/active");
+ num_consoles = add_consoles_from_file (state, default_tty, consoles, "/sys/class/tty/console/active");
if (num_consoles == 0)
{