Hello community,

here is the log from the commit of package plymouth for openSUSE:Factory 
checked in at 2018-09-04 22:47:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plymouth (Old)
 and      /work/SRC/openSUSE:Factory/.plymouth.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "plymouth"

Tue Sep  4 22:47:18 2018 rev:61 rq:632215 version:0.9.3+git20180827.0a66272

Changes:
--------
--- /work/SRC/openSUSE:Factory/plymouth/plymouth.changes        2018-08-07 
10:50:33.352633699 +0200
+++ /work/SRC/openSUSE:Factory/.plymouth.new/plymouth.changes   2018-09-04 
22:47:24.239197073 +0200
@@ -1,0 +2,39 @@
+Tue Aug 28 07:32:03 UTC 2018 - [email protected]
+
+- Update to version 0.9.3+git20180827.0a66272:
+  ensure tty is closed on deactivate
+  If plymouth doesn't get explicitly "activated" then when
+  GDM tries to deactivate it, the deactivation request is
+  a noop.
+  One aspect of being active, though is having ownership and
+  control of the terminal.  This happens immediately, even
+  before a splash is shown.
+  The `deactivate` request needs to relinguish such control,
+  unconditionally, since some display server is about to use
+  the tty.
+- Update patch name base on quilt standerd
+  Remove only_use_fb_for_cirrus_bochs.patch
+  Add plymouth-only_use_fb_for_cirrus_bochs.patch
+  Remove 0001-Some-greenish-openSUSE-colors.patch
+  Add plymouth-some-greenish-openSUSE-colors.patch
+
+-------------------------------------------------------------------
+Fri Aug 17 17:36:09 UTC 2018 - [email protected]
+
+- Update to version 0.9.3+git20180807.7663b0c:
+  * systemd-units: Add "ConditionVirtualization=!container"
+  * README: add link to Code of Conduct
+  * two-step: add unhandled splash mode case to switch
+  * main: fix build
+  * Fix miscellaneous compiler warnings
+  * configure: Pass -Wno-cast-function-type if available
+  * main: Fix getting detailed logs from systemd
+  * main: Show details when ESC is pressed during splash_delay
+  * drm: Remove unnecessary reset_scan_out_buffer_if_needed() call
+    from ply_renderer_head_map()
+  * main: Only activate renderers if the splash uses pixel-displays
+- Switch to new gitlab home in _service.
+- Refresh patches with quilt.
+- Use autosetup macro.
+
+-------------------------------------------------------------------

Old:
----
  0001-Some-greenish-openSUSE-colors.patch
  only_use_fb_for_cirrus_bochs.patch
  plymouth-0.9.3+git20171220.6e9e95d.tar.xz

New:
----
  plymouth-0.9.3+git20180827.0a66272.tar.xz
  plymouth-only_use_fb_for_cirrus_bochs.patch
  plymouth-some-greenish-openSUSE-colors.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ plymouth.spec ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:24.807199028 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:24.811199042 +0200
@@ -22,43 +22,31 @@
 %define plymouth_initrd_file /boot/initrd-plymouth.img
 
 Name:           plymouth
-Version:        0.9.3+git20171220.6e9e95d
+Version:        0.9.3+git20180827.0a66272
 Release:        0
 Summary:        Graphical Boot Animation and Logger
-License:        GPL-2.0+
+License:        GPL-2.0-or-later
 Group:          System/Base
 Url:            http://www.freedesktop.org/wiki/Software/Plymouth
 
 Source0:        %{name}-%{version}.tar.xz
 Source1:        boot-duration
-# PATCH-FIX-OPENSUSE plymouth-dracut-path.patch [email protected]
-# -- prefix is /usr/sbin and /usr/bin
-Patch9:         plymouth-dracut-path.patch
-# PATCH-FIX-OPENSUSE 0001-Some-greenish-openSUSE-colors.patch bnc#886148 
[email protected]
-# -- to use suse colors in tribar.
-Patch10:        0001-Some-greenish-openSUSE-colors.patch
-# PATCH-FIX-OPENSUSE plymouth-correct-runtime-dir.patch [email protected] 
-# -- make sure the runtime directory is /run and not /var/run
-Patch16:        plymouth-correct-runtime-dir.patch
-# PATCH-FIX-UPSTREAM plymouth-manpages.patch bnc#871419 [email protected] 
-# -- Fix man page installation
-Patch17:        plymouth-manpages.patch
-# PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch bnc#888590 
[email protected] 
-# -- ignore cirrusdrm, use fb instead
-# Patch26:        plymouth-ignore-cirrusdrm.patch
-# PATCH-FIX-OPENSUSE only_use_fb_for_cirrus_bochs.patch bnc#888590 
[email protected] 
-# -- force fb for cirrus and bochs, force drm otherwise. replace removal of 
framebuffer 
-# -- driver and plymouth-ignore-cirrusdrm.patch with single patch.
-Patch26:        only_use_fb_for_cirrus_bochs.patch
-# PATCH-FIX-UPSTREAM 
-# 0001-Add-label-ft-plugin.patch 
-# 0002-Install-label-ft-plugin-into-initrd-if-available.patch 
-# 0003-fix_null_deref.patch 
-# boo#959986 [email protected]
-# -- add ability to output text in initrd needed for encryption.
-Patch30:        0001-Add-label-ft-plugin.patch
-Patch31:        0002-Install-label-ft-plugin-into-initrd-if-available.patch
-Patch32:        0003-fix_null_deref.patch
+# PATCH-FIX-OPENSUSE plymouth-dracut-path.patch [email protected] -- 
Prefix is /usr/sbin and /usr/bin
+Patch0:         plymouth-dracut-path.patch
+# PATCH-FIX-OPENSUSE plymouth-some-greenish-openSUSE-colors.patch bnc#886148 
[email protected] -- To use suse colors in tribar.
+Patch1:         plymouth-some-greenish-openSUSE-colors.patch
+# PATCH-FIX-OPENSUSE plymouth-correct-runtime-dir.patch [email protected] 
-- Make sure the runtime directory is /run and not /var/run
+Patch2:         plymouth-correct-runtime-dir.patch
+# PATCH-FIX-UPSTREAM plymouth-manpages.patch bnc#871419 [email protected]  -- 
Fix man page installation
+Patch3:         plymouth-manpages.patch
+# PATCH-FIX-OPENSUSE plymouth-only_use_fb_for_cirrus_bochs.patch bnc#888590 
[email protected] -- force fb for cirrus and bochs, force drm otherwise. replace 
removal of framebuffer driver and plymouth-ignore-cirrusdrm.patch with single 
patch.
+Patch4:         plymouth-only_use_fb_for_cirrus_bochs.patch
+# PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch boo#959986 [email protected] 
-- add ability to output text in initrd needed for encryption.
+Patch5:         0001-Add-label-ft-plugin.patch
+# PATCH-FIX-UPSTREAM 
0002-Install-label-ft-plugin-into-initrd-if-available.patch boo#959986 
[email protected] -- add ability to output text in initrd needed for encryption.
+Patch6:         0002-Install-label-ft-plugin-into-initrd-if-available.patch
+# PATCH-FIX-UPSTREAM 0003-fix_null_deref.patch boo#959986 [email protected] -- 
add ability to output text in initrd needed for encryption.
+Patch7:         0003-fix_null_deref.patch
 
 BuildRequires:  automake
 BuildRequires:  docbook-xsl-stylesheets
@@ -349,15 +337,7 @@
 plugin.
 
 %prep
-%setup -q
-%patch9
-%patch10 -p1
-%patch16 -p1
-%patch17 -p1
-%patch26 -p1
-%patch30 -p1
-%patch31 -p1
-%patch32 -p1
+%autosetup -p1
 
 # replace builddate with patch0date
 sed -i "s/__DATE__/\"$(stat -c %%y %{_sourcedir}/%{name}.changes)\"/" 
src/main.c

++++++ 0001-Add-label-ft-plugin.patch ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:24.819199069 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:24.819199069 +0200
@@ -20,11 +20,11 @@
  create mode 100644 src/plugins/controls/label-ft/Makefile.am
  create mode 100644 src/plugins/controls/label-ft/plugin.c
 
-diff --git a/configure.ac b/configure.ac
-index 445034d..13b8c3e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -60,6 +60,15 @@ if test x$enable_pango = xyes; then
+Index: plymouth-0.9.3+git20180807.7663b0c/configure.ac
+===================================================================
+--- plymouth-0.9.3+git20180807.7663b0c.orig/configure.ac       2018-08-17 
19:58:07.106444425 +0200
++++ plymouth-0.9.3+git20180807.7663b0c/configure.ac    2018-08-17 
19:58:59.703026810 +0200
+@@ -69,6 +69,15 @@ if test x$enable_pango = xyes; then
    AC_SUBST(PANGO_LIBS)
  fi
  
@@ -40,7 +40,7 @@
  AC_ARG_ENABLE(gtk, AS_HELP_STRING([--enable-gtk],[enable building with gtk, 
disabled there is no x11 renderer]),enable_gtk=$enableval,enable_gtk=yes)
  AM_CONDITIONAL(ENABLE_GTK,  [test "$enable_gtk" = yes])
  
-@@ -295,6 +304,7 @@ AC_CONFIG_FILES([Makefile
+@@ -308,6 +317,7 @@ AC_CONFIG_FILES([Makefile
             src/plugins/splash/script/Makefile
             src/plugins/controls/Makefile
             src/plugins/controls/label/Makefile
@@ -48,11 +48,11 @@
             src/Makefile
             src/client/ply-boot-client.pc
             src/client/Makefile
-diff --git a/src/libply-splash-graphics/ply-label.c 
b/src/libply-splash-graphics/ply-label.c
-index ba1f7b1..7c65708 100644
---- a/src/libply-splash-graphics/ply-label.c
-+++ b/src/libply-splash-graphics/ply-label.c
-@@ -96,8 +96,13 @@ ply_label_load_plugin (ply_label_t *label)
+Index: 
plymouth-0.9.3+git20180807.7663b0c/src/libply-splash-graphics/ply-label.c
+===================================================================
+--- 
plymouth-0.9.3+git20180807.7663b0c.orig/src/libply-splash-graphics/ply-label.c  
   2018-08-07 17:41:15.000000000 +0200
++++ plymouth-0.9.3+git20180807.7663b0c/src/libply-splash-graphics/ply-label.c  
2018-08-17 19:58:59.703026810 +0200
+@@ -96,8 +96,13 @@ ply_label_load_plugin (ply_label_t *labe
  
          get_plugin_interface_function_t get_label_plugin_interface;
  
@@ -66,10 +66,10 @@
          if (label->module_handle == NULL)
                  return false;
  
-diff --git a/src/plugins/controls/Makefile.am 
b/src/plugins/controls/Makefile.am
-index f1621f9..284b206 100644
---- a/src/plugins/controls/Makefile.am
-+++ b/src/plugins/controls/Makefile.am
+Index: plymouth-0.9.3+git20180807.7663b0c/src/plugins/controls/Makefile.am
+===================================================================
+--- plymouth-0.9.3+git20180807.7663b0c.orig/src/plugins/controls/Makefile.am   
2018-08-07 17:41:15.000000000 +0200
++++ plymouth-0.9.3+git20180807.7663b0c/src/plugins/controls/Makefile.am        
2018-08-17 19:58:59.703026810 +0200
 @@ -1,4 +1,8 @@
 +SUBDIRS =
  if ENABLE_PANGO
@@ -80,11 +80,10 @@
 +SUBDIRS += label-ft
  endif
  MAINTAINERCLEANFILES = Makefile.in
-diff --git a/src/plugins/controls/label-ft/Makefile.am 
b/src/plugins/controls/label-ft/Makefile.am
-new file mode 100644
-index 0000000..2ff864d
---- /dev/null
-+++ b/src/plugins/controls/label-ft/Makefile.am
+Index: 
plymouth-0.9.3+git20180807.7663b0c/src/plugins/controls/label-ft/Makefile.am
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ 
plymouth-0.9.3+git20180807.7663b0c/src/plugins/controls/label-ft/Makefile.am    
   2018-08-17 19:58:59.703026810 +0200
 @@ -0,0 +1,22 @@
 +AM_CPPFLAGS = -I$(top_srcdir)                                                 
\
 +           -I$(srcdir)/../../../libply                                        
\
@@ -108,11 +107,10 @@
 +label_ft_la_SOURCES = $(srcdir)/plugin.c
 +
 +MAINTAINERCLEANFILES = Makefile.in
-diff --git a/src/plugins/controls/label-ft/plugin.c 
b/src/plugins/controls/label-ft/plugin.c
-new file mode 100644
-index 0000000..06fe73e
---- /dev/null
-+++ b/src/plugins/controls/label-ft/plugin.c
+Index: 
plymouth-0.9.3+git20180807.7663b0c/src/plugins/controls/label-ft/plugin.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ plymouth-0.9.3+git20180807.7663b0c/src/plugins/controls/label-ft/plugin.c  
2018-08-17 19:58:59.703026810 +0200
 @@ -0,0 +1,507 @@
 +/* ply-label.c - label control
 + *
@@ -621,6 +619,3 @@
 +}
 +
 +/* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
--- 
-2.7.0
-

++++++ 0002-Install-label-ft-plugin-into-initrd-if-available.patch ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:24.827199097 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:24.827199097 +0200
@@ -10,11 +10,11 @@
  scripts/plymouth-populate-initrd.in | 9 +++++++++
  1 file changed, 9 insertions(+)
 
-diff --git a/scripts/plymouth-populate-initrd.in 
b/scripts/plymouth-populate-initrd.in
-index 43c7f22..a109c59 100755
---- a/scripts/plymouth-populate-initrd.in
-+++ b/scripts/plymouth-populate-initrd.in
-@@ -427,6 +427,15 @@
+Index: plymouth-0.9.3+git20180807.7663b0c/scripts/plymouth-populate-initrd.in
+===================================================================
+--- 
plymouth-0.9.3+git20180807.7663b0c.orig/scripts/plymouth-populate-initrd.in     
   2018-08-17 19:57:27.334004329 +0200
++++ plymouth-0.9.3+git20180807.7663b0c/scripts/plymouth-populate-initrd.in     
2018-08-17 19:59:15.535202195 +0200
+@@ -427,6 +427,15 @@ if [ -d ${PLYMOUTH_DATADIR}/plymouth/the
       inst_recur "${PLYMOUTH_DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}"
  fi
  
@@ -30,6 +30,3 @@
  if [ -L ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth ]; then
      cp -a ${PLYMOUTH_DATADIR}/plymouth/themes/default.plymouth 
$INITRDDIR${PLYMOUTH_DATADIR}/plymouth/themes
  fi
--- 
-2.7.0
-

++++++ 0003-fix_null_deref.patch ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:24.839199139 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:24.839199139 +0200
@@ -12,10 +12,10 @@
  src/libply-splash-graphics/ply-label.c | 8 ++++++++
  1 file changed, 8 insertions(+)
 
-Index: plymouth-0.9.2/src/libply-splash-graphics/ply-label.c
+Index: 
plymouth-0.9.3+git20180807.7663b0c/src/libply-splash-graphics/ply-label.c
 ===================================================================
---- plymouth-0.9.2.orig/src/libply-splash-graphics/ply-label.c
-+++ plymouth-0.9.2/src/libply-splash-graphics/ply-label.c
+--- 
plymouth-0.9.3+git20180807.7663b0c.orig/src/libply-splash-graphics/ply-label.c  
   2018-08-17 19:58:59.703026810 +0200
++++ plymouth-0.9.3+git20180807.7663b0c/src/libply-splash-graphics/ply-label.c  
2018-08-17 19:59:33.203397962 +0200
 @@ -130,6 +130,15 @@ ply_label_load_plugin (ply_label_t *labe
  
          label->control = label->plugin_interface->create_control ();

++++++ _service ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:24.855199193 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:24.855199193 +0200
@@ -1,6 +1,6 @@
 <services>
   <service mode="disabled" name="tar_scm">
-    <param name="url">git://anongit.freedesktop.org/plymouth</param>
+    <param 
name="url">https://gitlab.freedesktop.org/plymouth/plymouth.git</param>
     <param name="scm">git</param>
     <param name="changesgenerate">enable</param>
     <param name="filename">plymouth</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:24.871199249 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:24.871199249 +0200
@@ -1,4 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">git://anongit.freedesktop.org/plymouth</param>
-              <param 
name="changesrevision">6e9e95dc0fe89a3c52f50e44ff0096a6e65e46a6</param></service></servicedata>
\ No newline at end of file
+              <param 
name="changesrevision">6e9e95dc0fe89a3c52f50e44ff0096a6e65e46a6</param></service><service
 name="tar_scm">
+                <param 
name="url">https://gitlab.freedesktop.org/plymouth/plymouth.git</param>
+              <param 
name="changesrevision">9ed2a0c55be8ee9919953efbacedc079a7428358</param></service></servicedata>
\ No newline at end of file


++++++ plymouth-0.9.3+git20171220.6e9e95d.tar.xz -> 
plymouth-0.9.3+git20180827.0a66272.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plymouth-0.9.3+git20171220.6e9e95d/.gitignore 
new/plymouth-0.9.3+git20180827.0a66272/.gitignore
--- old/plymouth-0.9.3+git20171220.6e9e95d/.gitignore   1970-01-01 
01:00:00.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/.gitignore   2018-01-19 
07:58:58.000000000 +0100
@@ -0,0 +1,45 @@
+Makefile.in
+*.o
+core.*
+.libs/*
+.deps/*
+.libs
+.deps
+*.lo
+.*.sw*
+*.orig
+*.rej
+*~
+configure
+config.h*
+*-test
+*.la
+.gitignore
+config.log
+build-tools
+config.status
+libtool
+autom4te.cache
+Makefile
+aclocal.m4
+*.tar.bz2
+*.patch
+stamp-*
+*.rpm
+plymouth
+plymouth-generate-initrd
+plymouth-populate-initrd
+plymouth-set-default-theme
+plymouth-log-viewer
+plymouth-upstart-bridge
+plymouthd
+*.pc
+tags
+*.bck
+*.string
+*.plymouth
+*.script.h
+*.service
+*.path
+docs/*.8
+docs/*.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plymouth-0.9.3+git20171220.6e9e95d/README 
new/plymouth-0.9.3+git20180827.0a66272/README
--- old/plymouth-0.9.3+git20171220.6e9e95d/README       2017-12-20 
16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/README       2018-08-22 
09:08:15.000000000 +0200
@@ -41,3 +41,11 @@
 Plymouth isn't done yet. It's still under active development, but is
 used in several popular distros already, including Fedora, Mandriva,
 Ubuntu and others.  See the distributions page for more information.
+
+As with other projects hosted on freedesktop.org, Plymouth follows its
+Code of Conduct, based on the Contributor Covenant. Please conduct
+yourself in a respectful and civilized manner when using the above
+mailing lists, bug trackers, etc:
+
+       https://www.freedesktop.org/wiki/CodeOfConduct
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plymouth-0.9.3+git20171220.6e9e95d/configure.ac 
new/plymouth-0.9.3+git20180827.0a66272/configure.ac
--- old/plymouth-0.9.3+git20171220.6e9e95d/configure.ac 2017-12-20 
16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/configure.ac 2018-08-22 
09:08:15.000000000 +0200
@@ -78,7 +78,7 @@
   AC_SUBST(GTK_LIBS)
 fi
 
-AC_ARG_ENABLE(drm, AS_HELP_STRING([--enable-drm-renderer],[enable building drm 
kms support]),enable_drm_renderer=$enableval,enable_drm_renderer=yes)
+AC_ARG_ENABLE(drm, AS_HELP_STRING([--enable-drm],[enable building drm kms 
support]),enable_drm_renderer=$enableval,enable_drm_renderer=yes)
 AM_CONDITIONAL(ENABLE_DRM_RENDERER,  [test "$enable_drm_renderer" = yes])
 
 if test x$enable_drm_renderer = xyes; then
@@ -227,6 +227,7 @@
    -Wwrite-strings -Wnested-externs -Wpointer-arith \
    -Wswitch-enum -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations \
    -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-result \
+   -Wno-cast-function-type \
    -Wcast-align -Wsign-compare -Wp,-D_FORTIFY_SOURCE=2"
 elif test "$GCC" = "yes"; then
   AC_MSG_RESULT(no)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/docs/development.txt 
new/plymouth-0.9.3+git20180827.0a66272/docs/development.txt
--- old/plymouth-0.9.3+git20171220.6e9e95d/docs/development.txt 2017-12-20 
16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/docs/development.txt 2018-06-07 
04:30:43.000000000 +0200
@@ -237,7 +237,7 @@
   ├── libply-splash-core       # splash plugin APIS
   ├── libply-splash-graphics   # graphical splash plugin specific APIs
   ├── plugins                  # plugins as shared libraries
-  │   ├── controls             # grapical widgets
+  │   ├── controls             # graphical widgets
   │   │   └── label            # text label for text output
   │   ├── renderers            # the different graphical backends
   │   │   ├── drm
@@ -294,7 +294,7 @@
 when the handler is called.  The +trigger_data+ argument transfers
 information from the code pulling the trigger. It can be thought of as
 a payload or result to be sent from the code pulling the trigger to
-the code watching the trigger.  The third argument, +trigger+, is the
+the code watching the trigger.  The third argument, +trigger+, is
 the trigger itself. It's passed as a convenience, so the same handler
 can be used for multiple triggers, and the handler can differentiate
 which trigger fired.
@@ -307,7 +307,7 @@
 daemon can't respond to the client until the user has typed the password.
 The code that handles communication with the client sets up a trigger
 that the keyboard reading code pulls when the user hits enter.  When
-that trigger fires, a function set up by the code that communcates
+that trigger fires, a function set up by the code that communicates
 with the client is called and it can reply to the client with the
 password delivered from the keyboard reading code through the trigger.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/docs/plymouth1.xml 
new/plymouth-0.9.3+git20180827.0a66272/docs/plymouth1.xml
--- old/plymouth-0.9.3+git20171220.6e9e95d/docs/plymouth1.xml   2017-12-20 
16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/docs/plymouth1.xml   2018-06-07 
04:30:43.000000000 +0200
@@ -298,7 +298,7 @@
 <variablelist>
 <varlistentry>
   <term><option>--keys=STRING</option></term>
-  <listitem><para>Keys to remove sensitivitiy from</para></listitem>
+  <listitem><para>Keys to remove sensitivity from</para></listitem>
 </varlistentry>
 </variablelist>
 </listitem>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/docs/plymouthd.xml 
new/plymouth-0.9.3+git20180827.0a66272/docs/plymouthd.xml
--- old/plymouth-0.9.3+git20171220.6e9e95d/docs/plymouthd.xml   2017-12-20 
16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/docs/plymouthd.xml   2018-06-07 
04:30:43.000000000 +0200
@@ -103,7 +103,7 @@
 
                         <varlistentry>
                                 <term><option>--tty=STRING</option></term>
-                                <listitem><para>TTY to ues instead of 
default.</para></listitem>
+                                <listitem><para>TTY to use instead of 
default.</para></listitem>
                         </varlistentry>
                 </variablelist>
         </refsect1>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/client/plymouth.c 
new/plymouth-0.9.3+git20180827.0a66272/src/client/plymouth.c
--- old/plymouth-0.9.3+git20171220.6e9e95d/src/client/plymouth.c        
2017-12-20 16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/src/client/plymouth.c        
2018-06-07 04:30:43.000000000 +0200
@@ -897,7 +897,7 @@
                                         "get-splash-plugin-path", "Get 
directory where splash plugins are installed", PLY_COMMAND_OPTION_TYPE_FLAG,
                                         "newroot", "Tell boot daemon that new 
root filesystem is mounted", PLY_COMMAND_OPTION_TYPE_STRING,
                                         "quit", "Tell boot daemon to quit", 
PLY_COMMAND_OPTION_TYPE_FLAG,
-                                        "ping", "Check of boot daemon is 
running", PLY_COMMAND_OPTION_TYPE_FLAG,
+                                        "ping", "Check if boot daemon is 
running", PLY_COMMAND_OPTION_TYPE_FLAG,
                                         "has-active-vt", "Check if boot daemon 
has an active vt", PLY_COMMAND_OPTION_TYPE_FLAG,
                                         "sysinit", "Tell boot daemon root 
filesystem is mounted read-write", PLY_COMMAND_OPTION_TYPE_FLAG,
                                         "show-splash", "Show splash screen", 
PLY_COMMAND_OPTION_TYPE_FLAG,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply/ply-logger.c 
new/plymouth-0.9.3+git20180827.0a66272/src/libply/ply-logger.c
--- old/plymouth-0.9.3+git20171220.6e9e95d/src/libply/ply-logger.c      
2017-12-20 16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/src/libply/ply-logger.c      
2018-08-22 09:08:15.000000000 +0200
@@ -313,7 +313,6 @@
                       const char   *filename)
 {
         int fd;
-        mode_t mode;
 
         assert (logger != NULL);
         assert (filename != NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply/ply-rectangle.c 
new/plymouth-0.9.3+git20180827.0a66272/src/libply/ply-rectangle.c
--- old/plymouth-0.9.3+git20171220.6e9e95d/src/libply/ply-rectangle.c   
2017-12-20 16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/src/libply/ply-rectangle.c   
2018-08-22 09:08:15.000000000 +0200
@@ -129,6 +129,7 @@
                 case V_COLLISION_EXACT:
                         return PLY_RECTANGLE_OVERLAP_EXACT_LEFT_EDGE;
                 }
+                break;
         case H_COLLISION_RIGHT:
                 switch (v_collision) {
                 case V_COLLISION_NONE:
@@ -144,6 +145,7 @@
                 case V_COLLISION_EXACT:
                         return PLY_RECTANGLE_OVERLAP_EXACT_RIGHT_EDGE;
                 }
+                break;
         case H_COLLISION_BOTH:
                 switch (v_collision) {
                 case V_COLLISION_NONE:
@@ -159,6 +161,7 @@
                 case V_COLLISION_EXACT:
                         return PLY_RECTANGLE_OVERLAP_ALL_EDGES;
                 }
+                break;
         case H_COLLISION_CONTAINED:
                 switch (v_collision) {
                 case V_COLLISION_NONE:
@@ -174,6 +177,7 @@
                 case V_COLLISION_EXACT:
                         return PLY_RECTANGLE_OVERLAP_NO_EDGES;
                 }
+                break;
         case H_COLLISION_EXACT:
                 switch (v_collision) {
                 case V_COLLISION_NONE:
@@ -189,6 +193,7 @@
                 case V_COLLISION_EXACT:
                         return PLY_RECTANGLE_OVERLAP_NO_EDGES;
                 }
+                break;
         }
         return PLY_RECTANGLE_OVERLAP_NONE;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-boot-splash.c 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-boot-splash.c
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-boot-splash.c 
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-boot-splash.c 
    2018-08-22 09:08:15.000000000 +0200
@@ -695,4 +695,10 @@
         splash->plugin_interface->become_idle (splash->plugin, 
splash->idle_trigger);
 }
 
+bool
+ply_boot_splash_uses_pixel_displays (ply_boot_splash_t *splash)
+{
+        return splash->plugin_interface->add_pixel_display != NULL;
+}
+
 /* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-boot-splash.h 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-boot-splash.h
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-boot-splash.h 
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-boot-splash.h 
    2018-08-22 09:08:15.000000000 +0200
@@ -89,6 +89,7 @@
 void ply_boot_splash_become_idle (ply_boot_splash_t                *splash,
                                   ply_boot_splash_on_idle_handler_t 
idle_handler,
                                   void                             *user_data);
+bool ply_boot_splash_uses_pixel_displays (ply_boot_splash_t *splash);
 
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-device-manager.c
 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-device-manager.c
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-device-manager.c
  2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-device-manager.c
  2018-08-22 09:08:15.000000000 +0200
@@ -134,13 +134,13 @@
 free_devices_from_device_path (ply_device_manager_t *manager,
                                const char           *device_path)
 {
-        char *key = NULL;
-        ply_renderer_t *renderer = NULL;
+        void *key = NULL;
+        void *renderer = NULL;
 
         ply_hashtable_lookup_full (manager->renderers,
                                    (void *) device_path,
-                                   (void **) &key,
-                                   (void **) &renderer);
+                                   &key,
+                                   &renderer);
 
         if (renderer == NULL)
                 return;
@@ -696,12 +696,12 @@
                                                              (void *) 
ply_renderer_get_device_name (renderer));
 
                         if (old_renderer != NULL) {
-                                ply_trace ("ignoring device %s since it's 
alerady managed",
+                                ply_trace ("ignoring device %s since it's 
already managed",
                                            ply_renderer_get_device_name 
(renderer));
                                 ply_renderer_free (renderer);
 
                                 renderer = NULL;
-                                return;
+                                return true;
                         }
                 }
         }
@@ -786,6 +786,15 @@
         return false;
 }
 
+static void
+create_non_graphical_devices (ply_device_manager_t *manager)
+{
+        create_devices_for_terminal_and_renderer_type (manager,
+                                                       NULL,
+                                                       
manager->local_console_terminal,
+                                                       PLY_RENDERER_TYPE_NONE);
+}
+
 #ifdef HAVE_UDEV
 static void
 create_devices_from_udev (ply_device_manager_t *manager)
@@ -801,10 +810,7 @@
                 return;
 
         ply_trace ("Creating non-graphical devices, since there's no suitable 
graphics hardware");
-        create_devices_for_terminal_and_renderer_type (manager,
-                                                       NULL,
-                                                       
manager->local_console_terminal,
-                                                       PLY_RENDERER_TYPE_NONE);
+        create_non_graphical_devices (manager);
 }
 #endif
 
@@ -845,6 +851,12 @@
         if (done_with_initial_devices_setup)
                 return;
 
+        if ((manager->flags & PLY_DEVICE_MANAGER_FLAGS_SKIP_RENDERERS)) {
+                ply_trace ("Creating non-graphical devices, since renderers 
are being explicitly skipped");
+                create_non_graphical_devices (manager);
+                return;
+        }
+
         if ((manager->flags & PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV)) {
                 ply_trace ("udev support disabled, creating fallback devices");
                 create_fallback_devices (manager);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-device-manager.h
 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-device-manager.h
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-device-manager.h
  2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-device-manager.h
  2018-08-22 09:08:15.000000000 +0200
@@ -31,7 +31,8 @@
 {
         PLY_DEVICE_MANAGER_FLAGS_NONE = 0,
         PLY_DEVICE_MANAGER_FLAGS_IGNORE_SERIAL_CONSOLES = 1 << 0,
-                PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV = 1 << 1
+        PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV = 1 << 1,
+        PLY_DEVICE_MANAGER_FLAGS_SKIP_RENDERERS = 1 << 2
 } ply_device_manager_flags_t;
 
 typedef struct _ply_device_manager ply_device_manager_t;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-pixel-buffer.c
 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-pixel-buffer.c
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-pixel-buffer.c
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-pixel-buffer.c
    2018-06-07 04:30:43.000000000 +0200
@@ -50,6 +50,8 @@
         ply_region_t   *updated_areas; /* in device pixels */
         uint32_t        is_opaque : 1;
         int             device_scale;
+
+        ply_pixel_buffer_rotation_t device_rotation;
 };
 
 static inline void ply_pixel_buffer_blend_value_at_pixel (ply_pixel_buffer_t 
*buffer,
@@ -153,6 +155,52 @@
         return (alpha << 24) | (red << 16) | (green << 8) | blue;
 }
 
+static inline void ply_pixel_buffer_set_pixel (ply_pixel_buffer_t *buffer,
+                                               int                 x,
+                                               int                 y,
+                                               uint32_t            pixel_value)
+{
+        switch (buffer->device_rotation) {
+        case PLY_PIXEL_BUFFER_ROTATE_UPRIGHT:
+                buffer->bytes[y * buffer->area.width + x] = pixel_value;
+                break;
+        case PLY_PIXEL_BUFFER_ROTATE_UPSIDE_DOWN:
+                x = (buffer->area.width - 1) - x;
+                y = (buffer->area.height - 1) - y;
+                buffer->bytes[y * buffer->area.width + x] = pixel_value;
+                break;
+        case PLY_PIXEL_BUFFER_ROTATE_CLOCKWISE:
+                y = (buffer->area.height - 1) - y;
+                buffer->bytes[x * buffer->area.height + y] = pixel_value;
+                break;
+        case PLY_PIXEL_BUFFER_ROTATE_COUNTER_CLOCKWISE:
+                x = (buffer->area.width - 1) - x;
+                buffer->bytes[x * buffer->area.height + y] = pixel_value;
+                break;
+        }
+}
+
+static inline uint32_t ply_pixel_buffer_get_pixel (ply_pixel_buffer_t *buffer,
+                                                   int                 x,
+                                                   int                 y)
+{
+        switch (buffer->device_rotation) {
+        case PLY_PIXEL_BUFFER_ROTATE_UPRIGHT:
+                return buffer->bytes[y * buffer->area.width + x];
+        case PLY_PIXEL_BUFFER_ROTATE_UPSIDE_DOWN:
+                x = (buffer->area.width - 1) - x;
+                y = (buffer->area.height - 1) - y;
+                return buffer->bytes[y * buffer->area.width + x];
+        case PLY_PIXEL_BUFFER_ROTATE_CLOCKWISE:
+                y = (buffer->area.height - 1) - y;
+                return buffer->bytes[x * buffer->area.height + y];
+        case PLY_PIXEL_BUFFER_ROTATE_COUNTER_CLOCKWISE:
+                x = (buffer->area.width - 1) - x;
+                return buffer->bytes[x * buffer->area.height + y];
+        }
+        return 0;
+}
+
 static inline void
 ply_pixel_buffer_blend_value_at_pixel (ply_pixel_buffer_t *buffer,
                                        int                 x,
@@ -162,12 +210,12 @@
         uint32_t old_pixel_value;
 
         if ((pixel_value >> 24) != 0xff) {
-                old_pixel_value = buffer->bytes[y * buffer->area.width + x];
+                old_pixel_value = ply_pixel_buffer_get_pixel (buffer, x, y);
 
                 pixel_value = blend_two_pixel_values (pixel_value, 
old_pixel_value);
         }
 
-        buffer->bytes[y * buffer->area.width + x] = pixel_value;
+        ply_pixel_buffer_set_pixel (buffer, x, y, pixel_value);
 }
 
 static void
@@ -222,6 +270,35 @@
         }
 }
 
+static void ply_pixel_buffer_add_updated_area (ply_pixel_buffer_t *buffer,
+                                               ply_rectangle_t    *area)
+{
+        ply_rectangle_t updated_area = *area;
+
+        switch (buffer->device_rotation) {
+        case PLY_PIXEL_BUFFER_ROTATE_UPRIGHT:
+                break;
+        case PLY_PIXEL_BUFFER_ROTATE_UPSIDE_DOWN:
+                updated_area.x = buffer->area.width - area->width - area->x;
+                updated_area.y = buffer->area.height - area->height - area->y;
+                break;
+        case PLY_PIXEL_BUFFER_ROTATE_CLOCKWISE:
+                updated_area.x = buffer->area.height - area->height - area->y;
+                updated_area.y = area->x;
+                updated_area.height = area->width;
+                updated_area.width = area->height;
+                break;
+        case PLY_PIXEL_BUFFER_ROTATE_COUNTER_CLOCKWISE:
+                updated_area.x = area->y;
+                updated_area.y = buffer->area.width - area->width - area->x;
+                updated_area.height = area->width;
+                updated_area.width = area->height;
+                break;
+        }
+
+        ply_region_add_rectangle (buffer->updated_areas, &updated_area);
+}
+
 static void
 ply_pixel_buffer_fill_area_with_pixel_value (ply_pixel_buffer_t *buffer,
                                              ply_rectangle_t    *fill_area,
@@ -251,7 +328,7 @@
                 }
         }
 
-        ply_region_add_rectangle (buffer->updated_areas, &cropped_area);
+        ply_pixel_buffer_add_updated_area (buffer, &cropped_area);
 }
 
 void
@@ -282,8 +359,24 @@
 ply_pixel_buffer_new (unsigned long width,
                       unsigned long height)
 {
+        return ply_pixel_buffer_new_with_device_rotation (
+                        width, height, PLY_PIXEL_BUFFER_ROTATE_UPRIGHT);
+}
+
+ply_pixel_buffer_t *
+ply_pixel_buffer_new_with_device_rotation (unsigned long               width,
+                                           unsigned long               height,
+                                           ply_pixel_buffer_rotation_t 
device_rotation)
+{
         ply_pixel_buffer_t *buffer;
 
+        if (device_rotation == PLY_PIXEL_BUFFER_ROTATE_CLOCKWISE ||
+            device_rotation == PLY_PIXEL_BUFFER_ROTATE_COUNTER_CLOCKWISE) {
+                unsigned long tmp = width;
+                width = height;
+                height = tmp;
+        }
+
         buffer = calloc (1, sizeof(ply_pixel_buffer_t));
 
         buffer->updated_areas = ply_region_new ();
@@ -292,6 +385,7 @@
         buffer->area.height = height;
         buffer->logical_area = buffer->area;
         buffer->device_scale = 1;
+        buffer->device_rotation = device_rotation;
 
         buffer->clip_areas = ply_list_new ();
         ply_pixel_buffer_push_clip_area (buffer, &buffer->area);
@@ -447,7 +541,7 @@
 
         for (y = buffer->area.y; y < buffer->area.y + buffer->area.height; 
y++) {
                 if (cropped_area.y <= y && y < cropped_area.y + 
cropped_area.height) {
-                        if (cropped_area.width < UNROLLED_PIXEL_COUNT) {
+                        if (cropped_area.width < UNROLLED_PIXEL_COUNT || 
buffer->device_rotation) {
                                 for (x = cropped_area.x; x < cropped_area.x + 
cropped_area.width; x++) {
                                         pixel = 0xff000000;
                                         RANDOMIZE (noise);
@@ -457,7 +551,7 @@
                                         RANDOMIZE (noise);
                                         pixel |= (((blue + noise) & 
COLOR_MASK) >> BLUE_SHIFT);
 
-                                        buffer->bytes[y * buffer->area.width + 
x] = pixel;
+                                        ply_pixel_buffer_set_pixel (buffer, x, 
y, pixel);
                                 }
                         } else {
                                 uint32_t shaded_set[UNROLLED_PIXEL_COUNT];
@@ -485,7 +579,7 @@
                 blue += blue_step;
         }
 
-        ply_region_add_rectangle (buffer->updated_areas, &cropped_area);
+        ply_pixel_buffer_add_updated_area (buffer, &cropped_area);
 }
 
 void
@@ -671,7 +765,7 @@
                 }
         }
 
-        ply_region_add_rectangle (buffer->updated_areas, &cropped_area);
+        ply_pixel_buffer_add_updated_area (buffer, &cropped_area);
 }
 
 void
@@ -756,7 +850,8 @@
 
         /* Fast path to memcpy if we need no blending or scaling */
         if (opacity == 1.0 && ply_pixel_buffer_is_opaque (source) &&
-            canvas->device_scale == source->device_scale) {
+            canvas->device_scale == source->device_scale &&
+            canvas->device_rotation == PLY_PIXEL_BUFFER_ROTATE_UPRIGHT) {
                 ply_rectangle_t cropped_area;
 
                 cropped_area.x = x_offset;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-pixel-buffer.h
 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-pixel-buffer.h
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-pixel-buffer.h
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-pixel-buffer.h
    2018-06-07 04:30:43.000000000 +0200
@@ -37,9 +37,21 @@
          | ((uint8_t) (CLAMP (g * 255.0, 0.0, 255.0)) << 8)                    
  \
          | ((uint8_t) (CLAMP (b * 255.0, 0.0, 255.0))))
 
+typedef enum
+{
+        PLY_PIXEL_BUFFER_ROTATE_UPRIGHT = 0,
+        PLY_PIXEL_BUFFER_ROTATE_UPSIDE_DOWN,
+        PLY_PIXEL_BUFFER_ROTATE_CLOCKWISE,
+        PLY_PIXEL_BUFFER_ROTATE_COUNTER_CLOCKWISE
+} ply_pixel_buffer_rotation_t;
+
 #ifndef PLY_HIDE_FUNCTION_DECLARATIONS
 ply_pixel_buffer_t *ply_pixel_buffer_new (unsigned long width,
                                           unsigned long height);
+ply_pixel_buffer_t *
+ply_pixel_buffer_new_with_device_rotation (unsigned long width,
+                                           unsigned long height,
+                                           ply_pixel_buffer_rotation_t 
device_rotation);
 void ply_pixel_buffer_free (ply_pixel_buffer_t *buffer);
 void ply_pixel_buffer_get_size (ply_pixel_buffer_t *buffer,
                                 ply_rectangle_t    *size);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-renderer.c 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-renderer.c
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/libply-splash-core/ply-renderer.c    
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/libply-splash-core/ply-renderer.c    
    2018-08-22 09:08:15.000000000 +0200
@@ -314,7 +314,8 @@
 {
         assert (renderer->plugin_interface != NULL);
 
-        return renderer->plugin_interface->deactivate (renderer->backend);
+        renderer->plugin_interface->deactivate (renderer->backend);
+        renderer->is_active = false;
 }
 
 bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plymouth-0.9.3+git20171220.6e9e95d/src/main.c 
new/plymouth-0.9.3+git20180827.0a66272/src/main.c
--- old/plymouth-0.9.3+git20171220.6e9e95d/src/main.c   2017-12-20 
16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/src/main.c   2018-08-28 
09:00:02.000000000 +0200
@@ -168,6 +168,7 @@
                      bool           retain_splash,
                      ply_trigger_t *quit_trigger);
 static bool sh_is_init (state_t *state);
+static void cancel_pending_delayed_show (state_t *state);
 
 static ply_boot_splash_mode_t
 get_splash_mode_from_mode (ply_mode_t mode)
@@ -361,6 +362,8 @@
 {
         ply_boot_splash_t *splash;
 
+        cancel_pending_delayed_show (state);
+
         if (state->boot_splash != NULL)
                 return;
 
@@ -851,6 +854,11 @@
         ply_trace ("system now initialized, opening log");
         state->system_initialized = true;
 
+#ifdef PLY_ENABLE_SYSTEMD_INTEGRATION
+        if (state->is_attached)
+                tell_systemd_to_print_details (state);
+#endif
+
         prepare_logging (state);
 }
 
@@ -902,7 +910,7 @@
 {
         ply_trace ("checking if plymouth should show default splash");
 
-        const char const *strings[] = {
+        const char * const strings[] = {
                 "single", "1", "s", "S", "-S", NULL
         };
         int i;
@@ -1001,6 +1009,8 @@
                                                           
(ply_event_loop_timeout_handler_t)
                                                           show_splash,
                                                           state);
+                        /* Listen for ESC to show details */
+                        ply_device_manager_activate_keyboards 
(state->device_manager);
                         return;
                 }
         }
@@ -1174,6 +1184,9 @@
 static void
 hide_splash (state_t *state)
 {
+        if (state->boot_splash && ply_boot_splash_uses_pixel_displays 
(state->boot_splash))
+                ply_device_manager_deactivate_renderers 
(state->device_manager);
+
         state->is_shown = false;
 
         cancel_pending_delayed_show (state);
@@ -1193,7 +1206,6 @@
         state->showing_details = false;
         toggle_between_splash_and_details (state);
 
-        ply_device_manager_deactivate_renderers (state->device_manager);
         hide_splash (state);
         quit_splash (state);
 }
@@ -1255,12 +1267,8 @@
 }
 
 static void
