Hello community, here is the log from the commit of package plymouth for openSUSE:Factory checked in at 2017-01-31 12:30:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plymouth (Old) and /work/SRC/openSUSE:Factory/.plymouth.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plymouth" Changes: -------- --- /work/SRC/openSUSE:Factory/plymouth/plymouth.changes 2016-02-16 09:18:14.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.plymouth.new/plymouth.changes 2017-02-03 18:56:21.998224485 +0100 @@ -1,0 +2,80 @@ +Thu Jan 26 22:11:01 UTC 2017 - [email protected] + +- Drop use-mkinitrd.patch: No longer needed, mkinitrd is just a + wrapper for dracut now any way, hence this patch is currently + pointless. + +------------------------------------------------------------------- +Wed Jan 25 14:38:09 UTC 2017 - [email protected] + +- Remove patch which causes breakage with systemd-vconsole-setup (bsc#1020327): + * 0001-let-it-become-a-real-daemon.patch +- Add upstream patch to fix crash on boot: + * 0001-device-manager-handle-NULL-renderer-better.patch +- Replace removal of framebuffer driver and plymouth-ignore-cirrusdrm.patch + with single patch: + * only_use_fb_for_cirrus_bochs.patch + +------------------------------------------------------------------- +Mon Jan 09 17:01:44 UTC 2017 - [email protected] + +- Update to version 0.9.2+git20161215.18dd755: + * terminal: refresh geometry after drm device arrives + * logger: stop using carriage returns + * build-goo: don't install systemd units during distcheck + * systemd-units: Fix uninstall script + * configure: switch to tar.xz instead tar.bz2 + * libply: fix HiDPI detection + * libply, main: Add device scale setting + * main: support plymouth.force-scale on the kernel command line + * build-goo: make udev support build time optional + * device-manager: dont pass terminal as renderer device + +------------------------------------------------------------------- +Tue Sep 06 09:23:50 UTC 2016 - [email protected] + +- Update to version 0.9.2+git20160823.e4b7e49: + * libply: fix HiDPI detection + * libply, main: Add device scale setting + * main: support plymouth.force-scale on the kernel command line +- Refresh patch: + * 0001-let-it-become-a-real-daemon.patch + +------------------------------------------------------------------- +Tue Sep 6 09:22:50 UTC 2016 - [email protected] + +- Add systemd to buildrequires to properly detect systemd-ask-password + +------------------------------------------------------------------- +Thu Aug 4 11:15:47 UTC 2016 - [email protected] + +- Sort out with spec-cleaner and move all buildrequires to main scope + not to subpkgs, sometimes interpreted wrongly by rpm if it is split + +------------------------------------------------------------------- +Thu Aug 4 11:06:30 UTC 2016 - [email protected] + +- Reduce patches list removing merged upstream (bit differently tho): + * 0001-seats-guard-against-NULL-terminal.patch + * fix-serial-consoles.patch + * plymouth-boot-vga-framebuffer.patch +- Refresh patches: + * 0001-let-it-become-a-real-daemon.patch +- Update to version 0.9.2+git20160620.0e65b86: + * configure: tweak defaults to be more systemd friendly + * text: don't draw if not animating + * terminal: always open terminal in non-blocking mode + * device-manager: probe existing DRM devices at startup + * drm: don't pick up drm master implicitly + * terminal: refresh geometry after drm device arrives + * logger: stop using carriage returns + * build-goo: don't install systemd units during distcheck + * systemd-units: Fix uninstall script + * configure: switch to tar.xz instead tar.bz2 + +------------------------------------------------------------------- +Wed Jun 1 10:20:05 UTC 2016 - [email protected] + +- Remove framebuffer support bsc#980750 and bsc#982226 + +------------------------------------------------------------------- Old: ---- 0001-let-it-become-a-real-daemon.patch 0001-seats-guard-against-NULL-terminal.patch fix-serial-consoles.patch plymouth-0.9.2.tar.bz2 plymouth-boot-vga-framebuffer.patch plymouth-ignore-cirrusdrm.patch use-mkinitrd.patch New: ---- 0001-device-manager-handle-NULL-renderer-better.patch _service _servicedata only_use_fb_for_cirrus_bochs.patch plymouth-0.9.2+git20161215.18dd755.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plymouth.spec ++++++ --- /var/tmp/diff_new_pack.RnsmHP/_old 2017-02-03 18:56:23.741979610 +0100 +++ /var/tmp/diff_new_pack.RnsmHP/_new 2017-02-03 18:56:23.741979610 +0100 @@ -1,7 +1,7 @@ # # spec file for package plymouth # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,15 +20,15 @@ %define plymouthclient_execdir %{_bindir} %define plymouth_libdir %{_libdir} %define plymouth_initrd_file /boot/initrd-plymouth.img - Name: plymouth -Version: 0.9.2 +Version: 0.9.2+git20161215.18dd755 Release: 0 Summary: Graphical Boot Animation and Logger License: GPL-2.0+ Group: System/Base Url: http://freedesktop.org/software/plymouth/releases -Source0: http://www.freedesktop.org/software/plymouth/releases/%{name}-%{version}.tar.bz2 +# Switched to git snapshot to ease bugfix inclusion +Source0: %{name}-%{version}.tar.xz Source1: boot-duration # PATCH-OPENSUSE -- Handle correctly multiple displays with different sizes Patch3: plymouth-fix-window-size @@ -41,44 +41,44 @@ Patch16: plymouth-correct-runtime-dir.patch # PATCH-FIX-UPSTREAM plymouth-manpages.patch [email protected] -- Fix man page installation Patch17: plymouth-manpages.patch -Patch18: fix-serial-consoles.patch -# PATCH-FIX-OPENSUSE use-mkinitrd.patch [email protected] -- call mkinitrd -B for now -Patch20: use-mkinitrd.patch -# PATCH-FIX-UPSTREAM 0001-seats-guard-against-NULL-terminal.patch [email protected] -- guard against null terminal -Patch21: 0001-seats-guard-against-NULL-terminal.patch -# PATCH-FIX-UPSTREAM plymouth-ignore-cirrusdrm.patch [email protected] -- ignore cirrusdrm, use fb instead -Patch26: plymouth-ignore-cirrusdrm.patch -Patch28: plymouth-boot-vga-framebuffer.patch -Patch29: 0001-let-it-become-a-real-daemon.patch +# PATCH-FIX-UPSTREAM 0001-device-manager-handle-NULL-renderer-better.patch [email protected] -- device-manager: handle NULL renderer better +Patch18: 0001-device-manager-handle-NULL-renderer-better.patch +# PATCH-FIX-OPENSUSE only_use_fb_for_cirrus_bochs.patch [email protected] -- force fb for cirrus and bochs, force drm otherwise +Patch26: only_use_fb_for_cirrus_bochs.patch # PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch [email protected] -- add ability to output text in initrd Patch30: 0001-Add-label-ft-plugin.patch Patch31: 0002-Install-label-ft-plugin-into-initrd-if-available.patch Patch32: 0003-fix_null_deref.patch - BuildRequires: automake BuildRequires: docbook-xsl-stylesheets BuildRequires: kernel-headers BuildRequires: libtool -BuildRequires: libudev-devel BuildRequires: libxslt BuildRequires: module-init-tools -BuildRequires: systemd >= 186 +BuildRequires: pkgconfig +BuildRequires: suse-module-tools +# needed for systemd-tty-ask-password-agent +BuildRequires: systemd BuildRequires: update-desktop-files BuildRequires: xz +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libsystemd) >= 186 +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(pango) >= 1.21.0 BuildRequires: pkgconfig(systemd) >= 186 -Requires(post): coreutils -Requires(postun): coreutils Requires: %{name}-branding Requires: gnu-unifont-bitmap-fonts Requires: systemd >= 186 +Requires(post): coreutils Requires(post): plymouth-scripts = %{version} -BuildRequires: suse-module-tools -Suggests: plymouth-plugin-label +Requires(postun): coreutils Recommends: plymouth-plugin-label-ft -Provides: bootsplash = 3.4 -Obsoletes: bootsplash <= 3.4 +Suggests: plymouth-plugin-label +Provides: bootsplash = 3.5 +Obsoletes: bootsplash < 3.5 Provides: systemd-plymouth = 44-10.2 Obsoletes: systemd-plymouth <= 44-10.1 @@ -138,8 +138,8 @@ %package dracut Summary: Plymouth related utilities for dracut Group: System/Base -Supplements: packageand(plymouth:dracut) Requires: %{name} = %{version} +Supplements: packageand(plymouth:dracut) %description dracut This package contains utilities that integrate dracut with Plymouth @@ -156,11 +156,11 @@ %package scripts Summary: Plymouth related scripts Group: System/Base -Requires(pre): %{name} = %{version} Requires: coreutils Requires: cpio Requires: findutils Requires: pigz +Requires(pre): %{name} = %{version} %description scripts This package contains scripts that help integrate Plymouth with @@ -169,8 +169,6 @@ %package plugin-label Summary: Plymouth label plugin Group: System/Base -BuildRequires: pkgconfig(cairo) -BuildRequires: pkgconfig(pango) >= 1.21.0 Requires: libply-splash-graphics4 = %{version} %description plugin-label @@ -181,7 +179,6 @@ %package plugin-label-ft Summary: Plymouth FreeType label plugin Group: System/Base -BuildRequires: pkgconfig(freetype2) Requires: fontconfig Requires: libply-splash-graphics4 = %{version} @@ -285,8 +282,8 @@ Summary: Plymouth "Spinfinity" theme Group: System/Base Requires: %{name}-plugin-throbgress = %{version} -Requires(pre): %{name} Requires(post): %{name}-scripts +Requires(pre): %{name} BuildArch: noarch %description theme-spinfinity @@ -343,25 +340,20 @@ %setup -q %patch3 -p1 %patch4 -p1 -%patch9 -p0 +%patch9 %patch10 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch20 -p1 -%patch21 -p1 %patch26 -p1 -%patch28 -p1 -%patch29 -p1 %patch30 -p1 %patch31 -p1 %patch32 -p1 # replace builddate with patch0date -sed -i "s/__DATE__/\"$(stat -c %y %{_sourcedir}/%{name}.changes)\"/" src/main.c +sed -i "s/__DATE__/\"$(stat -c %%y %{_sourcedir}/%{name}.changes)\"/" src/main.c # Change the default theme - %if 0%{?is_opensuse} sed -i -e 's/spinner/openSUSE/g' src/plymouthd.defaults %else @@ -370,9 +362,11 @@ %build autoreconf -fiv -%configure --disable-static \ +%configure \ + --disable-silent-rules \ + --disable-static \ --enable-systemd-integration \ - --enable-tracing --disable-tests \ + --enable-tracing \ --with-background-start-color-stop=0x1A3D1F \ --with-background-end-color-stop=0x4EA65C \ --with-background-color=0x3391cd \ @@ -381,27 +375,24 @@ --without-rhgb-compat-link \ --with-boot-tty=/dev/tty7 \ --with-shutdown-tty=/dev/tty1 \ - --without-gdm-autostart-file \ - --with-release-file=/etc/os-release + --with-release-file=%{_sysconfdir}/os-release -make %{?_smp_mflags} V=1 +make %{?_smp_mflags} %install - %make_install rm -f %{buildroot}/%{_bindir}/rhgb-client #Link the plymouth client binary also to /bin until the move to /usr is completed mkdir %{buildroot}/bin -(cd %{buildroot}/bin; ln -s ../usr/bin/plymouth) +(cd %{buildroot}/bin; ln -s ..%{_bindir}/plymouth) # Glow isn't quite ready for primetime rm -rf %{buildroot}%{_datadir}/plymouth/glow/ rm -rf %{buildroot}%{_datadir}/plymouth/themes/glow/ rm -f %{buildroot}%{_libdir}/plymouth/glow.so -find %{buildroot} -name '*.a' -exec rm -f {} \; -find %{buildroot} -name '*.la' -exec rm -f {} \; +find %{buildroot} -type f -name "*.la" -delete -print mkdir -p %{buildroot}%{_localstatedir}/lib/plymouth mkdir -p %{buildroot}/run/plymouth @@ -431,21 +422,13 @@ %{?regenerate_initrd_posttrans} %post -n libply-boot-client4 -p /sbin/ldconfig - %postun -n libply-boot-client4 -p /sbin/ldconfig - %post -n libply-splash-core4 -p /sbin/ldconfig - %postun -n libply-splash-core4 -p /sbin/ldconfig - %post -n libply-splash-graphics4 -p /sbin/ldconfig - %postun -n libply-splash-graphics4 -p /sbin/ldconfig - %post -n libply4 -p /sbin/ldconfig - %postun -n libply4 -p /sbin/ldconfig - %post theme-spinfinity if [ $1 -eq 1 ]; then set -x ++++++ 0001-device-manager-handle-NULL-renderer-better.patch ++++++ >From fdda9af2c305ecf57407856b1d061c076ae8fe4a Mon Sep 17 00:00:00 2001 From: Ray Strode <[email protected]> Date: Wed, 18 Jan 2017 10:07:00 -0500 Subject: [PATCH] device-manager: handle NULL renderer better Right now we'll pass a NULL device name and crash if the renderer fails to open. This commit fixes that. --- src/libply-splash-core/ply-device-manager.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c index 4004e11..b4c33d4 100644 --- a/src/libply-splash-core/ply-device-manager.c +++ b/src/libply-splash-core/ply-device-manager.c @@ -689,16 +689,18 @@ create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager, return; } - old_renderer = ply_hashtable_lookup (manager->renderers, - (void *) ply_renderer_get_device_name (renderer)); + if (renderer != NULL) { + old_renderer = ply_hashtable_lookup (manager->renderers, + (void *) ply_renderer_get_device_name (renderer)); - if (old_renderer != NULL) { - ply_trace ("ignoring device %s since it's alerady managed", - ply_renderer_get_device_name (renderer)); - ply_renderer_free (renderer); + if (old_renderer != NULL) { + ply_trace ("ignoring device %s since it's alerady managed", + ply_renderer_get_device_name (renderer)); + ply_renderer_free (renderer); - renderer = NULL; - return; + renderer = NULL; + return; + } } } -- 2.11.0 ++++++ _service ++++++ <services> <service mode="disabled" name="tar_scm"> <param name="url">git://anongit.freedesktop.org/plymouth</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> <param name="filename">plymouth</param> <param name="versionformat">0.9.2+git%cd.%h</param> </service> <service mode="disabled" name="recompress"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> <service mode="disabled" name="set_version"/> </services> ++++++ _servicedata ++++++ <servicedata> <service name="tar_scm"> <param name="url">git://anongit.freedesktop.org/plymouth</param> <param name="changesrevision">18dd75589bbdf0ddc07a61421f05078df88ee768</param></service></servicedata> ++++++ 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.2+git20161215.18dd755/src/libply-splash-core/ply-device-manager.c =================================================================== --- plymouth-0.9.2+git20161215.18dd755.orig/src/libply-splash-core/ply-device-manager.c +++ plymouth-0.9.2+git20161215.18dd755/src/libply-splash-core/ply-device-manager.c @@ -227,13 +227,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"); }
