Hello community, here is the log from the commit of package suspend for openSUSE:Factory checked in at 2014-01-10 21:22:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/suspend (Old) and /work/SRC/openSUSE:Factory/.suspend.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "suspend" Changes: -------- --- /work/SRC/openSUSE:Factory/suspend/suspend.changes 2013-12-17 10:06:10.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.suspend.new/suspend.changes 2014-01-10 21:22:23.000000000 +0100 @@ -1,0 +2,13 @@ +Fri Jan 10 11:59:01 CET 2014 - fcro...@suse.com + +- Disable splashy support +- Update suspend-plymouth.patch to fix compilation warnings and + inconsistent indentation. + +------------------------------------------------------------------- +Fri Jan 10 10:06:21 CET 2014 - mhruse...@suse.cz + +- disable encryption on 13.2 (because of new libcrypt API) + See http://sourceforge.net/mailarchive/message.php?msg_id=31787309 + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ suspend.spec ++++++ --- /var/tmp/diff_new_pack.AUegwZ/_old 2014-01-10 21:22:25.000000000 +0100 +++ /var/tmp/diff_new_pack.AUegwZ/_new 2014-01-10 21:22:25.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package suspend # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2013 B1 Systems GmbH, Vohburg, Germany # # All modifications and additions to the file contributed by third parties @@ -19,17 +19,18 @@ Name: suspend BuildRequires: glib2-devel +%if 0%{?suse_version} < 1320 %if 0%{?suse_version} > 1210 BuildRequires: libgnutls-devel %else BuildRequires: gnutls-devel %endif BuildRequires: libgcrypt-devel +%endif BuildRequires: libtool BuildRequires: pciutils-devel BuildRequires: pkgconfig BuildRequires: plymouth-devel -BuildRequires: splashy-devel %if 0%{?mandriva_version} BuildRequires: liblzo-devel %else @@ -120,9 +121,13 @@ ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-initramfsdir=/usr/sbin \ +%if 0%{?suse_version} > 1310 + --disable-encrypt \ +%else --enable-encrypt \ +%endif --enable-plymouth \ - --enable-splashy \ + --disable-splashy \ --disable-resume-static \ --enable-threads \ --docdir=%{_docdir}/%{name} \ @@ -135,8 +140,10 @@ install -d $RPM_BUILD_ROOT/lib/mkinitrd/scripts install -m 755 %{S:4} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-resume.kernel.sh install -m 755 %{S:5} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-resume.userspace.sh +%if 0%{?suse_version} < 1320 install -m 755 %{S:2} $RPM_BUILD_ROOT/usr/sbin/ touch $RPM_BUILD_ROOT/etc/suspend.key +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -159,6 +166,17 @@ /sbin/mkinitrd /sbin/update-bootloader --refresh fi +%if 0%{?suse_version} > 1310 +if [ "`grep "^[[:blank:]]*encrypt[[:blank:]]*=[[:blank:]]*y" /etc/suspend.conf`" ]; then +cat > /var/adm/update-messages/%{name}-%{version}-%{release} << EOF +Encryption in suspend +===================== + +Due to the heavy changes in libgcrypt, suspend no longer supports encryption. +As you have it enabled in the setup, you should take other precautions. +EOF +fi +%endif %postun if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then @@ -177,14 +195,16 @@ %dir /lib/mkinitrd/scripts /lib/mkinitrd/scripts/boot-resume.kernel.sh /lib/mkinitrd/scripts/boot-resume.userspace.sh -%ghost %config(noreplace) /etc/suspend.key /usr/sbin/s2disk /usr/sbin/s2ram /usr/sbin/s2both /usr/sbin/resume -/usr/sbin/suspend-keygen /usr/sbin/swap-offset +%if 0%{?suse_version} < 1320 +/usr/sbin/suspend-keygen /usr/sbin/configure-suspend-encryption.sh +%ghost %config(noreplace) /etc/suspend.key +%endif %doc README README.s2ram-whitelist README.encryption HOWTO COPYING conf/suspend.conf %changelog ++++++ suspend-plymouth.patch ++++++ --- /var/tmp/diff_new_pack.AUegwZ/_old 2014-01-10 21:22:25.000000000 +0100 +++ /var/tmp/diff_new_pack.AUegwZ/_new 2014-01-10 21:22:25.000000000 +0100 @@ -15,7 +15,7 @@ AC_ARG_WITH( [devdir], [AC_HELP_STRING([--with-devdir=DIR], [use if --enable-create-device, put devices in this directory, default /dev])], -@@ -249,6 +255,21 @@ if test "${enable_fbsplash}" = "yes"; th +@@ -251,6 +257,21 @@ if test "${enable_fbsplash}" = "yes"; th ) fi @@ -37,7 +37,7 @@ if test "${enable_threads}" = "yes"; then CONFIG_FEATURES="${CONFIG_FEATURES} threads" AC_DEFINE([CONFIG_THREADS], [1], [Define if threads enabled]) -@@ -301,6 +322,7 @@ AM_CONDITIONAL([ENABLE_RESUME_STATIC], [ +@@ -303,6 +324,7 @@ AM_CONDITIONAL([ENABLE_RESUME_STATIC], [ AM_CONDITIONAL([ENABLE_CREATE_DEVICE], [test "${enable_create_device}" = "yes"]) AM_CONDITIONAL([ENABLE_SPLASHY], [test "${enable_splashy}" = "yes"]) AM_CONDITIONAL([ENABLE_FBSPLASH], [test "${enable_fbsplash}" = "yes"]) @@ -59,20 +59,21 @@ endif noinst_LIBRARIES=\ libsuspend-common.a -@@ -88,6 +91,12 @@ AM_CFLAGS+=\ +@@ -88,6 +91,13 @@ AM_CFLAGS+=\ common_s2disk_libs+=\ ${FBSPLASH_LIBS} endif +if ENABLE_PLYMOUTH +AM_CFLAGS+=\ -+ ${PLYMOUTH_CFLAGS} ++ ${PLYMOUTH_CFLAGS} \ ++ -D_GNU_SOURCE +common_s2disk_libs+=\ + ${PLYMOUTH_LIBS} +endif libsuspend_common_a_SOURCES=\ swsusp.h suspend_ioctls.h \ -@@ -99,6 +108,7 @@ libsuspend_common_a_SOURCES=\ +@@ -99,6 +109,7 @@ libsuspend_common_a_SOURCES=\ splash.h splash.c \ splashy_funcs.h splashy_funcs.c \ fbsplash_funcs.h fbsplash_funcs.c \ @@ -80,7 +81,7 @@ bootsplash.h bootsplash.c \ memalloc.h memalloc.c load.c \ whitelist.h whitelist.csv whitelist.c \ -@@ -179,6 +189,11 @@ whitelist.c: whitelist.csv +@@ -179,6 +190,11 @@ whitelist.c: whitelist.csv clean-local: rm -f whitelist.c @@ -96,7 +97,7 @@ =================================================================== --- /dev/null +++ suspend-utils-1.0/plymouth_funcs.c -@@ -0,0 +1,259 @@ +@@ -0,0 +1,261 @@ +/* + * plymouth_funcs.c + * @@ -116,6 +117,8 @@ +#include <fcntl.h> +#include <unistd.h> +#include <stdlib.h> ++#include <sys/types.h> ++#include <sys/wait.h> + +#include "splash.h" +#include "encrypt.h" @@ -145,158 +148,158 @@ +static char last_key = -1; + +static void keyboard_input_handler (void *user_data, const char *keyboard_input, size_t character_size) { -+ fprintf(stderr, "key pressed\n"); -+ key_pressed = 1; -+ if (character_size > 0) { -+ last_key = keyboard_input[character_size - 1]; -+ } ++ fprintf(stderr, "key pressed\n"); ++ key_pressed = 1; ++ if (character_size > 0) { ++ last_key = keyboard_input[character_size - 1]; ++ } +} + +int plymouth_update(const char *arg) { -+ const char *cmd = "/usr/bin/plymouth"; -+ pid_t pid = fork(); -+ if (!pid) { -+ int fd = open("/dev/null", O_RDWR); -+ dup2(fd, 2); -+ close(fd); -+ if (execl(cmd, cmd, arg, (char *) NULL) == -1) -+ exit(1); -+ } -+ else { -+ int status; -+ waitpid(pid, &status, 0); -+ return status; -+ } -+ return 1; ++ const char *cmd = "/usr/bin/plymouth"; ++ pid_t pid = fork(); ++ if (!pid) { ++ int fd = open("/dev/null", O_RDWR); ++ dup2(fd, 2); ++ close(fd); ++ if (execl(cmd, cmd, arg, (char *) NULL) == -1) ++ exit(1); ++ } ++ else { ++ int status; ++ waitpid(pid, &status, 0); ++ return status; ++ } ++ return 1; +} + +void terminate_plymouth() { -+ ply_keyboard_stop_watching_for_input (keyboard); -+ ply_keyboard_remove_input_handler (keyboard, keyboard_input_handler); -+ ply_boot_splash_unset_keyboard (ply_splash); -+ ply_boot_splash_hide (ply_splash); -+ ply_boot_splash_free (ply_splash); -+ ply_progress_free (ply_progress); -+ ply_renderer_close (renderer); -+ ply_renderer_free (renderer); -+ ply_terminal_close (terminal); -+ ply_terminal_free (terminal); -+ ply_buffer_free (buffer); ++ ply_keyboard_stop_watching_for_input (keyboard); ++ ply_keyboard_remove_input_handler (keyboard, keyboard_input_handler); ++ ply_boot_splash_unset_keyboard (ply_splash); ++ ply_boot_splash_hide (ply_splash); ++ ply_boot_splash_free (ply_splash); ++ ply_progress_free (ply_progress); ++ ply_renderer_close (renderer); ++ ply_renderer_free (renderer); ++ ply_terminal_close (terminal); ++ ply_terminal_free (terminal); ++ ply_buffer_free (buffer); +} + +static int plymouth_init() { -+ -+ int ret; -+ ply_key_file_t *key_file; -+ char *splash_string; -+ char *splash_path; -+ ply_list_t *heads; -+ ply_list_node_t *node; -+ -+ -+ buffer = ply_buffer_new (); -+ -+ key_file = ply_key_file_new (PLYMOUTH_CONFDIR "plymouthd.conf"); -+ -+ if ((ret = ply_key_file_load (key_file)) == 0) -+ { -+ return ret; -+ } -+ splash_string = ply_key_file_get_value (key_file, "Daemon", "Theme"); -+ -+ asprintf(&splash_path, PLYMOUTH_THEMESDIR "%s/%s.plymouth", splash_string, splash_string); -+ free (splash_string); -+ terminal = ply_terminal_new ("tty63"); -+ ply_splash = ply_boot_splash_new (splash_path, PLYMOUTH_PLUGINSDIR, buffer); -+ free (splash_path); -+ if ((ret = ply_boot_splash_load (ply_splash)) == 0) { -+ fprintf(stderr,"could not open splash\n"); -+ return ret; -+ } -+ renderer = ply_renderer_new (NULL, NULL, terminal); -+ if ((ret = ply_renderer_open (renderer))== 0) { -+ fprintf(stderr,"could not open renderer /dev/fb\n"); -+ return ret; -+ } -+ keyboard = ply_keyboard_new_for_terminal (terminal); -+ -+ text_display = ply_text_display_new (terminal); -+ ply_boot_splash_add_text_display (ply_splash, text_display); -+ -+ heads = ply_renderer_get_heads (renderer); -+ pixel_displays = ply_list_new(); -+ -+ -+ node = ply_list_get_first_node (heads); -+ -+ while (node != NULL) -+ { -+ ply_list_node_t *next_node; -+ ply_renderer_head_t *head; -+ ply_pixel_display_t *display; -+ -+ head = ply_list_node_get_data (node); -+ next_node = ply_list_get_next_node (heads, node); -+ -+ display = ply_pixel_display_new (renderer, head); -+ -+ ply_list_append_data (pixel_displays, display); -+ node = next_node; -+ ply_boot_splash_add_pixel_display (ply_splash, display); -+ } -+ -+ ply_progress = ply_progress_new(); -+ ply_boot_splash_attach_progress (ply_splash, ply_progress); -+ ply_boot_splash_attach_to_event_loop (ply_splash, ply_event_loop_get_default()); + ++ int ret; ++ ply_key_file_t *key_file; ++ char *splash_string; ++ char *splash_path; ++ ply_list_t *heads; ++ ply_list_node_t *node; ++ ++ ++ buffer = ply_buffer_new (); ++ ++ key_file = ply_key_file_new (PLYMOUTH_CONFDIR "plymouthd.conf"); ++ ++ if ((ret = ply_key_file_load (key_file)) == 0) ++ { ++ return ret; ++ } ++ splash_string = ply_key_file_get_value (key_file, "Daemon", "Theme"); ++ ++ asprintf(&splash_path, PLYMOUTH_THEMESDIR "%s/%s.plymouth", splash_string, splash_string); ++ free (splash_string); ++ terminal = ply_terminal_new ("tty63"); ++ ply_splash = ply_boot_splash_new (splash_path, PLYMOUTH_PLUGINSDIR, buffer); ++ free (splash_path); ++ if ((ret = ply_boot_splash_load (ply_splash)) == 0) { ++ fprintf(stderr,"could not open splash\n"); ++ return ret; ++ } ++ renderer = ply_renderer_new (NULL, NULL, terminal); ++ if ((ret = ply_renderer_open (renderer))== 0) { ++ fprintf(stderr,"could not open renderer /dev/fb\n"); ++ return ret; ++ } ++ keyboard = ply_keyboard_new_for_terminal (terminal); ++ ++ text_display = ply_text_display_new (terminal); ++ ply_boot_splash_add_text_display (ply_splash, text_display); ++ ++ heads = ply_renderer_get_heads (renderer); ++ pixel_displays = ply_list_new(); ++ ++ ++ node = ply_list_get_first_node (heads); ++ ++ while (node != NULL) ++ { ++ ply_list_node_t *next_node; ++ ply_renderer_head_t *head; ++ ply_pixel_display_t *display; ++ ++ head = ply_list_node_get_data (node); ++ next_node = ply_list_get_next_node (heads, node); ++ ++ display = ply_pixel_display_new (renderer, head); ++ ++ ply_list_append_data (pixel_displays, display); ++ node = next_node; ++ ply_boot_splash_add_pixel_display (ply_splash, display); ++ } ++ ++ ply_progress = ply_progress_new(); ++ ply_boot_splash_attach_progress (ply_splash, ply_progress); ++ ply_boot_splash_attach_to_event_loop (ply_splash, ply_event_loop_get_default()); + -+ ply_keyboard_add_input_handler(keyboard, keyboard_input_handler, NULL); -+ return ret; ++ ++ ply_keyboard_add_input_handler(keyboard, keyboard_input_handler, NULL); ++ return ret; + +} + +int plymouth_open(int mode) +{ -+ int ret; ++ int ret; + -+ if ((ret = plymouth_init ()) == 0 ) -+ { -+ fprintf(stderr,"could not initialize plymouth : error %d \n",ret); -+ return -1; -+ } -+ -+ ply_boot_splash_set_keyboard (ply_splash, keyboard); -+ ply_renderer_activate (renderer); -+ if (mode==SPL_RESUME) { -+ ply_boot_splash_show (ply_splash, PLY_BOOT_SPLASH_MODE_RESUME); -+ } -+ else { -+ ply_boot_splash_show (ply_splash, PLY_BOOT_SPLASH_MODE_SUSPEND); -+ ply_boot_splash_display_message (ply_splash, "Suspending..." ); -+ } -+ ply_keyboard_watch_for_input(keyboard); ++ if ((ret = plymouth_init ()) == 0 ) ++ { ++ fprintf(stderr,"could not initialize plymouth : error %d \n",ret); ++ return -1; ++ } ++ ++ ply_boot_splash_set_keyboard (ply_splash, keyboard); ++ ply_renderer_activate (renderer); ++ if (mode==SPL_RESUME) { ++ ply_boot_splash_show (ply_splash, PLY_BOOT_SPLASH_MODE_RESUME); ++ } ++ else { ++ ply_boot_splash_show (ply_splash, PLY_BOOT_SPLASH_MODE_SUSPEND); ++ ply_boot_splash_display_message (ply_splash, "Suspending..." ); ++ } ++ ply_keyboard_watch_for_input(keyboard); + -+ ply_event_loop_process_pending_events (ply_event_loop_get_default()); ++ ply_event_loop_process_pending_events (ply_event_loop_get_default()); + -+ return 0; ++ return 0; +} + + +inline int plymouth_finish(void) +{ + -+ terminate_plymouth(); ++ terminate_plymouth(); + -+ return 0; ++ return 0; +} + +inline int plymouth_progress(int p) +{ -+ ply_progress_set_percentage (ply_progress, (double) p / 100); ++ ply_progress_set_percentage (ply_progress, (double) p / 100); + -+ ply_event_loop_process_pending_events (ply_event_loop_get_default()); ++ ply_event_loop_process_pending_events (ply_event_loop_get_default()); + -+ return 0; ++ return 0; +} + + @@ -304,17 +307,17 @@ +{ +#if 0 +#if CONFIG_ENCRYPT -+ char *vrfy_buf = vrfy ? buf + PASS_SIZE : buf; ++ char *vrfy_buf = vrfy ? buf + PASS_SIZE : buf; ++ ++ do { ++ while (plymouth_get_password(buf,PASS_SIZE, ++ "Passphrase please (must be non-empty): ") <= 0); ++ ++ if (vrfy) ++ while (plymouth_get_password(vrfy_buf,PASS_SIZE, ++ "Verify passphrase: ") <= 0); + -+ do { -+ while (plymouth_get_password(buf,PASS_SIZE, -+ "Passphrase please (must be non-empty): ") <= 0); -+ -+ if (vrfy) -+ while (plymouth_get_password(vrfy_buf,PASS_SIZE, -+ "Verify passphrase: ") <= 0); -+ -+ } while (vrfy && strncmp(buf, vrfy_buf, PASS_SIZE)); ++ } while (vrfy && strncmp(buf, vrfy_buf, PASS_SIZE)); +#endif +#endif +} @@ -322,36 +325,36 @@ + +void plymouth_set_caption(const char *message) +{ -+ ply_boot_splash_display_message (ply_splash, message); -+ ply_event_loop_process_pending_events (ply_event_loop_get_default()); ++ ply_boot_splash_display_message (ply_splash, message); ++ ply_event_loop_process_pending_events (ply_event_loop_get_default()); +} + -+int plymouth_dialog(const char *prompt) ++int plymouth_dialog(const char *prompt) +{ -+ key_pressed = 0; -+ ply_progress_pause (ply_progress); -+ ply_boot_splash_display_message (ply_splash, prompt); -+ while (key_pressed == 0) { -+ ply_event_loop_process_pending_events (ply_event_loop_get_default()); -+ } -+ ply_progress_unpause (ply_progress); -+ return last_key; ++ key_pressed = 0; ++ ply_progress_pause (ply_progress); ++ ply_boot_splash_display_message (ply_splash, prompt); ++ while (key_pressed == 0) { ++ ply_event_loop_process_pending_events (ply_event_loop_get_default()); ++ } ++ ply_progress_unpause (ply_progress); ++ return last_key; +} + +char plymouth_key_pressed(void) { +#if 1 -+ ply_event_loop_process_pending_events (ply_event_loop_get_default()); -+ if (key_pressed == 0) { -+ return 0; -+ } -+ else { -+ int key = last_key; -+ last_key = -1; -+ key_pressed = 0; -+ return key; -+ } ++ ply_event_loop_process_pending_events (ply_event_loop_get_default()); ++ if (key_pressed == 0) { ++ return 0; ++ } ++ else { ++ int key = last_key; ++ last_key = -1; ++ key_pressed = 0; ++ return key; ++ } +#endif -+// return 0; ++ // return 0; +} + + -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org