-deactivate_splash (state_t *state)
+deactivate_console (state_t *state)
 {
-        assert (!state->is_inactive);
-
-        ply_device_manager_deactivate_renderers (state->device_manager);
-
         detach_from_running_session (state);
 
         if (state->local_console_terminal != NULL) {
@@ -1274,6 +1282,18 @@
         if (command_line_has_argument (state->kernel_command_line, 
"plymouth.debug"))
                 ply_logger_close_file (ply_logger_get_error_default ());
 
+}
+
+static void
+deactivate_splash (state_t *state)
+{
+        assert (!state->is_inactive);
+
+        if (state->boot_splash && ply_boot_splash_uses_pixel_displays 
(state->boot_splash))
+                ply_device_manager_deactivate_renderers 
(state->device_manager);
+
+        deactivate_console (state);
+
         state->is_inactive = true;
 
         ply_trigger_pull (state->deactivate_trigger, NULL);
@@ -1291,7 +1311,6 @@
         if (state->quit_trigger != NULL) {
                 if (!state->should_retain_splash) {
                         ply_trace ("hiding splash");
-                        ply_device_manager_deactivate_renderers 
(state->device_manager);
                         hide_splash (state);
                 }
 
@@ -1310,6 +1329,7 @@
                ply_trigger_t *deactivate_trigger)
 {
         if (state->is_inactive) {
+                deactivate_console (state);
                 ply_trigger_pull (deactivate_trigger, NULL);
                 return;
         }
@@ -1359,7 +1379,8 @@
         }
 
         ply_device_manager_activate_keyboards (state->device_manager);
-        ply_device_manager_activate_renderers (state->device_manager);
+        if (state->boot_splash && ply_boot_splash_uses_pixel_displays 
(state->boot_splash))
+                ply_device_manager_activate_renderers (state->device_manager);
 
         state->is_inactive = false;
 
@@ -1570,6 +1591,8 @@
 
         bytes = ply_buffer_get_bytes (state->entry_buffer);
         size = ply_buffer_get_size (state->entry_buffer);
+        if (size == 0)
+                return;
 
         bytes_to_remove = MIN (size, PLY_UTF8_CHARACTER_SIZE_MAX);
         while ((previous_character_size = ply_utf8_character_get_size (bytes + 
size - bytes_to_remove, bytes_to_remove)) < bytes_to_remove) {
@@ -1761,7 +1784,8 @@
                 return NULL;
 
         attach_splash_to_devices (state, splash);
-        ply_device_manager_activate_renderers (state->device_manager);
+        if (ply_boot_splash_uses_pixel_displays (splash))
+                ply_device_manager_activate_renderers (state->device_manager);
 
         splash_mode = get_splash_mode_from_mode (state->mode);
 
@@ -1772,11 +1796,6 @@
                 return NULL;
         }
 
-#ifdef PLY_ENABLE_SYSTEMD_INTEGRATION
-        if (state->is_attached)
-                tell_systemd_to_print_details (state);
-#endif
-
         ply_device_manager_activate_keyboards (state->device_manager);
 
         return splash;
@@ -1823,6 +1842,10 @@
                 return false;
         }
 
+#ifdef PLY_ENABLE_SYSTEMD_INTEGRATION
+        tell_systemd_to_print_details (state);
+#endif
+
         state->is_redirected = should_be_redirected;
         state->is_attached = true;
         state->session = session;
@@ -1839,6 +1862,10 @@
         if (!state->is_attached)
                 return;
 
+#ifdef PLY_ENABLE_SYSTEMD_INTEGRATION
+        tell_systemd_to_stop_printing_details (state);
+#endif
+
         ply_trace ("detaching from terminal session");
         ply_terminal_session_detach (state->session);
         state->is_redirected = false;
@@ -2356,7 +2383,9 @@
                 device_manager_flags |= PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV;
 
         if (!plymouth_should_show_default_splash (&state)) {
-                /* don't bother listening for udev events if we're forcing 
details */
+                /* don't bother listening for udev events or setting up a 
graphical renderer
+                 * if we're forcing details */
+                device_manager_flags |= 
PLY_DEVICE_MANAGER_FLAGS_SKIP_RENDERERS;
                 device_manager_flags |= PLY_DEVICE_MANAGER_FLAGS_IGNORE_UDEV;
 
                 /* don't ever delay showing the detailed splash */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/plugins/renderers/drm/plugin.c 
new/plymouth-0.9.3+git20180827.0a66272/src/plugins/renderers/drm/plugin.c
--- old/plymouth-0.9.3+git20171220.6e9e95d/src/plugins/renderers/drm/plugin.c   
2017-12-20 16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/src/plugins/renderers/drm/plugin.c   
2018-08-22 09:08:15.000000000 +0200
@@ -43,6 +43,7 @@
 #include <unistd.h>
 
 #include <drm.h>
+#include <drm_mode.h>
 #include <xf86drm.h>
 #include <xf86drmMode.h>
 
@@ -62,6 +63,11 @@
 
 #define BYTES_PER_PIXEL (4)
 
+/* For builds with libdrm < 2.4.89 */
+#ifndef DRM_MODE_ROTATE_0
+#define DRM_MODE_ROTATE_0 (1<<0)
+#endif
+
 struct _ply_renderer_head
 {
         ply_renderer_backend_t *backend;
@@ -367,6 +373,53 @@
         ply_renderer_buffer_free (backend, buffer);
 }
 
+static int
+connector_orientation_prop_to_rotation (drmModePropertyPtr prop,
+                                        int orientation)
+{
+        const char *name = prop->enums[orientation].name;
+
+        if (strcmp (name, "Upside Down") == 0)
+                return PLY_PIXEL_BUFFER_ROTATE_UPSIDE_DOWN;
+
+        if (strcmp (name, "Left Side Up") == 0) {
+                /* Left side up, rotate counter clockwise to correct */
+                return PLY_PIXEL_BUFFER_ROTATE_COUNTER_CLOCKWISE;
+        }
+
+        if (strcmp (name, "Right Side Up") == 0) {
+                /* Left side up, rotate clockwise to correct */
+                return PLY_PIXEL_BUFFER_ROTATE_CLOCKWISE;
+        }
+
+        return PLY_PIXEL_BUFFER_ROTATE_UPRIGHT;
+}
+
+static int
+ply_renderer_connector_get_rotation (ply_renderer_backend_t *backend,
+                                     drmModeConnector       *connector)
+{
+        drmModePropertyPtr prop;
+        int i, rotation;
+
+        for (i = 0; i < connector->count_props; i++) {
+                prop = drmModeGetProperty (backend->device_fd, 
connector->props[i]);
+                if (!prop)
+                        continue;
+
+                if ((prop->flags & DRM_MODE_PROP_ENUM) &&
+                    strcmp (prop->name, "panel orientation") == 0) {
+                         rotation = connector_orientation_prop_to_rotation 
(prop, connector->prop_values[i]);
+                         drmModeFreeProperty (prop);
+                         return rotation;
+                }
+
+                drmModeFreeProperty (prop);
+        }
+
+        return PLY_PIXEL_BUFFER_ROTATE_UPRIGHT;
+}
+
 static bool
 ply_renderer_head_add_connector (ply_renderer_head_t *head,
                                  drmModeConnector    *connector,
@@ -402,6 +455,7 @@
 {
         ply_renderer_head_t *head;
         drmModeModeInfo *mode;
+        int rotation;
 
         head = calloc (1, sizeof(ply_renderer_head_t));
 
@@ -425,7 +479,8 @@
         ply_renderer_head_add_connector (head, connector, 
connector_mode_index);
         assert (ply_array_get_size (head->connector_ids) > 0);
 
-        head->pixel_buffer = ply_pixel_buffer_new (head->area.width, 
head->area.height);
+        rotation = ply_renderer_connector_get_rotation (backend, connector);
+        head->pixel_buffer = ply_pixel_buffer_new_with_device_rotation 
(head->area.width, head->area.height, rotation);
         ply_pixel_buffer_set_device_scale (head->pixel_buffer,
                                            ply_get_device_scale 
(head->area.width,
                                                                  
head->area.height,
@@ -450,6 +505,85 @@
         free (head);
 }
 
+static void
+ply_renderer_head_clear_plane_rotation (ply_renderer_backend_t *backend,
+                                        ply_renderer_head_t    *head)
+{
+        drmModeObjectPropertiesPtr plane_props;
+        drmModePlaneResPtr plane_resources;
+        drmModePropertyPtr prop;
+        drmModePlanePtr plane;
+        uint64_t rotation;
+        uint32_t i, j;
+        int rotation_prop_id = -1;
+        int primary_id = -1;
+        int err;
+
+        err = drmSetClientCap (backend->device_fd, 
DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
+        if (err)
+                return;
+
+        plane_resources = drmModeGetPlaneResources (backend->device_fd);
+        if (!plane_resources)
+                return;
+
+        for (i = 0; i < plane_resources->count_planes; i++) {
+                plane = drmModeGetPlane (backend->device_fd,
+                                         plane_resources->planes[i]);
+                if (!plane)
+                        continue;
+
+                if (plane->crtc_id != head->controller_id) {
+                        drmModeFreePlane (plane);
+                        continue;
+                }
+
+                plane_props = drmModeObjectGetProperties (backend->device_fd,
+                                                          plane->plane_id,
+                                                          
DRM_MODE_OBJECT_PLANE);
+
+                for (j = 0; plane_props && (j < plane_props->count_props); 
j++) {
+                        prop = drmModeGetProperty (backend->device_fd,
+                                                   plane_props->props[j]);
+                        if (!prop)
+                                continue;
+
+                        if (strcmp (prop->name, "type") == 0 &&
+                            plane_props->prop_values[j] == 
DRM_PLANE_TYPE_PRIMARY) {
+                                primary_id = plane->plane_id;
+                        }
+
+                        if (strcmp (prop->name, "rotation") == 0) {
+                                rotation_prop_id = plane_props->props[j];
+                                rotation = plane_props->prop_values[j];
+                        }
+
+                        drmModeFreeProperty (prop);
+                }
+
+                drmModeFreeObjectProperties (plane_props);
+                drmModeFreePlane (plane);
+
+                if (primary_id != -1)
+                        break;
+
+                /* Not primary -> clear any found rotation property */
+                rotation_prop_id = -1;
+        }
+
+        if (primary_id != -1 && rotation_prop_id != -1 && rotation != 
DRM_MODE_ROTATE_0) {
+                err = drmModeObjectSetProperty (backend->device_fd,
+                                                primary_id,
+                                                DRM_MODE_OBJECT_PLANE,
+                                                rotation_prop_id,
+                                                DRM_MODE_ROTATE_0);
+                ply_trace ("Cleared rotation on primary plane %d result %d",
+                           primary_id, err);
+        }
+
+        drmModeFreePlaneResources (plane_resources);
+}
+
 static bool
 ply_renderer_head_set_scan_out_buffer (ply_renderer_backend_t *backend,
                                        ply_renderer_head_t    *head,
@@ -476,6 +610,7 @@
                 return false;
         }
 
+        ply_renderer_head_clear_plane_rotation (backend, head);
         return true;
 }
 
@@ -483,8 +618,6 @@
 ply_renderer_head_map (ply_renderer_backend_t *backend,
                        ply_renderer_head_t    *head)
 {
-        bool scan_out_set;
-
         assert (backend != NULL);
         assert (backend->device_fd >= 0);
         assert (backend != NULL);
@@ -511,13 +644,6 @@
          */
         ply_renderer_head_redraw (backend, head);
 
-        scan_out_set = reset_scan_out_buffer_if_needed (backend, head);
-        if (!scan_out_set && backend->is_active) {
-                destroy_output_buffer (backend, head->scan_out_buffer_id);
-                head->scan_out_buffer_id = 0;
-                return false;
-        }
-
         return true;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/plugins/renderers/frame-buffer/plugin.c
 
new/plymouth-0.9.3+git20180827.0a66272/src/plugins/renderers/frame-buffer/plugin.c
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/plugins/renderers/frame-buffer/plugin.c
  2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/plugins/renderers/frame-buffer/plugin.c
  2018-08-22 09:08:15.000000000 +0200
@@ -392,9 +392,9 @@
         backend->head.area.height = 0;
 }
 
-static const char const *get_visual_name (int visual)
+static const char *get_visual_name (int visual)
 {
-        static const char const *visuals[] =
+        static const char * const visuals[] =
         {
                 [FB_VISUAL_MONO01] = "FB_VISUAL_MONO01",
                 [FB_VISUAL_MONO10] = "FB_VISUAL_MONO10",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/plugins/splash/script/script-lib-sprite.c
 
new/plymouth-0.9.3+git20180827.0a66272/src/plugins/splash/script/script-lib-sprite.c
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/src/plugins/splash/script/script-lib-sprite.c
        2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/src/plugins/splash/script/script-lib-sprite.c
        2018-08-22 09:08:15.000000000 +0200
@@ -462,8 +462,8 @@
                 /* In that case only draw the background if the sprite doesn't
                  * cover the complete area */
                 if (position_x > x || position_y > y ||
-                    (ply_pixel_buffer_get_width (sprite->image) + position_x) 
< (x + width) ||
-                    (ply_pixel_buffer_get_height (sprite->image) + position_y) 
< (y + height))
+                    ((int)ply_pixel_buffer_get_width (sprite->image) + 
position_x) < (x + width) ||
+                    ((int)ply_pixel_buffer_get_height (sprite->image) + 
position_y) < (y + height))
                         script_lib_draw_brackground (pixel_buffer, &clip_area, 
data);
         } else {
                 script_lib_draw_brackground (pixel_buffer, &clip_area, data);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/src/plugins/splash/two-step/plugin.c 
new/plymouth-0.9.3+git20180827.0a66272/src/plugins/splash/two-step/plugin.c
--- old/plymouth-0.9.3+git20171220.6e9e95d/src/plugins/splash/two-step/plugin.c 
2017-12-20 16:51:10.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/src/plugins/splash/two-step/plugin.c 
2018-08-22 09:08:15.000000000 +0200
@@ -205,6 +205,10 @@
         case PLY_BOOT_SPLASH_MODE_SHUTDOWN:
                 animation_prefix = "shutdown-animation-";
                 break;
+        case PLY_BOOT_SPLASH_MODE_INVALID:
+        default:
+                ply_trace ("unexpected splash mode 0x%x\n", plugin->mode);
+                return;
         }
 
         ply_trace ("trying prefix: %s", animation_prefix);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-halt.service.in 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-halt.service.in
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-halt.service.in   
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-halt.service.in   
    2018-08-22 09:08:15.000000000 +0200
@@ -4,6 +4,7 @@
 Before=systemd-halt.service
 DefaultDependencies=no
 ConditionKernelCommandLine=!plymouth.enable=0
+ConditionVirtualization=!container
 
 [Service]
 ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=shutdown --attach-to-session
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-kexec.service.in 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-kexec.service.in
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-kexec.service.in  
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-kexec.service.in  
    2018-08-22 09:08:15.000000000 +0200
@@ -4,6 +4,7 @@
 Before=systemd-kexec.service
 DefaultDependencies=no
 ConditionKernelCommandLine=!plymouth.enable=0
+ConditionVirtualization=!container
 
 [Service]
 ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=shutdown --attach-to-session
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-poweroff.service.in
 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-poweroff.service.in
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-poweroff.service.in
   2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-poweroff.service.in
   2018-08-22 09:08:15.000000000 +0200
@@ -4,6 +4,7 @@
 Before=systemd-poweroff.service
 DefaultDependencies=no
 ConditionKernelCommandLine=!plymouth.enable=0
+ConditionVirtualization=!container
 
 [Service]
 ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=shutdown --attach-to-session
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-reboot.service.in 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-reboot.service.in
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-reboot.service.in 
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-reboot.service.in 
    2018-08-22 09:08:15.000000000 +0200
@@ -4,6 +4,7 @@
 Before=systemd-reboot.service
 DefaultDependencies=no
 ConditionKernelCommandLine=!plymouth.enable=0
+ConditionVirtualization=!container
 
 [Service]
 ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=shutdown --attach-to-session
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-start.service.in 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-start.service.in
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/plymouth-start.service.in  
    2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/plymouth-start.service.in  
    2018-08-22 09:08:15.000000000 +0200
@@ -5,6 +5,7 @@
 After=systemd-vconsole-setup.service systemd-udev-trigger.service 
systemd-udevd.service
 Before=systemd-ask-password-plymouth.service
 ConditionKernelCommandLine=!plymouth.enable=0
+ConditionVirtualization=!container
 
 [Service]
 ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot 
--pid-file=@plymouthruntimedir@/pid --attach-to-session
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/systemd-ask-password-plymouth.service.in
 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/systemd-ask-password-plymouth.service.in
--- 
old/plymouth-0.9.3+git20171220.6e9e95d/systemd-units/systemd-ask-password-plymouth.service.in
       2017-12-20 16:51:10.000000000 +0100
+++ 
new/plymouth-0.9.3+git20180827.0a66272/systemd-units/systemd-ask-password-plymouth.service.in
       2018-08-22 09:08:15.000000000 +0200
@@ -6,6 +6,7 @@
 After=plymouth-start.service
 Before=shutdown.target
 ConditionKernelCommandLine=!plymouth.enable=0
+ConditionVirtualization=!container
 ConditionPathExists=/run/plymouth/pid
 
 [Service]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/themes/details/.gitignore 
new/plymouth-0.9.3+git20180827.0a66272/themes/details/.gitignore
--- old/plymouth-0.9.3+git20171220.6e9e95d/themes/details/.gitignore    
1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/themes/details/.gitignore    
2018-01-19 07:58:58.000000000 +0100
@@ -0,0 +1 @@
+! details.plymouth
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/themes/text/.gitignore 
new/plymouth-0.9.3+git20180827.0a66272/themes/text/.gitignore
--- old/plymouth-0.9.3+git20171220.6e9e95d/themes/text/.gitignore       
1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/themes/text/.gitignore       
2018-01-19 07:58:58.000000000 +0100
@@ -0,0 +1 @@
+! contact.plymouth
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/plymouth-0.9.3+git20171220.6e9e95d/themes/tribar/.gitignore 
new/plymouth-0.9.3+git20180827.0a66272/themes/tribar/.gitignore
--- old/plymouth-0.9.3+git20171220.6e9e95d/themes/tribar/.gitignore     
1970-01-01 01:00:00.000000000 +0100
+++ new/plymouth-0.9.3+git20180827.0a66272/themes/tribar/.gitignore     
2018-01-19 07:58:58.000000000 +0100
@@ -0,0 +1 @@
+! text.plymouth

++++++ plymouth-correct-runtime-dir.patch ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:25.063199910 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:25.063199910 +0200
@@ -1,6 +1,8 @@
---- a/configure.ac     2012-11-02 22:26:41.000000000 +0100
-+++ b/configure.ac     2013-02-22 17:15:58.300689336 +0100
-@@ -268,7 +268,7 @@
+Index: plymouth-0.9.3+git20180807.7663b0c/configure.ac
+===================================================================
+--- plymouth-0.9.3+git20180807.7663b0c.orig/configure.ac       2018-08-07 
17:41:15.000000000 +0200
++++ plymouth-0.9.3+git20180807.7663b0c/configure.ac    2018-08-17 
19:58:07.106444425 +0200
+@@ -150,7 +150,7 @@ if test x$with_system_root_install = xye
  else
    plymouthclientdir=$bindir
    plymouthdaemondir=$sbindir

++++++ plymouth-dracut-path.patch ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:25.071199938 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:25.071199938 +0200
@@ -1,6 +1,8 @@
---- scripts/plymouth-populate-initrd.in        2012-08-21 01:25:52.000000000 
+0200
-+++ scripts/plymouth-populate-initrd.in        2012-11-01 18:27:22.760029873 
+0100
-@@ -372,8 +372,8 @@
+Index: plymouth-0.9.3+git20180807.7663b0c/scripts/plymouth-populate-initrd.in
+===================================================================
+--- 
plymouth-0.9.3+git20180807.7663b0c.orig/scripts/plymouth-populate-initrd.in     
   2018-08-07 17:41:15.000000000 +0200
++++ plymouth-0.9.3+git20180807.7663b0c/scripts/plymouth-populate-initrd.in     
2018-08-17 19:57:27.334004329 +0200
+@@ -386,8 +386,8 @@ done
  [ -z "$INITRDDIR" ] && usage error
  
  mkdir -p ${INITRDDIR}${PLYMOUTH_DATADIR}/plymouth/themes

++++++ plymouth-manpages.patch ++++++
--- /var/tmp/diff_new_pack.a4Q5tj/_old  2018-09-04 22:47:25.083199979 +0200
+++ /var/tmp/diff_new_pack.a4Q5tj/_new  2018-09-04 22:47:25.083199979 +0200
@@ -1,7 +1,7 @@
-Index: plymouth-0.8.8_git20140207/docs/Makefile.am
+Index: plymouth-0.9.3+git20180807.7663b0c/docs/Makefile.am
 ===================================================================
---- plymouth-0.8.8_git20140207.orig/docs/Makefile.am
-+++ plymouth-0.8.8_git20140207/docs/Makefile.am
+--- plymouth-0.9.3+git20180807.7663b0c.orig/docs/Makefile.am   2018-08-07 
17:41:15.000000000 +0200
++++ plymouth-0.9.3+git20180807.7663b0c/docs/Makefile.am        2018-08-17 
19:58:25.330646165 +0200
 @@ -16,12 +16,14 @@ plymouth.1: plymouth1.xml
  %.1: %.xml
        $(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) 
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

++++++ plymouth-only_use_fb_for_cirrus_bochs.patch ++++++
From: Fabian Vogt <[email protected]>
Subject: force fb for cirrus and bochs, force drm otherwise
References: bsc#888590, bsc#980750

DRM does not work well with cirrus and bochs (no display) but the framebuffer 
driver
prevents DRM drivers from loading.
As we need to support cirrus for libvirt and bochs for QEMU, we cannot just 
remove support for frame-buffer.

Index: 
plymouth-0.9.3+git20180807.7663b0c/src/libply-splash-core/ply-device-manager.c
===================================================================
--- 
plymouth-0.9.3+git20180807.7663b0c.orig/src/libply-splash-core/ply-device-manager.c
 2018-08-07 17:41:15.000000000 +0200
+++ 
plymouth-0.9.3+git20180807.7663b0c/src/libply-splash-core/ply-device-manager.c  
    2018-08-17 19:58:41.178821647 +0200
@@ -228,13 +228,33 @@ create_devices_for_udev_device (ply_devi
                 subsystem = udev_device_get_subsystem (device);
                 ply_trace ("device subsystem is %s", subsystem);
 
+                const char *card_vendor = udev_device_get_sysattr_value 
(device, "device/vendor");
+                const char *card_device = udev_device_get_sysattr_value 
(device, "device/device");
+                bool use_fb = false;
+                if (card_vendor) {
+                        /* Cirrus */
+                        if (strcmp ("0x1013", card_vendor) == 0)
+                                use_fb = true;
+                        /* "Technical Corp", also used by bochs */
+                        else if (strcmp ("0x1234", card_vendor) == 0)
+                                use_fb = strcmp("0x1111", card_device) == 0;
+                }
+
                 if (subsystem != NULL && strcmp (subsystem, SUBSYSTEM_DRM) == 
0) {
                         ply_trace ("found DRM device %s", device_path);
                         renderer_type = PLY_RENDERER_TYPE_DRM;
+                        if (use_fb) {
+                                ply_trace ("forcing use of framebuffer for 
cirrusdrmfb");
+                                renderer_type = PLY_RENDERER_TYPE_NONE;
+                        }
                 } else if (strcmp (subsystem, SUBSYSTEM_FRAME_BUFFER) == 0) {
                         ply_trace ("found frame buffer device %s", 
device_path);
-                        if (!fb_device_has_drm_device (manager, device))
+                        if (use_fb) {
                                 renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
+                        }
+                        else if (!fb_device_has_drm_device (manager, device)) {
+                                ply_trace ("avoiding use of framebuffer to not 
block DRM drivers from working");
+                        }
                         else
                                 ply_trace ("ignoring, since there's a DRM 
device associated with it");
                 }
++++++ plymouth-some-greenish-openSUSE-colors.patch ++++++
>From 9e69959ad2d7624936832421dfb0cd1fee47fefc Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <[email protected]>
Date: Sun, 29 Jul 2012 20:38:50 +0200
Subject: [PATCH] Some greenish openSUSE colors

---
 src/plugins/splash/text/plugin.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

Index: plymouth-0.9.3+git20180807.7663b0c/src/plugins/splash/text/plugin.c
===================================================================
--- plymouth-0.9.3+git20180807.7663b0c.orig/src/plugins/splash/text/plugin.c    
2018-08-07 17:41:15.000000000 +0200
+++ plymouth-0.9.3+git20180807.7663b0c/src/plugins/splash/text/plugin.c 
2018-08-17 19:57:50.786263802 +0200
@@ -174,10 +174,10 @@ view_start_animation (view_t *view)
                                           0x2e3436);
         ply_terminal_set_color_hex_value (terminal,
                                           PLY_TERMINAL_COLOR_WHITE,
-                                          0xffffff);
+                                          0x40ff00);
         ply_terminal_set_color_hex_value (terminal,
                                           PLY_TERMINAL_COLOR_BROWN,
-                                          0x979a9b);
+                                          0x106000);
 
         ply_text_display_set_background_color (view->display,
                                                PLY_TERMINAL_COLOR_BLACK);
Index: plymouth-0.9.3+git20180807.7663b0c/src/plugins/splash/tribar/plugin.c
===================================================================
--- plymouth-0.9.3+git20180807.7663b0c.orig/src/plugins/splash/tribar/plugin.c  
2018-08-07 17:41:15.000000000 +0200
+++ plymouth-0.9.3+git20180807.7663b0c/src/plugins/splash/tribar/plugin.c       
2018-08-17 19:57:50.786263802 +0200
@@ -177,13 +177,13 @@ view_start_animation (view_t *view)
                                           0x000000);
         ply_terminal_set_color_hex_value (terminal,
                                           PLY_TERMINAL_COLOR_WHITE,
-                                          0xffffff);
+                                          0x40ff00);
         ply_terminal_set_color_hex_value (terminal,
                                           PLY_TERMINAL_COLOR_BLUE,
-                                          0x0073B3);
+                                          0x20a000);
         ply_terminal_set_color_hex_value (terminal,
                                           PLY_TERMINAL_COLOR_BROWN,
-                                          0x00457E);
+                                          0x106000);
 
         ply_text_display_set_background_color (view->display,
                                                PLY_TERMINAL_COLOR_BLACK);

Reply via email to