Hello community,
here is the log from the commit of package suspend
checked in at Mon Feb 5 23:38:11 CET 2007.
--------
--- arch/i386/suspend/suspend.changes 2007-01-22 22:37:47.000000000 +0100
+++ /mounts/work_src_done/STABLE/suspend/suspend.changes 2007-02-05 20:18:29.000000000 +0100
@@ -1,0 +2,11 @@
+Mon Feb 5 20:13:42 CET 2007 - seife@suse.de
+
+- update to current CVS, which has:
+ - lots of whitelist updates
+ - Makefile reworked
+ - loglevel mangling during boot fixed correctly
+ - unblank the console after resume from disk
+ - more space-efficient storage of encryption details in image
+ - various other small fixes
+
+-------------------------------------------------------------------
Old:
----
suspend-0.50.20070122.tar.bz2
suspend-do-not-touch-loglevel-during-resume.diff
New:
----
suspend-0.50.20070205.tar.bz2
suspend-20070205-installfixes.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ suspend.spec ++++++
--- /var/tmp/diff_new_pack.Y26471/_old 2007-02-05 23:38:04.000000000 +0100
+++ /var/tmp/diff_new_pack.Y26471/_new 2007-02-05 23:38:04.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package suspend (Version 0.50.20070122)
+# spec file for package suspend (Version 0.50.20070205)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,7 +12,7 @@
Name: suspend
BuildRequires: gnutls-devel pciutils-devel
-Version: 0.50.20070122
+Version: 0.50.20070205
Release: 1
Summary: A Set Of Tools To Support Sleep Modes
License: GNU General Public License (GPL)
@@ -26,7 +26,7 @@
Patch1: suspend-comment-configfile-options.diff
Patch2: suspend-susescripts.diff
Patch3: suspend-libpci_needs_libz.diff
-Patch4: suspend-do-not-touch-loglevel-during-resume.diff
+Patch4: suspend-20070205-installfixes.diff
Patch5: suspend-use-console-63.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Supplements: powersave
@@ -94,6 +94,14 @@
%doc doc/installation-on-SUSE-10.1.txt openSUSE-factory-README.txt scripts/
%changelog -n suspend
+* Mon Feb 05 2007 - seife@suse.de
+- update to current CVS, which has:
+ - lots of whitelist updates
+ - Makefile reworked
+ - loglevel mangling during boot fixed correctly
+ - unblank the console after resume from disk
+ - more space-efficient storage of encryption details in image
+ - various other small fixes
* Mon Jan 22 2007 - seife@suse.de
- update to current CVS, which has:
- all new s2ram option pci_save for machines that need PCI state
++++++ suspend-0.50.20070122.tar.bz2 -> suspend-0.50.20070205.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/encrypt.h new/suspend-0.50.20070205/encrypt.h
--- old/suspend-0.50.20070122/encrypt.h 2007-01-22 18:27:56.000000000 +0100
+++ new/suspend-0.50.20070205/encrypt.h 2007-01-23 13:06:32.000000000 +0100
@@ -28,7 +28,7 @@
#define PK_KEY_SIZE 16
#define PK_CIPHER_BLOCK 16
/* Auxiliary constants */
-#define RSA_DATA_SIZE 3072
+#define RSA_DATA_SIZE (512+16+512+256+256+256) /* n,e,d,p,q,u */
#define KEY_DATA_SIZE 512
#define RSA_FIELDS 6
#define RSA_FIELDS_PUB 2
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/HOWTO new/suspend-0.50.20070205/HOWTO
--- old/suspend-0.50.20070122/HOWTO 2006-11-12 15:43:54.000000000 +0100
+++ new/suspend-0.50.20070205/HOWTO 2007-02-02 13:10:26.000000000 +0100
@@ -107,14 +107,14 @@
- To install the s2disk tool, become root and run:
-# make install-s2disk
+# make install-minimal
This will also create the snapshot device file in /dev/, if needed.
- To create and install an initrd image containing the resume binary, become
root and run:
-# make install-resume-initrd
+# make install-resume-new-initrd
This will place the file resume-initrd in the /boot directory.
@@ -330,7 +330,7 @@
To install the s2disk tool, run:
-# make install-s2disk
+# make install-minimal
as root. This will place the s2disk binary in the destination directory
defined in Makefile (/usr/local/sbin by default). It will also
@@ -345,7 +345,7 @@
for details) will also be built and installed in the destination directory
specified in Makefile (/usr/local/sbin by default).
-If you don't want to use "make install-s2disk", you can copy the s2disk
+If you don't want to use "make install-minimal", you can copy the s2disk
binary and the configuration file to wherever you like, but you'll also
need to make sure the snapshot device file is present (if you have set
CONFIG_ENCRYPT=yes in Makefile, you may also need to copy the suspend-keygen
@@ -365,7 +365,7 @@
4) Create snapshot device file
-If you don't use "make install-s2disk", you may need to create the snapshot
+If you don't use "make install-minimal", you may need to create the snapshot
device file:
# mknod /dev/snapshot c 10 231
@@ -381,11 +381,11 @@
It is recommended to place the resume tool on an initrd/initramfs image.
For the latter, see instructions for yaird under (6) below. For an initrd,
-this may be done using "make install-resume-initrd", but I'll describe the
+this may be done using "make install-resume-new-initrd", but I'll describe the
full procedure in case you want to do something in a different way. For
simplicity I will only cover the fastest method of setting it up that will
allow you to get the resume tool up and running quickly. [The described
-procedure reflects the actions performed by "make install-resume-initrd".]
+procedure reflects the actions performed by "make install-resume-new-initrd".]
(a) Configure the kernel to support RAM disks, initial RAM disks, loopback
block devices, and the ext2 filesystem, and install it as described in 1).
@@ -457,7 +457,7 @@
(m) If you already have the resume initrd file which is called resume-initrd
and located in the /boot directory, you can install the resume tool on it
-by using "make install-resume".
+by using "make install-resume-on-initrd".
6) Install resume on initramfs with yaird
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/keygen.c new/suspend-0.50.20070205/keygen.c
--- old/suspend-0.50.20070122/keygen.c 2006-07-23 13:32:52.000000000 +0200
+++ new/suspend-0.50.20070205/keygen.c 2007-01-23 13:06:32.000000000 +0100
@@ -88,21 +88,21 @@
goto Free_RSA;
}
- /* Convert the key length into bytes */
- size = (len + 7) >> 3;
/* Copy the public key components to struct RSA_data */
offset = 0;
for (j = 0; j < RSA_FIELDS_PUB; j++) {
char *str;
size_t s;
- if (offset + size >= RSA_DATA_SIZE)
- goto Free_RSA;
-
gcry_ac_data_get_index(rsa_data_set, GCRY_AC_FLAG_COPY, j,
(const char **)&str, &mpi);
- gcry_mpi_print(GCRYMPI_FMT_USG, rsa.data + offset,
- size, &s, mpi);
+ ret = gcry_mpi_print(GCRYMPI_FMT_USG, rsa.data + offset,
+ RSA_DATA_SIZE - offset, &s, mpi);
+ if (ret) {
+ fprintf(stderr, "RSA key components too big\n");
+ goto Free_RSA;
+ }
+
rsa.field[j][0] = str[0];
rsa.field[j][1] = '\0';
rsa.size[j] = s;
@@ -174,13 +174,14 @@
char *str;
size_t s;
- if (offset + size >= RSA_DATA_SIZE)
- goto Free_sym;
-
gcry_ac_data_get_index(rsa_data_set, GCRY_AC_FLAG_COPY, j,
(const char **)&str, &mpi);
- gcry_mpi_print(GCRYMPI_FMT_USG, rsa.data + offset,
- size, &s, mpi);
+ ret = gcry_mpi_print(GCRYMPI_FMT_USG, rsa.data + offset,
+ RSA_DATA_SIZE - offset, &s, mpi);
+ if (ret) {
+ fprintf(stderr, "RSA key components too big\n");
+ goto Free_sym;
+ }
/* We encrypt the data in place */
ret = gcry_cipher_encrypt(sym_hd, rsa.data + offset, s, NULL, 0);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/loglevel.c new/suspend-0.50.20070205/loglevel.c
--- old/suspend-0.50.20070122/loglevel.c 1970-01-01 01:00:00.000000000 +0100
+++ new/suspend-0.50.20070205/loglevel.c 2007-01-25 13:56:17.000000000 +0100
@@ -0,0 +1,63 @@
+/* loglevel.c - routines to modify kernel console loglevel
+ *
+ * Released under GPL v2.
+ * (c) 2007 Tim Dijkstra
+ */
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+static FILE *printk_file;
+static int proc_mounted = 0;
+
+inline void open_printk(void)
+{
+ struct stat stat_buf;
+ char *procname = "/proc/sys/kernel/printk";
+
+ if (stat(procname, &stat_buf) && errno == ENOENT) {
+ if (mount("none", "/proc", "proc", 0, NULL)) {
+ fprintf(stderr, "resume: Could not mount proc\n");
+ return;
+ } else
+ proc_mounted = 1;
+ }
+
+ printk_file = fopen(procname, "r+");
+}
+
+inline int get_kernel_console_loglevel(void)
+{
+ int level = -1;
+
+ if (printk_file) {
+ rewind(printk_file);
+ fscanf(printk_file, "%d", &level);
+ }
+ return level;
+}
+
+inline void set_kernel_console_loglevel(int level)
+{
+ if (printk_file) {
+ rewind(printk_file);
+ fprintf(printk_file, "%d\n", level);
+ fflush(printk_file);
+ }
+
+}
+
+inline void close_printk(void)
+{
+ if (printk_file)
+ fclose(printk_file);
+
+ if (proc_mounted)
+ umount("/proc");
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/loglevel.h new/suspend-0.50.20070205/loglevel.h
--- old/suspend-0.50.20070122/loglevel.h 1970-01-01 01:00:00.000000000 +0100
+++ new/suspend-0.50.20070205/loglevel.h 2007-01-25 13:56:17.000000000 +0100
@@ -0,0 +1,10 @@
+/* loglevel.h - routines to modify kernel console loglevel
+ *
+ * Released under GPL v2.
+ * (c) 2007 Tim Dijkstra
+ */
+
+inline void open_printk(void);
+inline int get_kernel_console_loglevel(void);
+inline void set_kernel_console_loglevel(int level);
+inline void close_printk(void);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/Makefile new/suspend-0.50.20070205/Makefile
--- old/suspend-0.50.20070122/Makefile 2007-01-10 14:24:27.000000000 +0100
+++ new/suspend-0.50.20070205/Makefile 2007-02-02 15:20:18.000000000 +0100
@@ -2,59 +2,68 @@
#CONFIG_ENCRYPT=yes
#CONFIG_SPLASHY=yes
#CONFIG_UDEV=yes
+#CONFIG_RESUME_DYN=yes
+
+SUSPEND_DIR=/usr/local/sbin
+RESUME_DIR=/usr/local/lib/suspend
+CONFIG_DIR=/etc
+RESUME_DEVICE=
+BOOT_DIR=/boot
+CONFIGFILE=suspend.conf
+CFLAGS := -O2 -Wall
+
+###############################################################
ARCH:=$(shell uname -m)
-CC_FLAGS=-I/usr/local/include
+CC_FLAGS=-I/usr/local/include -DS2RAM $(CFLAGS)
LD_FLAGS=-L/usr/local/lib
-CFLAGS := -O2 -Wall
+BINARIES=s2disk s2both s2ram swap-offset resume
+BINARIES_MIN=s2disk swap-offset
+
+S2RAM_OBJ=vt.o vbetool/x86-common.o vbetool/vbetool.o radeontool.o dmidecode.o
+SWSUSP_OBJ=vt.o md5.o encrypt.o config.o loglevel.o splash.o bootsplash.o
+
+S2RAM_LD_FLAGS = $(LD_FLAGS) -lpci
+SWSUSP_LD_FLAGS = $(LD_FLAGS)
+
+ifeq ($(ARCH), x86_64)
+S2RAM_OBJ+=vbetool/thunk.o vbetool/x86emu/libx86emu.a
+else
+S2RAM_OBJ+=vbetool/lrmi.o
+endif
+
+ifndef CONFIG_RESUME_DYN
+STATIC_LD_FLAGS = -static
+endif
ifdef CONFIG_COMPRESS
CC_FLAGS += -DCONFIG_COMPRESS
-LD_FLAGS += -llzf
+SWSUSP_LD_FLAGS += -llzf
endif
+
ifdef CONFIG_ENCRYPT
-GCRYPT_CC_FLAGS := $(shell libgcrypt-config --cflags)
-GCRYPT_LD_FLAGS := $(shell libgcrypt-config --libs)
+BINARIES += suspend-keygen
+BINARIES_MIN += suspend-keygen
CC_FLAGS += -DCONFIG_ENCRYPT
-CC_FLAGS += $(GCRYPT_CC_FLAGS)
-LD_FLAGS += $(GCRYPT_LD_FLAGS)
+GCRYPT_CC_FLAGS = $(shell libgcrypt-config --cflags)
+SWSUSP_CC_FLAGS += $(GCRYPT_CC_FLAGS)
+GCRYPT_LD_FLAGS = $(shell libgcrypt-config --libs)
+SWSUSP_LD_FLAGS += $(GCRYPT_LD_FLAGS)
+INSTALL_KEYGEN = install-keygen
endif
-SUSPEND_DIR=/usr/local/sbin
-RESUME_DIR=/usr/local/lib/suspend
-CONFIG_DIR=/etc
-RESUME_DEVICE=
-BOOT_DIR=/boot
-
-S2BOTH=s2both
-S2DISK=s2disk
-CONFIGFILE=suspend.conf
-
ifndef CONFIG_UDEV
SNAPSHOT=$(DESTDIR)/dev/snapshot
endif
-ifdef CONFIG_ENCRYPT
-all: $(S2DISK) $(S2BOTH) swap-offset suspend-keygen resume s2ram
-else
-all: $(S2DISK) $(S2BOTH) swap-offset resume s2ram
-endif
-
-S2RAMOBJ=vt.o vbetool/lrmi.o vbetool/x86-common.o vbetool/vbetool.o radeontool.o dmidecode.o
-
-ifeq ($(ARCH), x86_64)
-S2RAMOBJ=vt.o vbetool/thunk.o vbetool/x86-common.o vbetool/vbetool.o vbetool/x86emu/libx86emu.a radeontool.o dmidecode.o
-endif
-
-SPLASHOBJ = splash.o bootsplash.o
-
ifdef CONFIG_SPLASHY
+SWSUSP_OBJ += splashy_funcs.o
CC_FLAGS += -DCONFIG_SPLASHY
-LD_FLAGS += -lsplashy
-SPLASHOBJ += splashy_funcs.o
-STATIC_LD_FLAGS= -lsplashycnf \
+SWSUSP_LD_FLAGS += -lsplashy
+ifndef CONFIG_RESUME_DYN
+STATIC_LD_FLAGS += -lsplashycnf \
$(shell directfb-config --libs --input=keyboard \
--imageprovider=jpeg,gif,png\
--font=ft2,default) \
@@ -62,104 +71,86 @@
STATIC_CC_FLAGS=$(shell directfb-config --cflags)\
$(shell pkg-config --static --cflags glib-2.0)
endif
+endif
-clean:
- rm -f $(S2DISK) $(S2BOTH) swap-offset suspend-keygen suspend.keys resume s2ram *.o vbetool/*.o vbetool/x86emu/*.o vbetool/x86emu/*.a
-
-s2ram: s2ram.c dmidecode.c whitelist.c radeontool.c $(S2RAMOBJ)
- $(CC) $(CFLAGS) -g s2ram.c $(S2RAMOBJ) -lpci -o s2ram
-
-vbetool/vbetool.o: vbetool/vbetool.c
- $(CC) $(CFLAGS) -DS2RAM -c vbetool/vbetool.c -o vbetool/vbetool.o
+all: $(BINARIES)
-vbetool/lrmi.o: vbetool/lrmi.c
- $(CC) $(CFLAGS) -c vbetool/lrmi.c -o vbetool/lrmi.o
+clean:
+ rm -f $(BINARIES) suspend-keygen suspend.keys *.o vbetool/*.o vbetool/x86emu/*.o vbetool/x86emu/*.a
-vbetool/x86-common.o: vbetool/x86-common.c
- $(CC) $(CFLAGS) -c vbetool/x86-common.c -o vbetool/x86-common.o
+#### Rules for objects
vbetool/x86emu/libx86emu.a:
make -C vbetool/x86emu -f makefile.linux
-vbetool/thunk.o: vbetool/thunk.c
- $(CC) $(CFLAGS) -c vbetool/thunk.c -o vbetool/thunk.o
+s2ram-both.o: s2ram.c s2ram.h whitelist.c
+ $(CC) $(CC_FLAGS) -DCONFIG_BOTH -c $< -o $@
-dmidecode.o: dmidecode.c
- $(CC) $(CFLAGS) -DS2RAM -c dmidecode.c -o dmidecode.o
+s2ram.o: s2ram.c s2ram.h whitelist.c
+ $(CC) $(CC_FLAGS) -c $< -o $@
-radeontool.o: radeontool.c
- $(CC) $(CFLAGS) -DS2RAM -c radeontool.c -o radeontool.o
+md5.o encrypt.o: %.o : %.c %.h md5.h
+ $(CC) $(CC_FLAGS) -DHAVE_INTTYPES_H -DHAVE_STDINT_H -c $< -o $@
-md5.o: md5.c md5.h
- $(CC) $(CFLAGS) -DHAVE_INTTYPES_H -DHAVE_STDINT_H -c md5.c -o md5.o
+# Simple objects with header
+config.o vt.o bootsplash.o splash.o splashy_funcs.o vbetool/x86-common.o vbetool/vbetool.o: %.o : %.c %.h
+ $(CC) $(CC_FLAGS) -c $< -o $@
-encrypt.o: encrypt.c encrypt.h md5.h
- $(CC) $(CFLAGS) -DHAVE_INTTYPES_H -DHAVE_STDINT_H $(CC_FLAGS) -c encrypt.c -o encrypt.o
+# Simple object without header
+vbetool/lrmi.o vbetool/thunk.o dmidecode.o radeontool.o : %.o: %.c
+ $(CC) $(CC_FLAGS) -c $< -o $@
-config.o: config.c config.h
- $(CC) $(CFLAGS) $(CC_FLAGS) -c config.c -o config.o
-vt.o: vt.c vt.h
- $(CC) $(CFLAGS) -c vt.c -o vt.o
+#### Rules for binaries
+s2disk: $(SWSUSP_OBJ) suspend.c
+ $(CC) -g $(CC_FLAGS) $^ -o $@ $(SWSUSP_LD_FLAGS)
-bootsplash.o: bootsplash.h bootsplash.c
- $(CC) -g $(CFLAGS) $(CC_FLAGS) -c bootsplash.c -o bootsplash.o
+s2ram: $(S2RAM_OBJ) s2ram.o
+ $(CC) -g $(CC_FLAGS) $^ -o $@ $(S2RAM_LD_FLAGS)
-splash.o: splash.h splash.c bootsplash.o vt.o splashy_funcs.o
- $(CC) -g $(CFLAGS) $(CC_FLAGS) -c splash.c -o splash.o
+s2both: $(SWSUSP_OBJ) $(S2RAM_OBJ) s2ram-both.o suspend.c
+ $(CC) -g $(CC_FLAGS) -DCONFIG_BOTH $^ -o $@ $(SWSUSP_LD_FLAGS) $(S2RAM_LD_FLAGS)
-splashy_funcs.o: splashy_funcs.c splashy_funcs.h
- $(CC) -g $(CFLAGS) $(CC_FLAGS) -c $< -o $@
+resume: resume.c $(SWSUSP_OBJ)
+ $(CC) $(CC_FLAGS) $(STATIC_CC_FLAGS) $^ -o $@ $(STATIC_LD_FLAGS) $(SWSUSP_LD_FLAGS)
-$(S2DISK): vt.o md5.o encrypt.o config.o suspend.c swsusp.h config.h encrypt.h md5.h $(SPLASHOBJ)
- $(CC) -g $(CFLAGS) $(CC_FLAGS) vt.o md5.o encrypt.o config.o suspend.c -o $@ $(SPLASHOBJ) $(LD_FLAGS)
+swap-offset: swap-offset.c
+ $(CC) $(CC_FLAGS) $< -o $@ $(LD_FLAGS)
-$(S2BOTH): md5.o encrypt.o config.o suspend.c swsusp.h config.h encrypt.h md5.h s2ram.c dmidecode.c whitelist.c radeontool.c $(S2RAMOBJ) $(SPLASHOBJ)
- $(CC) -g $(CFLAGS) -DCONFIG_BOTH $(CC_FLAGS) md5.o encrypt.o config.o suspend.c s2ram.c -o $@ $(S2RAMOBJ) $(SPLASHOBJ) $(LD_FLAGS) -lpci
+suspend-keygen: keygen.c md5.o encrypt.h
+ $(CC) $(CC_FLAGS) $(GCRYPT_CC_FLAGS) -DHAVE_INTTYPES_H -DHAVE_STDINT_H md5.o $< -o $@ $(LD_FLAGS) $(GCRYPT_LD_FLAGS)
-resume: md5.o encrypt.o config.o resume.c swsusp.h config.h encrypt.h md5.h $(SPLASHOBJ)
- $(CC) $(CFLAGS) $(CC_FLAGS) $(STATIC_CC_FLAGS) md5.o encrypt.o config.o vt.o resume.c $(SPLASHOBJ) -static -o resume $(LD_FLAGS) $(STATIC_LD_FLAGS)
-swap-offset: swap-offset.c
- $(CC) $(CFLAGS) swap-offset.c -o swap-offset
-ifdef CONFIG_ENCRYPT
-suspend-keygen: md5.o keygen.c encrypt.h md5.h
- $(CC) $(CFLAGS) -DHAVE_INTTYPES_H -DHAVE_STDINT_H $(CC_FLAGS) md5.o keygen.c -o suspend-keygen $(LD_FLAGS)
-install-s2disk: $(S2DISK) suspend-keygen swap-offset conf/$(CONFIGFILE) $(SNAPSHOT)
- install -D --mode=755 suspend-keygen $(DESTDIR)$(SUSPEND_DIR)/suspend-keygen
- install --mode=755 $(S2DISK) $(DESTDIR)$(SUSPEND_DIR)
- if [ -f $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE) ]; then install --mode=644 conf/$(CONFIGFILE) $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE).new; else install -D --mode=644 conf/$(CONFIGFILE) $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE); fi
-
-install: $(S2DISK) $(S2BOTH) resume suspend-keygen swap-offset conf/$(CONFIGFILE) $(SNAPSHOT)
- install -D --mode=755 suspend-keygen $(DESTDIR)$(SUSPEND_DIR)/suspend-keygen
- install --mode=755 $(S2DISK) $(DESTDIR)$(SUSPEND_DIR)
- install --mode=755 $(S2BOTH) $(DESTDIR)$(SUSPEND_DIR)
- if [ -f $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE) ]; then install --mode=644 conf/$(CONFIGFILE) $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE).new; else install -D --mode=644 conf/$(CONFIGFILE) $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE); fi
- install --mode=755 s2ram $(DESTDIR)$(SUSPEND_DIR)
- install --mode=755 resume $(DESTDIR)$(RESUME_DIR)
- install --mode=755 swap-offset $(DESTDIR)$(SUSPEND_DIR)
-else
-install-s2disk: $(S2DISK) swap-offset conf/$(CONFIGFILE) $(SNAPSHOT)
- install -D --mode=755 $(S2DISK) $(DESTDIR)$(SUSPEND_DIR)/$(S2DISK)
- if [ -f $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE) ]; then install --mode=644 conf/$(CONFIGFILE) $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE).new; else install -D --mode=644 conf/$(CONFIGFILE) $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE); fi
-
-install: $(S2DISK) $(S2BOTH) resume swap-offset conf/$(CONFIGFILE) $(SNAPSHOT)
- install -D --mode=755 $(S2DISK) $(DESTDIR)$(SUSPEND_DIR)/$(S2DISK)
- install --mode=755 $(S2BOTH) $(DESTDIR)$(SUSPEND_DIR)
- if [ -f $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE) ]; then install --mode=644 conf/$(CONFIGFILE) $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE).new; else install -D --mode=644 conf/$(CONFIGFILE) $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE); fi
- install --mode=755 s2ram $(DESTDIR)$(SUSPEND_DIR)
+#### Install targets
+$(SNAPSHOT):
+ mknod $(SNAPSHOT) c 10 231;
+
+install-conf: conf/$(CONFIGFILE)
+ if [ -f $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE) ]; then \
+ install --mode=644 conf/$(CONFIGFILE) \
+ $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE).new;\
+ else \
+ install -D --mode=644 conf/$(CONFIGFILE) \
+ $(DESTDIR)$(CONFIG_DIR)/$(CONFIGFILE); \
+ fi
+
+install-resume:
install --mode=755 resume $(DESTDIR)$(RESUME_DIR)
- install --mode=755 swap-offset $(DESTDIR)$(SUSPEND_DIR)
-endif
-install-resume-initrd: resume conf/$(CONFIGFILE)
+install-% : %
+ install --mode=755 $< $(DESTDIR)$(SUSPEND_DIR)
+
+# Some convenience targets
+install-resume-new-initrd: resume conf/$(CONFIGFILE)
BOOT_DIR=$(DESTDIR)$(BOOT_DIR) ./scripts/create-resume-initrd.sh $(RESUME_DEVICE)
-install-resume: resume
+install-resume-on-initrd: resume
./scripts/install-resume.sh
-$(SNAPSHOT):
- mknod $(SNAPSHOT) c 10 231;
-
+install-minimal: $(patsubst %,install-%,$(BINARIES_MIN)) $(SNAPSHOT) install-conf
+
+install: $(patsubst %,install-%,$(BINARIES)) $(SNAPSHOT) install-conf
+
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/resume.c new/suspend-0.50.20070205/resume.c
--- old/suspend-0.50.20070122/resume.c 2006-12-03 12:29:59.000000000 +0100
+++ new/suspend-0.50.20070205/resume.c 2007-01-25 15:45:39.000000000 +0100
@@ -16,7 +16,6 @@
#include
#include
#include
-#include
#include
#include
#include
@@ -37,6 +36,7 @@
#include "config.h"
#include "md5.h"
#include "splash.h"
+#include "loglevel.h"
static char snapshot_dev_name[MAX_STR_LEN] = SNAPSHOT_DEVICE;
static char resume_dev_name[MAX_STR_LEN] = RESUME_DEVICE;
@@ -531,18 +531,12 @@
}
#endif
-static int read_image(int dev, char *resume_dev_name)
+static int open_resume_dev(char *resume_dev_name,
+ struct swsusp_header *swsusp_header)
{
- static struct swsusp_header swsusp_header;
- static struct swap_map_handle handle;
- static unsigned char orig_checksum[16], checksum[16];
- int fd, ret, error = 0;
- struct swsusp_info *header = mem_pool;
- char *buffer = (char *)mem_pool + page_size;
- unsigned int nr_pages;
unsigned int size = sizeof(struct swsusp_header);
unsigned int shift = (resume_offset + 1) * page_size - size;
- char c;
+ int fd, ret;
fd = open(resume_dev_name, O_RDWR);
if (fd < 0) {
@@ -552,15 +546,34 @@
}
if (lseek(fd, shift, SEEK_SET) != shift)
return -EIO;
- ret = read(fd, &swsusp_header, size);
+ ret = read(fd, swsusp_header, size);
if (ret == size) {
- if (memcmp(SWSUSP_SIG, swsusp_header.sig, 10))
- return -EINVAL;
+ if (memcmp(SWSUSP_SIG, swsusp_header->sig, 10)) {
+ close(fd);
+ return -ENOMEDIUM;
+ }
} else {
- error = ret < 0 ? ret : -EIO;
+ ret = ret < 0 ? ret : -EIO;
+ return ret;
}
- if (!error)
- error = read_area(fd, header, swsusp_header.image, page_size);
+
+ return fd;
+}
+
+static int read_image(int dev, int fd, struct swsusp_header *swsusp_header)
+{
+ static struct swap_map_handle handle;
+ static unsigned char orig_checksum[16], checksum[16];
+ int ret, error = 0;
+ struct swsusp_info *header = mem_pool;
+ char *buffer = (char *)mem_pool + page_size;
+ unsigned int nr_pages;
+ unsigned int size = sizeof(struct swsusp_header);
+ unsigned int shift = (resume_offset + 1) * page_size - size;
+ char c;
+
+ error = read_area(fd, header, swsusp_header->image, page_size);
+
if (!error) {
if(header->image_flags & IMAGE_CHECKSUM) {
memcpy(orig_checksum, header->checksum, 16);
@@ -669,31 +682,36 @@
if (ret) {
close(fd);
reboot();
+ fprintf(stderr,"resume: Reboot failed, please reboot it manually.\n");
+ while(1)
+ sleep(1);
}
}
- if (!error || !ret) {
- if (!error && verify_checksum) {
- md5_finish_ctx(&handle.ctx, checksum);
- if (memcmp(orig_checksum, checksum, 16)) {
- fprintf(stderr,"resume: MD5 checksum does not match\n");
- fprintf(stderr,"resume: Computed MD5 checksum %s\n",
- print_checksum(buffer, checksum));
- error = -EINVAL;
- }
+
+ /* I guess this is after the 'continue boot'-question because
+ * there is no sense in not reseting the signature on error */
+ if (!error && verify_checksum) {
+ md5_finish_ctx(&handle.ctx, checksum);
+ if (memcmp(orig_checksum, checksum, 16)) {
+ fprintf(stderr,"resume: MD5 checksum does not match\n");
+ fprintf(stderr,"resume: Computed MD5 checksum %s\n",
+ print_checksum(buffer, checksum));
+ error = -EINVAL;
}
- /* Reset swap signature now */
- memcpy(swsusp_header.sig, swsusp_header.orig_sig, 10);
- if (lseek(fd, shift, SEEK_SET) != shift) {
- error = -EIO;
- } else {
- ret = write(fd, &swsusp_header, size);
- if (ret != size) {
- error = ret < 0 ? -errno : -EIO;
- fprintf(stderr,
- "resume: Could not restore the partition header\n");
- }
+ }
+ /* Reset swap signature now */
+ memcpy(swsusp_header->sig, swsusp_header->orig_sig, 10);
+ if (lseek(fd, shift, SEEK_SET) != shift) {
+ error = -EIO;
+ } else {
+ ret = write(fd, swsusp_header, size);
+ if (ret != size) {
+ error = ret < 0 ? -errno : -EIO;
+ fprintf(stderr,
+ "resume: Could not restore the partition header\n");
}
}
+
fsync(fd);
close(fd);
#ifdef CONFIG_ENCRYPT
@@ -711,29 +729,6 @@
return error;
}
-static void set_kernel_console_loglevel(int level)
-{
- FILE *file;
- struct stat stat_buf;
- char *procname = "/proc/sys/kernel/printk";
- int proc_mounted = 0;
-
- if (stat(procname, &stat_buf) && errno == ENOENT) {
- if (mount("none", "/proc", "proc", 0, NULL)) {
- fprintf(stderr, "resume: Could not mount proc\n");
- return;
- } else
- proc_mounted = 1;
- }
- file = fopen(procname, "w");
- if (file) {
- fprintf(file, "%d\n", level);
- fclose(file);
- }
- if (proc_mounted)
- umount("/proc");
-}
-
/* Parse the command line and/or configuration file */
static inline int get_config(int argc, char *argv[])
{
@@ -783,8 +778,9 @@
{
unsigned int mem_size;
struct stat stat_buf;
- int dev;
- int n, error;
+ int dev, resume_dev;
+ int n, error, orig_loglevel;
+ static struct swsusp_header swsusp_header;
error = get_config(argc, argv);
if (error)
@@ -809,6 +805,10 @@
return error;
}
+ open_printk();
+ orig_loglevel = get_kernel_console_loglevel();
+ set_kernel_console_loglevel(suspend_loglevel);
+
while (stat(resume_dev_name, &stat_buf)) {
fprintf(stderr,
"resume: Could not stat the resume device file '%s'\n"
@@ -826,8 +826,6 @@
resume_dev_name[n] = '\0';
}
- set_kernel_console_loglevel(suspend_loglevel);
-
setvbuf(stdout, NULL, _IONBF, 0);
setvbuf(stderr, NULL, _IONBF, 0);
@@ -837,33 +835,52 @@
goto Free;
}
- splash_prepare(&splash, splash_param);
- splash.progress(5);
dev = open(snapshot_dev_name, O_WRONLY);
if (dev < 0) {
error = ENOENT;
goto Free;
}
- error = read_image(dev, resume_dev_name);
+
+ resume_dev = open_resume_dev(resume_dev_name, &swsusp_header);
+ if (resume_dev == -ENOMEDIUM) {
+ error = 0;
+ goto Close;
+ } else if (resume_dev < 0) {
+ error = -resume_dev;
+ goto Close;
+ }
+
+ splash_prepare(&splash, splash_param);
+ splash.progress(5);
+
+ error = read_image(dev, resume_dev, &swsusp_header);
if (error) {
fprintf(stderr, "resume: Could not read the image\n");
error = -error;
- goto Close;
+ goto Close_splash;
}
+
if (freeze(dev)) {
error = errno;
fprintf(stderr, "resume: Could not freeze processes\n");
- goto Close;
+ goto Close_splash;
}
atomic_restore(dev);
unfreeze(dev);
+
+Close_splash:
splash.finish();
Close:
close(dev);
-
- set_kernel_console_loglevel(max_loglevel);
Free:
+ if (error)
+ set_kernel_console_loglevel(max_loglevel);
+ else if (orig_loglevel >= 0)
+ set_kernel_console_loglevel(orig_loglevel);
+
+ close_printk();
+
free(mem_pool);
return error;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/s2ram.c new/suspend-0.50.20070205/s2ram.c
--- old/suspend-0.50.20070122/s2ram.c 2007-01-19 11:27:38.000000000 +0100
+++ new/suspend-0.50.20070205/s2ram.c 2007-02-02 13:10:27.000000000 +0100
@@ -13,7 +13,9 @@
#include
+#ifndef S2RAM
#define S2RAM
+#endif
#include "vbetool/vbetool.h"
#include "vt.h"
#include "s2ram.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/suspend.c new/suspend-0.50.20070205/suspend.c
--- old/suspend-0.50.20070122/suspend.c 2007-01-22 18:27:56.000000000 +0100
+++ new/suspend-0.50.20070205/suspend.c 2007-02-02 17:08:47.000000000 +0100
@@ -44,6 +44,7 @@
#include "md5.h"
#include "splash.h"
#include "vt.h"
+#include "loglevel.h"
#ifdef CONFIG_BOTH
#include "s2ram.h"
#endif
@@ -776,6 +777,9 @@
}
if (!atomic_snapshot(snapshot_fd, &in_suspend)) {
if (!in_suspend) {
+ /* first unblank the console, see console_codes(4) */
+ printf("\e[13]");
+ printf("suspend: returned to userspace\n");
free_snapshot(snapshot_fd);
if (use_platform_suspend)
platform_finish(snapshot_fd);
@@ -967,39 +971,6 @@
close(fd);
}
-static FILE *printk_file;
-
-static inline void open_printk(void)
-{
- printk_file = fopen("/proc/sys/kernel/printk", "r+");
-}
-
-static inline int get_kernel_console_loglevel(void)
-{
- int level = -1;
-
- if (printk_file) {
- rewind(printk_file);
- fscanf(printk_file, "%d", &level);
- }
- return level;
-}
-
-static inline void set_kernel_console_loglevel(int level)
-{
- if (printk_file) {
- rewind(printk_file);
- fprintf(printk_file, "%d\n", level);
- fflush(printk_file);
- }
-}
-
-static inline void close_printk(void)
-{
- if (printk_file)
- fclose(printk_file);
-}
-
static FILE *swappiness_file;
static inline void open_swappiness(void)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suspend-0.50.20070122/whitelist.c new/suspend-0.50.20070205/whitelist.c
--- old/suspend-0.50.20070122/whitelist.c 2007-01-22 22:17:25.000000000 +0100
+++ new/suspend-0.50.20070205/whitelist.c 2007-02-05 17:27:43.000000000 +0100
@@ -37,6 +37,8 @@
{ "Acer", "TravelMate 650", "", "", VBE_POST|VBE_SAVE },
/* Martin Sack, this one may be NOFB, to be verified */
{ "Acer", "TravelMate 800", "", "", VBE_POST },
+ /* Arkadiusz Miskiewicz */
+ { "Acer", "TravelMate 2300", "", "", VBE_POST|VBE_MODE },
/* jan sekal */
{ "Acer", "TravelMate 2410", "", "", S3_BIOS|S3_MODE },
/* Peter Stolz */
@@ -82,7 +84,7 @@
{ "Compaq", "Armada E500 *", "", "", 0 },
/* Chris AtLee , VBE_MODE does not work, text size changes. */
{ "Compaq ", "Evo N800w *", "", "", VBE_POST|VBE_SAVE },
- { "Compaq", "N620c *", "", "", S3_BIOS|S3_MODE },
+ { "Compaq*", "N620c *", "", "", S3_BIOS|S3_MODE },
/* From bug 1544913@sf.net, Andrei - amaces */
{ "Dell Computer Corporation", "Inspiron 1150*", "", "", 0 },
/* Dell Inspiron 500m, Per Øyvind Karlsen */
@@ -145,6 +147,8 @@
{ "FUJITSU SIEMENS", "Amilo A7645 ", "", "", VBE_SAVE|S3_BIOS|S3_MODE },
/* Markus Meyer , Christian Illy */
{ "FUJITSU SIEMENS", "Amilo Si 1520", "", "", S3_BIOS|S3_MODE },
+ /* Aleksandar Markovic */
+ { "FUJITSU SIEMENS", "AMILO PRO V2030", "", "", VBE_POST|VBE_MODE },
/* , tested with X only */
{ "FUJITSU SIEMENS", "LIFEBOOK S7010", "", "", 0 },
/* Eckhart Woerner */
@@ -179,6 +183,8 @@
/* Arthur Peters */
{ "Hewlett-Packard", "Presario R3200 *", "", "", VBE_POST|VBE_SAVE },
{ "Hewlett-Packard", "Presario R4100 *", "", "", S3_BIOS|S3_MODE },
+ /* From: "Lim Chuen Ee, Mike" */
+ { "Hewlett-Packard", "Presario V3000 (RL377PA#*","", "", S3_BIOS|S3_MODE },
/* "Zirkel, Timothy K" */
{ "Hewlett-Packard ", "Compaq Presario X1000 (DK454AV)*", "", "", S3_BIOS },
/* Fabio Comolli , dv4378ea, ATI X700 */
@@ -187,12 +193,16 @@
{ "Hewlett-Packard", "Pavilion dv4000 (EB911EA#*", "", "", S3_BIOS },
/* Arun Gupta */
{ "Hewlett-Packard", "Pavilion dv6000 (EY798AV#*", "", "", 0 },
+ /* Antony Dovgal */
+ { "Hewlett-Packard", "HP Pavilion dv6000 (RM469EA#*","", "", 0 },
+ /* John Soros "HP dv6120ea" */
+ { "Hewlett-Packard", "HP Pavilion dv6000 (RP980EA#*","", "", 0 },
/* Frank Schröder , zt3380us */
{ "Hewlett-Packard ", "Pavilion zt3300 (PF083UA#*", "", "", 0 },
/* Karthik */
{ "Hewlett-Packard ", "Pavilion zt3300 *", "", "68BAL*", S3_BIOS },
- /* R51 and T43 confirmed by Christian Zoz */
- { "IBM", "1829*", "ThinkPad R51", "", 0 },
+ /* R51 confirmed by Christian Zoz and Sitsofe Wheeler */
+ { "IBM", "", "ThinkPad R51", "", 0 },
/* R52, reported by Joscha Arenz */
{ "IBM", "1860*", "", "", S3_BIOS|S3_MODE },
/* T30 */
@@ -244,6 +254,8 @@
i do not dare to wildcard anything here :-( */
/* Aviv Ben-Yosef */
{ "LENOVO", "07686VG", "3000 N100 *", "", 0 },
+ /* Ted Percival */
+ { "LENOVO", "07687MM", "3000 N100 *", "", S3_MODE },
{ "LG Electronics", "M1-3DGBG", "", "", S3_BIOS|S3_MODE },
{ "Matsushita Electric Industrial Co.,Ltd.", "CF-51E*", "", "", VBE_POST|VBE_MODE },
@@ -301,6 +313,8 @@
/* Gregory Colpart 'Transtec Levio 210' */
{ "transtec AG", "MS-1057", "", "", S3_BIOS|S3_MODE },
+ /* Joachim Gleissner */
+ { "transtec AG", "MS-1034", "", "", S3_BIOS|S3_MODE },
/* VIA EPIA M Mini-ITX Motherboard with onboard gfx, reported by Monica Schilling */
{ "VIA Technologies, Inc.", "VT8623-8235", "", "", S3_MODE },
@@ -370,7 +384,6 @@
{ "IBM", "2724*", "", "", VBE_POST|VBE_SAVE|UNSURE },
{ "IBM", "2897*", "", "", VBE_POST|VBE_SAVE|UNSURE },
// R50/p
- { "IBM", "1829*", "", "", VBE_POST|VBE_SAVE|UNSURE },
{ "IBM", "1830*", "", "", VBE_POST|VBE_SAVE|UNSURE },
{ "IBM", "1831*", "", "", VBE_POST|VBE_SAVE|UNSURE },
{ "IBM", "1832*", "", "", VBE_POST|VBE_SAVE|UNSURE },
++++++ suspend-20070205-installfixes.diff ++++++
--- Makefile
+++ Makefile
@@ -137,10 +137,10 @@
fi
install-resume:
- install --mode=755 resume $(DESTDIR)$(RESUME_DIR)
+ install -D --mode=755 resume $(DESTDIR)$(RESUME_DIR)/resume
install-% : %
- install --mode=755 $< $(DESTDIR)$(SUSPEND_DIR)
+ install -D --mode=755 $< $(DESTDIR)$(SUSPEND_DIR)/$<
# Some convenience targets
install-resume-new-initrd: resume conf/$(CONFIGFILE)
++++++ suspend-comment-configfile-options.diff ++++++
--- /var/tmp/diff_new_pack.Y26471/_old 2007-02-05 23:38:05.000000000 +0100
+++ /var/tmp/diff_new_pack.Y26471/_new 2007-02-05 23:38:05.000000000 +0100
@@ -1,6 +1,6 @@
--- conf/suspend.conf
+++ conf/suspend.conf
-@@ -1,9 +1,34 @@
+@@ -1,9 +1,43 @@
-snapshot device = /dev/snapshot
-resume device =
+#############################################################################
@@ -38,3 +38,12 @@
+#
+#early writeout = n
#splash = y
++#
++## shutdown method:
++## platform - go through ACPI BIOS to power off the machine (default)
++## shutdown - just power off like after a shutdown
++## reboot - reboot instead of powering off. For debugging only.
++#shutdown mode = platform
++#
++## resume offset: for use with swapfiles, use "swap-offset" to find out.
++#resume offset = 12345
++++++ suspend-libpci_needs_libz.diff ++++++
--- /var/tmp/diff_new_pack.Y26471/_old 2007-02-05 23:38:05.000000000 +0100
+++ /var/tmp/diff_new_pack.Y26471/_new 2007-02-05 23:38:05.000000000 +0100
@@ -1,36 +1,11 @@
--- Makefile
+++ Makefile
-@@ -66,7 +66,7 @@
- rm -f $(S2DISK) $(S2BOTH) suspend-keygen suspend.keys resume s2ram *.o vbetool/*.o vbetool/x86emu/*.o vbetool/x86emu/*.a
+@@ -25,7 +25,7 @@
+ S2RAM_OBJ=vt.o vbetool/x86-common.o vbetool/vbetool.o radeontool.o dmidecode.o
+ SWSUSP_OBJ=vt.o md5.o encrypt.o config.o loglevel.o splash.o bootsplash.o
+
+-S2RAM_LD_FLAGS = $(LD_FLAGS) -lpci
++S2RAM_LD_FLAGS = $(LD_FLAGS) -lpci -lz
+ SWSUSP_LD_FLAGS = $(LD_FLAGS)
- s2ram: s2ram.c dmidecode.c whitelist.c radeontool.c $(S2RAMOBJ)
-- $(CC) $(CFLAGS) -g s2ram.c $(S2RAMOBJ) -lpci -o s2ram
-+ $(CC) $(CFLAGS) -g s2ram.c $(S2RAMOBJ) -lpci -lz -o s2ram
-
- vbetool/vbetool.o: vbetool/vbetool.c
- $(CC) $(CFLAGS) -DS2RAM -c vbetool/vbetool.c -o vbetool/vbetool.o
-@@ -114,7 +114,7 @@
- $(CC) -g $(CFLAGS) $(CC_FLAGS) vt.o md5.o encrypt.o config.o suspend.c -o $@ $(SPLASHOBJ) $(LD_FLAGS)
-
- $(S2BOTH): md5.o encrypt.o config.o suspend.c swsusp.h config.h encrypt.h md5.h s2ram.c dmidecode.c whitelist.c radeontool.c $(S2RAMOBJ) $(SPLASHOBJ)
-- $(CC) -g $(CFLAGS) -DCONFIG_BOTH $(CC_FLAGS) md5.o encrypt.o config.o suspend.c s2ram.c -o $@ $(S2RAMOBJ) $(SPLASHOBJ) $(LD_FLAGS) -lpci
-+ $(CC) -g $(CFLAGS) -DCONFIG_BOTH $(CC_FLAGS) md5.o encrypt.o config.o suspend.c s2ram.c -o $@ $(S2RAMOBJ) $(SPLASHOBJ) $(LD_FLAGS) -lpci -lz
-
- resume: md5.o encrypt.o config.o resume.c swsusp.h config.h encrypt.h md5.h $(SPLASHOBJ)
- $(CC) $(CFLAGS) $(CC_FLAGS) $(STATIC_CC_FLAGS) md5.o encrypt.o config.o vt.o resume.c $(SPLASHOBJ) -static -o resume $(LD_FLAGS) $(STATIC_LD_FLAGS)
---- vbetool/Makefile.am
-+++ vbetool/Makefile.am
-@@ -6,11 +6,11 @@
-
- if WITH_X86EMU
- x86 = thunk.c x86-common.c
--vbetool_LDADD = x86emu/libx86emu.a /usr/lib/libpci.a
-+vbetool_LDADD = x86emu/libx86emu.a /usr/lib/libpci.a /usr/lib/libz.a
- else
- x86 = lrmi.c x86-common.c
- x86lib = ""
--vbetool_LDADD = /usr/lib/libpci.a
-+vbetool_LDADD = /usr/lib/libpci.a /usr/lib/libz.a
- endif
-
- man_MANS = vbetool.1
+ ifeq ($(ARCH), x86_64)
++++++ suspend-use-console-63.diff ++++++
--- /var/tmp/diff_new_pack.Y26471/_old 2007-02-05 23:38:05.000000000 +0100
+++ /var/tmp/diff_new_pack.Y26471/_new 2007-02-05 23:38:05.000000000 +0100
@@ -1,6 +1,6 @@
--- suspend.c
+++ suspend.c
-@@ -886,6 +886,8 @@
+@@ -880,6 +880,8 @@
vt = tiocl[0];
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org