diff options
author | Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com> | 2022-02-11 21:41:30 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-12 05:16:52 +0000 |
commit | 786a2d71d3bd51fc39dc73c548b7c9d7fa45096e (patch) | |
tree | 2e5ce44af0f018429a76e540aba1dff12f40b81d /media-video | |
parent | media-gfx/blender: update dep bounds for OpenEXR 3 conversion (diff) | |
download | gentoo-786a2d71d3bd51fc39dc73c548b7c9d7fa45096e.tar.gz gentoo-786a2d71d3bd51fc39dc73c548b7c9d7fa45096e.tar.bz2 gentoo-786a2d71d3bd51fc39dc73c548b7c9d7fa45096e.zip |
media-video/wireplumber: backport a fix and enable config protection
WirePlumber 0.4.8 contains a config/script change that, if not present
in the user modified files, will cause startup failure. This commit
backports an upstream fix to prevent a crash in addition to also
implementing a solution to at least keep /etc/wireplumber up to date
though the usual config_protect mechanism. This is needed because while
the particular issue has been addressed, it does not solve the general
problem with there potentially being outdated files in /etc/wireplumber
directory. The same is true for $HOME/.config/wireplumber, too, however
there's no reasonable way to help users who decide to copy config files
to there and then never update them against newer versions.
Closes: https://bugs.gentoo.org/832952
Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch | 27 | ||||
-rw-r--r-- | media-video/wireplumber/wireplumber-0.4.7-r2.ebuild (renamed from media-video/wireplumber/wireplumber-0.4.7-r1.ebuild) | 11 | ||||
-rw-r--r-- | media-video/wireplumber/wireplumber-0.4.8-r1.ebuild (renamed from media-video/wireplumber/wireplumber-0.4.8.ebuild) | 15 | ||||
-rw-r--r-- | media-video/wireplumber/wireplumber-9999.ebuild | 11 |
4 files changed, 64 insertions, 0 deletions
diff --git a/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch b/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch new file mode 100644 index 000000000000..5f4a838c36a6 --- /dev/null +++ b/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch @@ -0,0 +1,27 @@ +https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/5f96f69218273573e625475846269b3914cfcecf + +From 5f96f69218273573e625475846269b3914cfcecf Mon Sep 17 00:00:00 2001 +From: George Kiagiadakis <george.kiagiadakis@collabora.com> +Date: Wed, 9 Feb 2022 13:35:13 +0200 +Subject: [PATCH] restore-stream: do not crash if config.properties is nil + +Fixes #190 +--- + src/scripts/restore-stream.lua | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/scripts/restore-stream.lua b/src/scripts/restore-stream.lua +index 404eede5..0c17bdd7 100644 +--- a/src/scripts/restore-stream.lua ++++ b/src/scripts/restore-stream.lua +@@ -10,6 +10,7 @@ + + -- Receive script arguments from config.lua + local config = ... or {} ++config.properties = config.properties or {} + config_restore_props = config.properties["restore-props"] or false + config_restore_target = config.properties["restore-target"] or false + +-- +GitLab + diff --git a/media-video/wireplumber/wireplumber-0.4.7-r1.ebuild b/media-video/wireplumber/wireplumber-0.4.7-r2.ebuild index 6c3ec05b1b1c..03a62724a829 100644 --- a/media-video/wireplumber/wireplumber-0.4.7-r1.ebuild +++ b/media-video/wireplumber/wireplumber-0.4.7-r2.ebuild @@ -82,6 +82,17 @@ src_configure() { meson_src_configure } +src_install() { + meson_src_install + + # We copy the default config, so that Gentoo tools can pick up on any + # updates and /etc does not end up with stale overrides. + # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files + # will not actually get stored twice until modified. + insinto /etc + doins -r ${ED}/usr/share/wireplumber +} + pkg_postinst() { if systemd_is_booted ; then ewarn "pipewire-media-session.service is no longer installed. You must switch" diff --git a/media-video/wireplumber/wireplumber-0.4.8.ebuild b/media-video/wireplumber/wireplumber-0.4.8-r1.ebuild index e270841b0638..6348d11b2485 100644 --- a/media-video/wireplumber/wireplumber-0.4.8.ebuild +++ b/media-video/wireplumber/wireplumber-0.4.8-r1.ebuild @@ -60,6 +60,10 @@ RDEPEND="${DEPEND} DOCS=( {NEWS,README}.rst ) +PATCHES=( + "${FILESDIR}"/${P}-restore-stream-do-not-crash-if-config.properties-is-.patch +) + src_configure() { local emesonargs=( -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) @@ -78,6 +82,17 @@ src_configure() { meson_src_configure } +src_install() { + meson_src_install + + # We copy the default config, so that Gentoo tools can pick up on any + # updates and /etc does not end up with stale overrides. + # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files + # will not actually get stored twice until modified. + insinto /etc + doins -r ${ED}/usr/share/wireplumber +} + pkg_postinst() { if systemd_is_booted ; then ewarn "pipewire-media-session.service is no longer installed. You must switch" diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild index e270841b0638..2e425ab4a17e 100644 --- a/media-video/wireplumber/wireplumber-9999.ebuild +++ b/media-video/wireplumber/wireplumber-9999.ebuild @@ -78,6 +78,17 @@ src_configure() { meson_src_configure } +src_install() { + meson_src_install + + # We copy the default config, so that Gentoo tools can pick up on any + # updates and /etc does not end up with stale overrides. + # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files + # will not actually get stored twice until modified. + insinto /etc + doins -r ${ED}/usr/share/wireplumber +} + pkg_postinst() { if systemd_is_booted ; then ewarn "pipewire-media-session.service is no longer installed. You must switch" |