[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#767266: unblock: plymouth/0.9.0-9



retitle 767266 unblock: plymouth/0.9.0-9
thanks

Dear release team,

Could you please unblock plymouth/0.9.0-9 that has been now uploaded to
unstable.

The scope of this unblock request has changed a bit, but I think the
changes are quite minimal.

The issue mentioned in the initial request (initramfs generation
failing in some conditions) has been fixed as well but with a less
invasive way than creating a new package as initially thought.

The patch added by Sjoerd has already been merged upstream.

plymouth (0.9.0-9) unstable; urgency=medium

  [ Laurent Bigonville ]
  * debian/control: Add a dependency against init-system-helpers as we are
    explicitly using deb-systemd-helper in the plymouth postinst script
    (Closes: #767937)
  * debian/local/plymouth.hook: Test if the plugin is present on disk before
    trying to copy it to the initramfs (Closes: #767170)
  * debian/control: Reword the package description. (Closes: #768350)
    Thanks to Justin B Rye <justin.byam.rye@gmail.com>
  * debian/local/plymouth.hook: Properly copy .plymouth file into the
    initramfs for themes that are not shipping images, this should fix the
    tribar theme.

  [ Sjoerd Simons ]
  * debian/patches/debian/patches/utils-Don-t-create-unix-sockets-non-blocking.patch:
    + Added. Don't open unix socket connections as non-blocking as the read
    function assume blocking sockets. Fixes plymouth failing to query the
    password from the user  (Closes: #763276)

 -- Sjoerd Simons <sjoerd@debian.org>  Mon, 17 Nov 2014 22:42:50 +0100


Cheers,

Laurent Bigonville
diff --git a/debian/changelog b/debian/changelog
index 08a91bf..c05ef6f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,25 @@
+plymouth (0.9.0-9) unstable; urgency=medium
+
+  [ Laurent Bigonville ]
+  * debian/control: Add a dependency against init-system-helpers as we are
+    explicitly using deb-systemd-helper in the plymouth postinst script
+    (Closes: #767937)
+  * debian/local/plymouth.hook: Test if the plugin is present on disk before
+    trying to copy it to the initramfs (Closes: #767170)
+  * debian/control: Reword the package description. (Closes: #768350)
+    Thanks to Justin B Rye <justin.byam.rye@gmail.com>
+  * debian/local/plymouth.hook: Properly copy .plymouth file into the
+    initramfs for themes that are not shipping images, this should fix the
+    tribar theme.
+
+  [ Sjoerd Simons ]
+  * debian/patches/debian/patches/utils-Don-t-create-unix-sockets-non-blocking.patch:
+    + Added. Don't open unix socket connections as non-blocking as the read
+    function assume blocking sockets. Fixes plymouth failing to query the
+    password from the user  (Closes: #763276)
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Mon, 17 Nov 2014 22:42:50 +0100
+
 plymouth (0.9.0-8) unstable; urgency=medium
 
   * Move the script.so from plymouth-themes to the main plymouth package
diff --git a/debian/control b/debian/control
index ccfcee6..d0a2080 100644
--- a/debian/control
+++ b/debian/control
@@ -27,17 +27,23 @@ Pre-Depends: ${misc:Pre-Depends}
 Depends:
  ${misc:Depends},
  ${shlibs:Depends},
-  initramfs-tools | dracut,
+ initramfs-tools | dracut,
+ init-system-helpers (>= 1.18),
 Conflicts: console-common
 Breaks: plymouth-drm (<< 0.9.0-6~), plymouth-themes (<< 0.9.0-8~)
 Replaces: plymouth-drm (<< 0.9.0-6~), plymouth-themes (<< 0.9.0-8~)
 Suggests:
  desktop-base,
  plymouth-themes
-Description: Graphical Boot Animation and Logger
- Plymouth provides an attractive boot animation in place of the text messages
- that normally get shown. Text messages are instead redirected to a logfile for
- viewing after boot.
+Description: boot animation, logger and I/O multiplexer
+ Plymouth provides a boot-time I/O multiplexing framework - the most obvious
+ use for which is to provide an attractive graphical animation in place of
+ the text messages that normally get shown during boot. (The messages are
+ instead redirected to a logfile for later viewing.) However, in event-driven
+ boot systems Plymouth can also usefully handle user interaction such as
+ password prompts for encrypted file systems.
+ .
+ This package provides the basic framework, enabling a text-mode animation.
 
 Package: plymouth-x11
 Architecture: linux-any
@@ -47,12 +53,16 @@ Depends:
  plymouth (= ${binary:Version}),
 Recommends: plymouth-themes
 Suggests: gdm
-Description: Graphical Boot Animation and Logger (x11 renderer and log viewer)
- Plymouth provides an attractive boot animation in place of the text messages
- that normally get shown. Text messages are instead redirected to a logfile for
- viewing after boot.
+Description: boot animation, logger and I/O multiplexer - X11 renderer and log viewer
+ Plymouth provides a boot-time I/O multiplexing framework - the most obvious
+ use for which is to provide an attractive graphical animation in place of
+ the text messages that normally get shown during boot. (The messages are
+ instead redirected to a logfile for later viewing.) However, in event-driven
+ boot systems Plymouth can also usefully handle user interaction such as
+ password prompts for encrypted file systems.
  .
- This package contains the x11 renderer and the log viewer.
+ This package contains the log viewer and the X11 renderer for a graphical
+ boot splash.
 
 Package: plymouth-dbg
 Architecture: linux-any
@@ -64,12 +74,15 @@ Depends:
  plymouth-x11 (= ${binary:Version}),
  plymouth-dev (= ${binary:Version}),
  plymouth-themes (>= ${source:Version}),
-Description: Graphical Boot Animation and Logger (debug)
- Plymouth provides an attractive boot animation in place of the text messages
- that normally get shown. Text messages are instead redirected to a logfile for
- viewing after boot.
+Description: boot animation, logger and I/O multiplexer - debug symbols
+ Plymouth provides a boot-time I/O multiplexing framework - the most obvious
+ use for which is to provide an attractive graphical animation in place of
+ the text messages that normally get shown during boot. (The messages are
+ instead redirected to a logfile for later viewing.) However, in event-driven
+ boot systems Plymouth can also usefully handle user interaction such as
+ password prompts for encrypted file systems.
  .
- This package contains the debuging symbols.
+ This package contains the debugging symbols.
 
 Package: plymouth-dev
 Architecture: linux-any
@@ -77,10 +90,13 @@ Depends:
  ${misc:Depends},
  plymouth (= ${binary:Version}),
  plymouth-x11 (= ${binary:Version}),
-Description: Graphical Boot Animation and Logger (development)
- Plymouth provides an attractive boot animation in place of the text messages
- that normally get shown. Text messages are instead redirected to a logfile for
- viewing after boot.
+Description: boot animation, logger and I/O multiplexer - development files
+ Plymouth provides a boot-time I/O multiplexing framework - the most obvious
+ use for which is to provide an attractive graphical animation in place of
+ the text messages that normally get shown during boot. (The messages are
+ instead redirected to a logfile for later viewing.) However, in event-driven
+ boot systems Plymouth can also usefully handle user interaction such as
+ password prompts for encrypted file systems.
  .
  This package contains the development files.
 
@@ -119,12 +135,15 @@ Provides:
  plymouth-themes-spinfinity,
  plymouth-themes-spinner,
 Breaks: plymouth-drm (<< 0.9.0-6~)
-Description: Graphical Boot Animation and Logger (themes)
- Plymouth provides an attractive boot animation in place of the text messages
- that normally get shown. Text messages are instead redirected to a logfile for
- viewing after boot.
+Description: boot animation, logger and I/O multiplexer - themes
+ Plymouth provides a boot-time I/O multiplexing framework - the most obvious
+ use for which is to provide an attractive graphical animation in place of
+ the text messages that normally get shown during boot. (The messages are
+ instead redirected to a logfile for later viewing.) However, in event-driven
+ boot systems Plymouth can also usefully handle user interaction such as
+ password prompts for encrypted file systems.
  .
- This package is the themes:
+ This package provides the following themes:
  .
   * fade-in: features a centered logo that fades in and out while stars twinkle
     around the logo during system boot up.
diff --git a/debian/local/plymouth.hook b/debian/local/plymouth.hook
index abd0a60..f63a49b 100644
--- a/debian/local/plymouth.hook
+++ b/debian/local/plymouth.hook
@@ -32,7 +32,7 @@ fi
 PLUGIN_PATH="$(plymouth --get-splash-plugin-path)"
 
 case "${THEME_NAME}" in
-	text|details)
+	text|details|tribar)
 		PLUGINS="text.so details.so"
 		;;
 
@@ -52,12 +52,7 @@ fi
 # copy plugin and images for current theme
 copy_exec "${MODULE}"
 mkdir -p "${DESTDIR}/${THEMES}"
-IMAGES="$(sed -n 's/^ImageDir=\(.*\)/\1/p' ${THEME})"
-# No images in text mode:
-if [ -n "${IMAGES}" ]
-then
-	cp -r "${IMAGES}" "${DESTDIR}/${THEMES}"
-fi
+cp -r "${THEMES}/${THEME_NAME}" "${DESTDIR}/${THEMES}"
 
 # copy binaries and base plugins
 copy_exec /bin/plymouth
@@ -65,7 +60,13 @@ copy_exec /sbin/plymouthd
 
 for PLUGIN in ${PLUGINS}
 do
-	copy_exec ${PLUGIN_PATH}/${PLUGIN}
+	if [ -f ${PLUGIN_PATH}/${PLUGIN} ]
+	then
+		copy_exec ${PLUGIN_PATH}/${PLUGIN}
+	else
+		echo "W: plymouth: The plugin ${PLUGIN} is missing, the selected theme might not work as expected."
+		echo "W: plymouth: You might want to install the plymouth-themes package to fix this."
+	fi
 done
 
 # copy base themes and logo
diff --git a/debian/patches/series b/debian/patches/series
index 1dd558b..e1ce7bf 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@
 0010-revert-systemd-wantedby.patch
 libply-splash-core-also-monitor-for-file-removal-in-.patch
 drop-systemd-vconsole-setup-service.patch
+utils-Don-t-create-unix-sockets-non-blocking.patch
diff --git a/debian/patches/utils-Don-t-create-unix-sockets-non-blocking.patch b/debian/patches/utils-Don-t-create-unix-sockets-non-blocking.patch
new file mode 100644
index 0000000..222143d
--- /dev/null
+++ b/debian/patches/utils-Don-t-create-unix-sockets-non-blocking.patch
@@ -0,0 +1,25 @@
+From 15f39e3d1d8885f5ae15b358eba20b4edb799449 Mon Sep 17 00:00:00 2001
+From: Sjoerd Simons <sjoerd@luon.net>
+Date: Fri, 14 Nov 2014 21:55:50 +0100
+Subject: [PATCH] utils: Don't create unix sockets non blocking
+
+All the ply_read* functions assume the socket is doing blocking reads,
+so opening unix sockets in non-blocking mode doesn't seem the best idea.
+
+Specifically, this was causing ask-password to fail to read the response
+at times as it got a -EAGAIN back from read rather then data.
+---
+ src/libply/ply-utils.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/libply/ply-utils.c
++++ b/src/libply/ply-utils.c
+@@ -102,7 +102,7 @@
+   int fd;
+   const int should_pass_credentials = true;
+ 
+-  fd = socket (PF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
++  fd = socket (PF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0);
+ 
+   if (fd < 0)
+     return -1;

Reply to: