summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Januszewski <spock@gentoo.org>2007-05-07 19:55:25 +0000
committerMichael Januszewski <spock@gentoo.org>2007-05-07 19:55:25 +0000
commit81253a6de9fd8d060553d156714c8edf0b158279 (patch)
tree98301f2bfb716dff06fa2e5db670dc7b5d70406d /media-gfx/splashutils/files
parentMarked stable on amd64 for bug #174810 (diff)
downloadgentoo-2-81253a6de9fd8d060553d156714c8edf0b158279.tar.gz
gentoo-2-81253a6de9fd8d060553d156714c8edf0b158279.tar.bz2
gentoo-2-81253a6de9fd8d060553d156714c8edf0b158279.zip
Add support for rc-abort in the baselayout2 splash plugin.
(Portage version: 2.1.2.6)
Diffstat (limited to 'media-gfx/splashutils/files')
-rw-r--r--media-gfx/splashutils/files/splashutils-1.4.2-rcabort.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/media-gfx/splashutils/files/splashutils-1.4.2-rcabort.patch b/media-gfx/splashutils/files/splashutils-1.4.2-rcabort.patch
new file mode 100644
index 000000000000..419737d7ed26
--- /dev/null
+++ b/media-gfx/splashutils/files/splashutils-1.4.2-rcabort.patch
@@ -0,0 +1,41 @@
+diff --git a/gentoo/splash.c b/gentoo/splash.c
+index f4e2221..945f3aa 100644
+--- a/gentoo/splash.c
++++ b/gentoo/splash.c
+@@ -561,7 +561,13 @@ static int splash_stop(const char *runlevel)
+ if (splash_is_silent())
+ splash_set_verbose();
+
+- return splash_cache_cleanup(save);
++ /* If we don't get a runlevel argument, then we're being executed
++ * because of a rc-abort event and we don't save any data. */
++ if (runlevel == NULL) {
++ return splash_cache_cleanup(NULL);
++ } else {
++ return splash_cache_cleanup(save);
++ }
+ }
+
+ int _splash_hook (rc_hook_t hook, const char *name)
+@@ -579,7 +585,7 @@ int _splash_hook (rc_hook_t hook, const char *name)
+ /* We generally do nothing if we're in sysinit. Except if the
+ * autoconfig service is present, when we get a list of services
+ * that will be started by it and mark them as coldplugged. */
+- if (!strcmp(name, RC_LEVEL_SYSINIT)) {
++ if (name && !strcmp(name, RC_LEVEL_SYSINIT)) {
+ if (hook == rc_hook_runlevel_start_out) {
+ FILE *fp;
+ char **list = NULL;
+@@ -793,6 +799,12 @@ do_start:
+ config = NULL;
+ break;
+
++ case rc_hook_abort:
++ i = splash_stop(name);
++ splash_lib_cleanup();
++ config = NULL;
++ break;
++
+ default:
+ break;
+ }