From ae6968572041ec2881e61767b23ff1aadb61346e10256e20421ac9ac9119cf92 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 15 Feb 2007 17:06:23 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/sysvinit?expand=0&rev=2 --- swsusp-for-sysvinit-2.86.diff | 376 ---------------------------------- sysvinit.changes | 6 + sysvinit.spec | 16 +- 3 files changed, 12 insertions(+), 386 deletions(-) delete mode 100644 swsusp-for-sysvinit-2.86.diff diff --git a/swsusp-for-sysvinit-2.86.diff b/swsusp-for-sysvinit-2.86.diff deleted file mode 100644 index 614027d..0000000 --- a/swsusp-for-sysvinit-2.86.diff +++ /dev/null @@ -1,376 +0,0 @@ ---- README.swsusp -+++ README.swsusp 2005-10-19 13:52:54.000000000 +0200 -@@ -0,0 +1,5 @@ -+ This version of sysvinit contains a patch for supporting the -+ Software suspend feature for Linux. -+ In order to really use it, you need to patch your kernel -+ with Gabor Kuti's software-suspend patch: -+ http://falcon.sch.bme.hu/~seasons/linux/ ---- man/halt.8 -+++ man/halt.8 2005-10-19 13:52:54.000000000 +0200 -@@ -4,7 +4,7 @@ - .\"}}} - .\"{{{ Name - .SH NAME --halt, reboot, poweroff \- stop the system. -+halt, reboot, poweroff, suspend \- stop the system. - .\"}}} - .\"{{{ Synopsis - .SH SYNOPSIS -@@ -31,12 +31,16 @@ - .RB [ \-f ] - .RB [ \-i ] - .RB [ \-h ] -+.br -+.B /sbin/swsusp -+.RB [ \-w ] -+.RB [ \-d ] - .\"}}} - .\"{{{ Description - .SH DESCRIPTION - \fBHalt\fP notes that the system is being brought down in the file --\fI/var/log/wtmp\fP, and then either tells the kernel to halt, reboot or --poweroff the system. -+\fI/var/log/wtmp\fP, and then either tells the kernel to halt, reboot, poweroff, -+or suspend the system. - .PP - If \fBhalt\fP or \fBreboot\fP is called when the system is - \fInot\fP in runlevel \fB0\fP or \fB6\fP, in other words when it's running ---- man/inittab.5 -+++ man/inittab.5 2005-10-19 13:52:54.000000000 +0200 -@@ -137,6 +137,13 @@ - the external UPS is almost empty and the power is failing (provided that the - external UPS and the monitoring process are able to detect this condition). - .\"}}} -+.\"{{{ resume -+.IP \fBresume\fP -+This process will be executed when \fBinit\fP is told by the kernel that -+Software Suspend has resumed the machine. This way you may specify userland -+programs what can restore hardware states the kernel cannot (for example -+svgatextmode and hdparm). -+.\"}}} - .\"{{{ ctrlaltdel - .IP \fBctrlaltdel\fP - The process will be executed when \fBinit\fP receives the SIGINT signal. ---- man/shutdown.8 -+++ man/shutdown.8 2005-10-19 13:52:54.000000000 +0200 -@@ -11,7 +11,7 @@ - .B /sbin/shutdown - .RB [ \-t - .IR sec ] --.RB [ \-arkhncfFHP ] -+.RB [ \-arkhzncfFHP ] - .I time - .RI [ warning-message ] - .\"}}} -@@ -71,6 +71,12 @@ - The use of this option is discouraged, and its results are not always what - you'd expect. - .\"}}} -+.\"{{{ -z -+.IP \fB\-z\fP -+Shutdown using software suspend. Using this option will not kill processes -+but pass the control to the kernel what makes the proper steps to stop and -+save processes to swaps. 'Software\ Suspend' needs to be compiled in. -+.\"}}} - .\"{{{ -f - .IP \fB\-f\fP - Skip fsck on reboot. ---- man/swsusp.8 -+++ man/swsusp.8 2005-10-19 13:52:54.000000000 +0200 -@@ -0,0 +1 @@ -+.so man8/halt.8 ---- src/Makefile -+++ src/Makefile 2005-10-19 13:54:38.000000000 +0200 -@@ -52,7 +52,7 @@ - SBIN += sulogin - USRBIN += utmpdump - MAN1 += mountpoint.1 --MAN8 += sulogin.8 -+MAN8 += sulogin.8 swsusp.8 - endif - - BIN_OWNER = root -@@ -131,6 +131,7 @@ - for i in $(USRBIN); do \ - $(INSTALL) -m 755 $$i $(ROOT)/usr/bin/; \ - done -+ ln -sf halt $(ROOT)/sbin/swsusp - ln -sf halt $(ROOT)/sbin/reboot - ln -sf halt $(ROOT)/sbin/poweroff - ln -sf init $(ROOT)/sbin/telinit ---- src/dowall.c -+++ src/dowall.c 2005-10-19 13:52:54.000000000 +0200 -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - - static sigjmp_buf jbuf; - -@@ -214,6 +215,7 @@ - if (tp != NULL) fclose(tp); - } - endutent(); -+ sched_yield(); - - exit(0); - } ---- src/halt.c -+++ src/halt.c 2005-10-19 13:52:54.000000000 +0200 -@@ -172,6 +172,7 @@ - int do_ifdown = 0; - int do_hddown = 0; - int do_poweroff = 0; -+ int do_swsusp = 0; - int c; - char *tm = NULL; - -@@ -185,6 +186,7 @@ - - if (!strcmp(progname, "reboot")) do_reboot = 1; - if (!strcmp(progname, "poweroff")) do_poweroff = 1; -+ if (!strcmp(progname, "swsusp")) do_swsusp = 1; - - /* - * Get flags -@@ -220,6 +222,14 @@ - usage(); - } - } -+ if(do_swsusp) { /* This implies some flags.. */ -+ do_sync = 0; -+ do_ifdown = 0; -+ do_poweroff = 0; -+ do_reboot = 0; -+ do_hard = 1; -+ } -+ - if (argc != optind) usage(); - - if (geteuid() != 0) { -@@ -264,6 +274,8 @@ - - if (do_reboot) { - init_reboot(BMAGIC_REBOOT); -+ } else if(do_swsusp) { -+ init_reboot(BMAGIC_SWSUSP); - } else { - /* - * Turn on hard reboot, CTRL-ALT-DEL will reboot now ---- src/init.c -+++ src/init.c 2005-10-19 13:52:54.000000000 +0200 -@@ -85,6 +85,10 @@ - # define CBAUDEX 0 - #endif - -+#ifndef SIGRESUME -+# define SIGRESUME SIGXCPU -+#endif -+ - /* Set a signal handler. */ - #define SETSIG(sa, sig, fun, flags) \ - do { \ -@@ -143,7 +147,7 @@ - /* Macro to see if this is a special action */ - #define ISPOWER(i) ((i) == POWERWAIT || (i) == POWERFAIL || \ - (i) == POWEROKWAIT || (i) == POWERFAILNOW || \ -- (i) == CTRLALTDEL) -+ (i) == CTRLALTDEL || (i) == RESUME) - - /* ascii values for the `action' field. */ - struct actions { -@@ -165,6 +169,7 @@ - { "initdefault", INITDEFAULT }, - { "sysinit", SYSINIT }, - { "kbrequest", KBREQUEST }, -+ { "resume", RESUME }, - { NULL, 0 }, - }; - -@@ -1129,6 +1134,7 @@ - case POWERWAIT: - case POWERFAILNOW: - case POWEROKWAIT: -+ case RESUME: - case CTRLALTDEL: - if (!(ch->flags & XECUTED)) ch->flags |= WAITING; - case KBREQUEST: -@@ -1822,6 +1828,22 @@ - } - - /* -+ * Start up userland hwstate restoring. -+ */ -+void do_hwstate_restore(void) -+{ -+ CHILD *ch; -+ -+ /* -+ * Tell resume entries to start up -+ */ -+ for (ch = family; ch; ch = ch->next) { -+ if (ch->action == RESUME) -+ ch->flags &= ~XECUTED; -+ } -+} -+ -+/* - * Start up powerfail entries. - */ - static -@@ -2318,6 +2340,14 @@ - int fd; - char c; - -+ if (ISMEMBER(got_signals, SIGRESUME)) { -+#if DEBUG -+ log(L_VB, "got SIGRESUME"); -+#endif -+ do_hwstate_restore(); -+ DELSET(got_signals, SIGRESUME); -+ } -+ - if (ISMEMBER(got_signals, SIGPWR)) { - INITDBG(L_VB, "got SIGPWR"); - /* See _what_ kind of SIGPWR this is. */ -@@ -2474,6 +2504,7 @@ - SETSIG(sa, SIGPWR, signal_handler, 0); - SETSIG(sa, SIGWINCH, signal_handler, 0); - SETSIG(sa, SIGUSR1, signal_handler, 0); -+ SETSIG(sa, SIGRESUME,signal_handler, 0); - SETSIG(sa, SIGSTOP, stop_handler, SA_RESTART); - SETSIG(sa, SIGTSTP, stop_handler, SA_RESTART); - SETSIG(sa, SIGCONT, cont_handler, SA_RESTART); ---- src/init.h -+++ src/init.h 2005-10-19 13:52:54.000000000 +0200 -@@ -53,6 +53,7 @@ - #define SYSINIT 13 - #define POWERFAILNOW 14 - #define KBREQUEST 15 -+#define RESUME 16 - - /* Information about a process in the in-core inittab */ - typedef struct _child_ { ---- src/reboot.h -+++ src/reboot.h 2005-10-19 13:52:54.000000000 +0200 -@@ -32,5 +32,9 @@ - # define BMAGIC_POWEROFF BMAGIC_HALT - #endif - -+#ifndef BMAGIC_SWSUSP -+# define BMAGIC_SWSUSP 0xd000fce2 -+#endif -+ - #define init_reboot(magic) reboot(magic) - ---- src/shutdown.c -+++ src/shutdown.c 2005-10-19 13:52:54.000000000 +0200 -@@ -1,10 +1,11 @@ - /* - * shutdown.c Shut the system down. - * -- * Usage: shutdown [-krhfnc] time [warning message] -+ * Usage: shutdown [-krhzfnc] time [warning message] - * -k: don't really shutdown, only warn. - * -r: reboot after shutdown. - * -h: halt after shutdown. -+ * -z: shutdown using software suspend. - * -f: do a 'fast' reboot (skip fsck). - * -F: Force fsck on reboot. - * -n: do not go through init but do it ourselves. -@@ -113,6 +114,7 @@ - "\t\t -f: do a 'fast' reboot (skip fsck).\n" - "\t\t -F: Force fsck on reboot.\n" - "\t\t -n: do not go through \"init\" but go down real fast.\n" -+ "\t\t -z: shutdown using software suspend.\n" - "\t\t -c: cancel a running shutdown.\n" - "\t\t -t secs: delay between warning and kill signal.\n" - "\t\t ** the \"time\" argument is mandatory! (try \"now\") **\n"); -@@ -271,6 +273,7 @@ - void fastdown() - { - int do_halt = (down_level[0] == '0'); -+ int do_swsusp = (down_level[0] == 'z'); - int i; - #if 0 - char cmd[128]; -@@ -293,6 +296,8 @@ - script = REBOOTSCRIPT2; - } - #endif -+ if(do_swsusp) -+ init_reboot(BMAGIC_SWSUSP); - - /* First close all files. */ - for(i = 0; i < 3; i++) -@@ -364,7 +369,9 @@ - int do_halt = (down_level[0] == '0'); - - /* Warn for the last time */ -- warn(0); -+ /* I don't want to mess up the later resumed screen */ -+ if(down_level[0] != 'z') -+ warn(0); - if (dontshut) { - hardsleep(1); - stopit(0); -@@ -467,7 +474,7 @@ - halttype = NULL; - - /* Process the options. */ -- while((c = getopt(argc, argv, "HPacqkrhnfFyt:g:i:")) != EOF) { -+ while((c = getopt(argc, argv, "HPacqkrhnzfFyt:g:i:")) != EOF) { - switch(c) { - case 'H': - halttype = "HALT"; -@@ -499,6 +506,9 @@ - case 'n': /* Don't switch runlevels. */ - doself = 1; - break; -+ case 'z': /* Shutdown using software suspend */ -+ down_level[0] = 'z'; -+ break; - case 't': /* Delay between TERM and KILL */ - sltime = optarg; - break; -@@ -592,6 +602,18 @@ - } - if (message[0]) strcat(message, "\r\n"); - -+ if(down_level[0] == 'z') { -+ doself = 1; -+ if(fastboot) { -+ fprintf(stderr, "shutdown: -f option ignored"); -+ fastboot = 0; -+ } -+ if(forcefsck) { -+ fprintf(stderr, "shutdown: -F option ignored"); -+ forcefsck = 0; -+ } -+ } -+ - /* See if we want to run or cancel. */ - if (cancel) { - if (pid <= 0) { -@@ -621,7 +643,8 @@ - } - - /* Extra check. */ -- if (doself && down_level[0] != '0' && down_level[0] != '6') { -+ if (doself && down_level[0] != '0' && down_level[0] != '6' && -+ down_level[0] != 'z') { - fprintf(stderr, - "shutdown: can use \"-n\" for halt or reboot only.\r\n"); - exit(1); -@@ -638,6 +661,9 @@ - case '1': - strcpy(newstate, "to maintenance mode"); - break; -+ case 'z': -+ strcpy(newstate, "for system suspend"); -+ break; - default: - sprintf(newstate, "to runlevel %s", down_level); - break; diff --git a/sysvinit.changes b/sysvinit.changes index fe136b3..32595f4 100644 --- a/sysvinit.changes +++ b/sysvinit.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 14 15:53:00 CET 2007 - werner@suse.de + +- Remove swap supend patch because this is done now by powersave + calling hal (bug #241204) + ------------------------------------------------------------------- Thu Dec 14 13:43:12 CET 2006 - werner@suse.de diff --git a/sysvinit.spec b/sysvinit.spec index 9bab0f1..b8c6c5d 100644 --- a/sysvinit.spec +++ b/sysvinit.spec @@ -1,7 +1,7 @@ # # spec file for package sysvinit (Version 2.86) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -17,12 +17,12 @@ Name: sysvinit %define SCVER 1.08 %define SIVER 2.86 %define START 0.49 -License: GNU General Public License (GPL), Other License(s), see package +License: GNU General Public License (GPL) Group: System/Base PreReq: coreutils Autoreqprov: on Version: 2.86 -Release: 49 +Release: 55 Summary: SysV-Style init BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: sysvinit-2.86.tar.bz2 @@ -35,7 +35,6 @@ Patch: sysvinit-2.86.dif Patch1: sysvinit-2.86-nfs4pidof.patch Patch2: powerd-2.0.2.dif Patch3: killproc-2.12.dif -Patch4: swsusp-for-sysvinit-2.86.diff Patch5: sysvinit-2.86-sulogin.patch Patch6: sysvinit-2.82-startstop.patch Patch7: sysvinit-2.85-suse.patch @@ -79,7 +78,6 @@ Authors: %patch -P 12 -b .lib64 %patch -P 13 -b .multiline %patch -%patch -P 4 -p 0 -b .swsusp %patch -P 15 -b .usage %patch -P 16 -b .fulltime pushd ../powerd-%{PDVER} @@ -176,12 +174,10 @@ popd rm -f ${RPM_BUILD_ROOT}/usr/lib/libblogger.a rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mesg.1* %ifarch s390 s390x - rm -f ${RPM_BUILD_ROOT}%{_mandir}/man8/swsusp.8* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man8/powerd.8* rm -f ${RPM_BUILD_ROOT}%{_mandir}/man8/detectups.8* rm -f ${RPM_BUILD_ROOT}/sbin/powerd rm -f ${RPM_BUILD_ROOT}/sbin/detectups - rm -f ${RPM_BUILD_ROOT}/sbin/swsusp %endif chmod 444 ${RPM_BUILD_ROOT}%{_mandir}/man?/* @@ -209,7 +205,6 @@ rm -rf ${RPM_BUILD_ROOT} %doc ../powerd-%{PDVER}/FAQ.powerd %doc ../powerd-%{PDVER}/powerd.conf.monitor %doc ../powerd-%{PDVER}/powerd.conf.peer -%doc README.swsusp %endif %doc contrib/start-stop-daemon.README # %doc contrib/bootlogd.README @@ -234,7 +229,6 @@ rm -rf ${RPM_BUILD_ROOT} %ifnarch s390 s390x /sbin/powerd /sbin/detectups -/sbin/swsusp %endif /sbin/poweroff /sbin/reboot @@ -272,7 +266,6 @@ rm -rf ${RPM_BUILD_ROOT} %doc %{_mandir}/man8/killproc.8.gz %doc %{_mandir}/man8/pidof.8.gz %ifnarch s390 s390x -%doc %{_mandir}/man8/swsusp.8.gz %doc %{_mandir}/man8/powerd.8.gz %doc %{_mandir}/man8/detectups.8.gz %endif @@ -287,6 +280,9 @@ rm -rf ${RPM_BUILD_ROOT} %doc %{_mandir}/man8/startpar.8.gz %changelog -n sysvinit +* Wed Feb 14 2007 - werner@suse.de +- Remove swap supend patch because this is done now by powersave + calling hal (bug #241204) * Thu Dec 14 2006 - werner@suse.de - New killproc 2.12 with new option -N better handling for NFS based programs which is not to stat(2) the binary with -N