gotmax23 pushed to ansible-packaging (f37). "Add
ansible_collection.py helper script (..more)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:08:12 UTC
From bc337bd8e48760c9670613391c7f0145542cded5 Mon Sep 17 00:00:00 2001
From: Maxwell G <gotmax(a)e.email>
Date: Sep 26 2022 04:07:26 +0000
Subject: Add ansible_collection.py helper script
The %collection_namespace and %collection_name macros are clunky. This
script preforms two tasks:
- install: extract the namespace, name, and version from galaxy.yml,
run `ansible-galaxy install`, and write a filelist for use with
%files -f.
- test: create a temporary build directory with the required
directory structure for ansible-test to work and run `ansible-test
units`.
---
diff --git a/ansible-packaging.spec b/ansible-packaging.spec
index 50e256d..4e2478c 100644
--- a/ansible-packaging.spec
+++ b/ansible-packaging.spec
@@ -9,7 +9,12 @@ Source0: ansible-generator
Source1: ansible.attr
Source2: macros.ansible
Source3: macros.ansible-srpm
-Source4: COPYING
+Source4: ansible_collection.py
+
+Source100: COPYING
+
+# Needed for ansible_collection.py
+Requires: %{py3_dist pyyaml}
# Require ansible-core for building. Collections still have a boolean runtime
# dependency on either ansible 2.9 OR ansible-core.
@@ -67,9 +72,10 @@ cp -a %{sources} .
%install
install -Dpm0644 -t %{buildroot}%{_fileattrsdir} ansible.attr
-install -Dpm0644 -t %{buildroot}%{_rpmmacrodir} macros.ansible
-install -Dpm0644 -t %{buildroot}%{_rpmmacrodir} macros.ansible-srpm
+install -Dpm0644 -t %{buildroot}%{_rpmmacrodir} macros.ansible
+install -Dpm0644 -t %{buildroot}%{_rpmmacrodir} macros.ansible-srpm
install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} ansible-generator
+install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} ansible_collection.py
%files
@@ -77,6 +83,7 @@ install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} ansible-generator
%{_fileattrsdir}/ansible.attr
%{_rpmmacrodir}/macros.ansible
%{_rpmconfigdir}/ansible-generator
+%{_rpmconfigdir}/ansible_collection.py
%files -n ansible-srpm-macros
diff --git a/ansible_collection.py b/ansible_collection.py
new file mode 100755
index 0000000..18f04a9
--- /dev/null
+++ b/ansible_collection.py
@@ -0,0 +1,138 @@
+#!/usr/bin/python3
+# SPDX-License-Identifier: GPL-3.0-or-later
+# SPDX-FileCopyrightText 2022 Maxwell G <gotmax(a)e.email>
+
+"""
+This script uses Ansible Collection metadata from galaxy.yml to figure out the
+namespace, name, and version of the collection being packaged.
+
+``ansible_collection.py install`` (used by %ansible_collecton_install) uses
+this information to find and install the collection artifact that was just
+built with %ansible_collection_build. It also generates a files list for use
+with `%files -f`.
+
+``ansible_collection.py test`` (used by %ansible_test_unit) parses galaxy.yml
+to determine the collection namespace and name that's needed to create the
+directory structure that ansible-test expects. After creating a temporary build
+directory with the needed structure, the script runs ansible-test units with
+the provided arguments.
+"""
+
+import argparse
+import shutil
+import subprocess
+import sys
+from pathlib import Path
+from tempfile import TemporaryDirectory
+from typing import Any, Dict, Optional, Sequence, Union
+
+from yaml import CSafeLoader, load
+
+
+class CollectionError(Exception):
+ pass
+
+
+class AnsibleCollection:
+ def __init__(self, collection_srcdir: Optional[Path] = None) -> None:
+ self.collection_srcdir = collection_srcdir or Path.cwd()
+ self.data = self._load_data()
+ self.namespace = self.data["namespace"]
+ self.name = self.data["name"]
+ self.version = self.data["version"]
+
+ def _load_data(self) -> Dict[str, Any]:
+ path = self.collection_srcdir / "galaxy.yml"
+ if not path.exists():
+ raise CollectionError(f"{path} does not exist!")
+ print(f"Loading collection metadata from {path}")
+
+ with open(path, encoding="utf-8") as file:
+ return load(file, Loader=CSafeLoader)
+
+ def install(self, destdir: Union[str, Path]) -> None:
+ args = (
+ "ansible-galaxy",
+ "collection",
+ "install",
+ "-n",
+ "-p",
+ str(destdir),
+ f"{self.namespace}-{self.name}-{self.version}.tar.gz",
+ )
+ print(f"Running: {args}")
+ print()
+ subprocess.run(args, check=True, cwd=self.collection_srcdir)
+
+ def write_filelist(self, filelist: Path) -> None:
+ filelist.parent.mkdir(parents=True, exist_ok=True)
+ contents = "%{ansible_collections_dir}/" + self.namespace
+ print(f"Writing filelist to {filelist}")
+ with open(filelist, "w", encoding="utf-8") as file:
+ file.write(contents)
+
+ def unit_test(self, extra_args: Sequence) -> None:
+ with TemporaryDirectory() as temp:
+ temppath = Path(temp) / "ansible_collections" / self.namespace / self.name
+ shutil.copytree(
+ self.collection_srcdir,
+ temppath,
+ )
+ args = ("ansible-test", "units", *extra_args)
+ print(f"Running: {args}")
+ print()
+ subprocess.run(args, cwd=temppath, check=True)
+
+
+def parseargs() -> argparse.Namespace:
+ parser = argparse.ArgumentParser(
+ "Install and test Ansible Collections in an rpmbuild environment"
+ )
+ subparsers = parser.add_subparsers(dest="action")
+ install_parser = subparsers.add_parser(
+ "install",
+ help="Run ansible-galaxy collection install and write filelist",
+ )
+ install_parser.add_argument(
+ "--collections-dir",
+ required=True,
+ help="Collection destination directory",
+ type=Path,
+ )
+ install_parser.add_argument(
+ "--filelist",
+ type=Path,
+ required=True,
+ help="%%{ansible_collection_filelist}",
+ )
+
+ test_parser = subparsers.add_parser(
+ "test",
+ help="Run ansible-test unit after creating the necessary directory structure",
+ )
+ test_parser.add_argument(
+ "extra_args", nargs="*", help="Extra arguments to pass to ansible-test"
+ )
+ args = parser.parse_args()
+ # add_subparsers does not support required on Python 3.6
+ if not args.action:
+ parser.print_usage()
+ sys.exit(2)
+ return args
+
+
+def main():
+ args = parseargs()
+ collection = AnsibleCollection()
+ if args.action == "install":
+ collection.install(args.collections_dir)
+ collection.write_filelist(args.filelist)
+ elif args.action == "test":
+ collection.unit_test(args.extra_args)
+
+
+if __name__ == "__main__":
+ try:
+ main()
+ except CollectionError as err:
+ sys.exit(err)
https://src.fedoraproject.org/rpms/ansible-packaging/c/bc337bd8e48760c967...
1Â year, 7Â months
gotmax23 pushed to ansible-packaging (f37). "Add %ansible_roles_dir
and %ansible_collections_dir (..more)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:08:12 UTC
From 2f4f3dbe16c97231a99c1f0b7305846609058c93 Mon Sep 17 00:00:00 2001
From: Maxwell G <gotmax(a)e.email>
Date: Sep 23 2022 23:00:58 +0000
Subject: Add %ansible_roles_dir and %ansible_collections_dir
We expect collections to use %ansible_collection_install and
%ansible_collection_file{s,list}. I'm mainly defining
%ansible_collection_dir for use in our macros.
There are a couple packaged roles in Fedora that can use
%ansible_roles_dir. This can also be used if we decide to implement
macros for packaging roles.
---
diff --git a/macros.ansible b/macros.ansible
index abab21d..5e2bc06 100644
--- a/macros.ansible
+++ b/macros.ansible
@@ -1,3 +1,6 @@
+%ansible_roles_dir %{_datadir}/ansible/roles
+%ansible_collections_dir %{_datadir}/ansible/collections/ansible_collections
+
%ansible_collection_build() ansible-galaxy collection build
%ansible_collection_install() ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz
https://src.fedoraproject.org/rpms/ansible-packaging/c/2f4f3dbe16c97231a9...
1Â year, 7Â months
gotmax23 pushed to ansible-packaging (f37). "Add new
%ansible_collection_filelist macro (..more)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:08:12 UTC
From b1de39d9c64cabf7c40c29d445e135b0e41a3f0b Mon Sep 17 00:00:00 2001
From: Maxwell G <gotmax(a)e.email>
Date: Sep 26 2022 04:07:27 +0000
Subject: Add new %ansible_collection_filelist macro
%ansible_collection_files cannot be adapted to dynamically determine the
collection namespace. We need to use a file list for that.
%ansible_collection_install writes out a file list to
%ansible_collection_filelist. Packagers would pass
`%{ansible_collection_filelist}` to `%files -f`.
Eventually, I'd like to deprecate %ansible_collection_files. That won't
happen until the new approach has gotten more testing and adoption.
---
diff --git a/macros.ansible b/macros.ansible
index 0c81432..57c89fe 100644
--- a/macros.ansible
+++ b/macros.ansible
@@ -18,5 +18,11 @@
--python-interpreter %{__python3} --local %{?*}
}
+# TODO: Officially deprecate this macro and add the following line to the macro
+# def after the new approach has gotten more testing and adoption:
+# %%{warn: %%{ansible_collection_files} is deprecated. Use %%files -f %%{ansible_collection_filelist} instead.}
+%ansible_collection_files %{shrink:
+%{ansible_collections_dir}/%{collection_namespace}/
+}
-%ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/
+%ansible_collection_filelist %{__ansible_builddir}/ansible_collection_files
https://src.fedoraproject.org/rpms/ansible-packaging/c/b1de39d9c64cabf7c4...
1Â year, 7Â months
gotmax23 pushed to ansible-packaging (f37). "Refactor
%ansible_collection_install (..more)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:08:12 UTC
From deee147c9518bb49974d96436ca11ce60345be17 Mon Sep 17 00:00:00 2001
From: Maxwell G <gotmax(a)e.email>
Date: Sep 26 2022 04:07:26 +0000
Subject: Refactor %ansible_collection_install
This change removes %ansible_collection_install's dependence on the
%collection_namespace and %collection_name macros. Now, the macro uses
the new helper script which extracts this information from galaxy.yml.
Parsing the galaxy.yml instead of using %{version} to determine the
collection version also lends another benefit: it allows us to package
pre-releases. Previously, discrepancies between %{version} and the
upstream version (eg. "3.0.0~rc1" vs "3.0.0-rc1") broke the macro.
---
diff --git a/macros.ansible b/macros.ansible
index 5e2bc06..856688e 100644
--- a/macros.ansible
+++ b/macros.ansible
@@ -1,9 +1,18 @@
+# Stores ephemeral data that's created by %%ansible_collection_install
+# and used by other macros.
+%__ansible_builddir %{_builddir}/%{?buildsubdir:%{buildsubdir}/}.ansible-packaging
+
%ansible_roles_dir %{_datadir}/ansible/roles
%ansible_collections_dir %{_datadir}/ansible/collections/ansible_collections
%ansible_collection_build() ansible-galaxy collection build
-%ansible_collection_install() ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{version}.tar.gz
+%ansible_collection_install() %{shrink:
+%{_rpmconfigdir}/ansible_collection.py install
+--collections-dir %{buildroot}%{ansible_collections_dir}
+--filelist %{ansible_collection_filelist}
+}
+
%ansible_test_unit() %{expand:\\\
mkdir -p ../ansible_collections/%{collection_namespace}
https://src.fedoraproject.org/rpms/ansible-packaging/c/deee147c9518bb4997...
1Â year, 7Â months
pagure pushed to et (rawhide). "Unbundle cxxopts"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:05:45 UTC
From 64bc0da0de44e3ba0140615f773ab01a791bf118 Mon Sep 17 00:00:00 2001
From: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Sep 04 2022 13:28:08 +0000
Subject: Unbundle cxxopts
---
diff --git a/et.spec b/et.spec
index 73027a0..6b8c544 100644
--- a/et.spec
+++ b/et.spec
@@ -27,6 +27,8 @@ BuildRequires: firewalld-filesystem
BuildRequires: gcc-c++
BuildRequires: catch-devel
# -static BR required for tracking of header-only libraries
+BuildRequires: cxxopts-devel
+BuildRequires: cxxopts-static
BuildRequires: easyloggingpp-devel
BuildRequires: easyloggingpp-static
BuildRequires: gflags-devel
@@ -51,8 +53,6 @@ Provides: bundled(cotire) = 1.8.0
# grep User-Agent external/cpp-httlib/httplib.h
# cross-check with the git checkout for specific version
Provides: bundled(cpp-httplib) = 0.7.18
-# external/cxxopts/include/cxxopts.hpp
-Provides: bundled(cxxopts) = 2.2.0
# external/msgpack-c/include/msgpack/version_master.h
Provides: bundled(msgpack) = 3.3.0
# external/PlatformFolders/CMakeLists.txt
@@ -85,6 +85,10 @@ interrupting the session.
rm -rf external_imported/Catch2
sed -r -i '/\$\{EXTERNAL_DIR\}\/Catch2\/single_include/d' CMakeLists.txt
+# Unbundle cxxopts
+rm -rf external_imported/cxxopts
+sed -r -i '/\$\{.*\}\/cxxopts\/include/d' CMakeLists.txt
+
# Unbundle easyloggingpp
rm -rf external_imported/easyloggingpp
# The easylogging++.cc source file is treated as a strangely-named header; see
https://src.fedoraproject.org/rpms/et/c/64bc0da0de44e3ba0140615f773ab01a7...
1Â year, 7Â months
pagure pushed to et (rawhide). "Unbundle easyloggingpp"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:05:45 UTC
From f24cf74e97ffa6aed10eace18a00be9e5fe80ff5 Mon Sep 17 00:00:00 2001
From: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Sep 04 2022 13:24:15 +0000
Subject: Unbundle easyloggingpp
---
diff --git a/et.spec b/et.spec
index 6e9606f..b1a63f2 100644
--- a/et.spec
+++ b/et.spec
@@ -26,6 +26,9 @@ BuildRequires: cmake3
BuildRequires: firewalld-filesystem
BuildRequires: gcc-c++
BuildRequires: catch-devel
+# -static BR required for tracking of header-only libraries
+BuildRequires: easyloggingpp-devel
+BuildRequires: easyloggingpp-static
BuildRequires: gflags-devel
BuildRequires: libatomic
BuildRequires: libcurl-devel
@@ -48,8 +51,6 @@ Provides: bundled(cotire) = 1.8.0
Provides: bundled(cpp-httplib) = 0.7.18
# external/cxxopts/include/cxxopts.hpp
Provides: bundled(cxxopts) = 2.2.0
-# external/easylogingcpp/CMakeLists.txt
-Provides: bundled(easyloggingpp) = 9.96.7
# external/msgpack-c/include/msgpack/version_master.h
Provides: bundled(msgpack) = 3.3.0
# external/json/CMakeLists.txt
@@ -84,6 +85,15 @@ interrupting the session.
rm -rf external_imported/Catch2
sed -r -i '/\$\{EXTERNAL_DIR\}\/Catch2\/single_include/d' CMakeLists.txt
+# Unbundle easyloggingpp
+rm -rf external_imported/easyloggingpp
+# The easylogging++.cc source file is treated as a strangely-named header; see
+# notes in the easyloggingpp spec file.
+sed -r -i \
+ -e 's@\$\{.*\}/easyloggingpp/src/(easylogging.*)(a)%{_includedir}/\1@' \
+ -e '/easyloggingpp\/src\/?$/d' \
+ CMakeLists.txt
+
%build
%cmake \
https://src.fedoraproject.org/rpms/et/c/f24cf74e97ffa6aed10eace18a00be9e5...
1Â year, 7Â months
acaringi pushed to bpftrace (f37). "Enable workaround for LLVM-15
(..more)"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:04:07 UTC
From c8dcef71a366fa4a787af6fbf81c7e4a36e64d1c Mon Sep 17 00:00:00 2001
From: kenneth topp <toppk(a)bllue.org>
Date: Sep 26 2022 13:49:01 +0000
Subject: Enable workaround for LLVM-15
This workaround allows bpftrace to be compiled against
LLVM-15. This will have to be address properly before LLVM-16
More details from LLVM here: https://llvm.org/docs/OpaquePointers.html
Submitted upstream: https://github.com/iovisor/bpftrace/pull/2367
---
diff --git a/0001-Workaround-OpaquePointers-for-LLVM-15.patch b/0001-Workaround-OpaquePointers-for-LLVM-15.patch
new file mode 100644
index 0000000..a8bd291
--- /dev/null
+++ b/0001-Workaround-OpaquePointers-for-LLVM-15.patch
@@ -0,0 +1,29 @@
+From 07fa48a94ef6d6bb1f335de345de18fe9776ca57 Mon Sep 17 00:00:00 2001
+From: kenneth topp <toppk(a)bllue.org>
+Date: Mon, 26 Sep 2022 00:33:29 -0400
+Subject: [PATCH] Workaround OpaquePointers for LLVM 15
+
+This workaround allows bpftrace to be compiled against
+LLVM-15. This will have to be address properly before LLVM-16
+More details from LLVM here: https://llvm.org/docs/OpaquePointers.html
+---
+ src/ast/irbuilderbpf.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/ast/irbuilderbpf.cpp b/src/ast/irbuilderbpf.cpp
+index d49883f7..00f0f172 100644
+--- a/src/ast/irbuilderbpf.cpp
++++ b/src/ast/irbuilderbpf.cpp
+@@ -123,6 +123,9 @@ IRBuilderBPF::IRBuilderBPF(LLVMContext &context,
+ module_(module),
+ bpftrace_(bpftrace)
+ {
++#if LLVM_VERSION_MAJOR == 15
++ context.setOpaquePointers(false);
++#endif
+ // Declare external LLVM function
+ FunctionType *pseudo_func_type = FunctionType::get(
+ getInt64Ty(),
+--
+2.37.3
+
diff --git a/bpftrace.spec b/bpftrace.spec
index ba74914..811eeee 100644
--- a/bpftrace.spec
+++ b/bpftrace.spec
@@ -1,11 +1,12 @@
Name: bpftrace
Version: 0.16.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: High-level tracing language for Linux eBPF
License: ASL 2.0
URL: https://github.com/iovisor/bpftrace
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+Patch1: 0001-Workaround-OpaquePointers-for-LLVM-15.patch
# Arches will be included as upstream support is added and dependencies are
# satisfied in the respective arches
@@ -80,6 +81,9 @@ find %{buildroot}%{_datadir}/%{name}/tools -type f -exec \
%changelog
+* Mon Sep 26 2022 Kenneth Topp <toppk(a)bllue.org> - 0.16.0-3
+- Enable workaround for non OpaquePointers on LLVM-15
+
* Mon Sep 19 2022 Pete Walter <pwalter(a)fedoraproject.org> - 0.16.0-2
- Rebuild for llvm 15
https://src.fedoraproject.org/rpms/bpftrace/c/c8dcef71a366fa4a787af6fbf81...
1Â year, 7Â months
fab pushed to golang-github-graphql (rawhide). "Update to latest
upstream release 0.8.0"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:02:57 UTC
From 72bde5ab980a4b649c560a1381b5d5c03b5f5211 Mon Sep 17 00:00:00 2001
From: Fabian Affolter <mail(a)fabian-affolter.ch>
Date: Sep 30 2022 21:02:45 +0000
Subject: Update to latest upstream release 0.8.0
---
diff --git a/.gitignore b/.gitignore
index 56ce1af..51ff104 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/graphql-0.7.9.tar.gz
+/graphql-0.8.0.tar.gz
diff --git a/golang-github-graphql.spec b/golang-github-graphql.spec
index 6be159e..453e86a 100644
--- a/golang-github-graphql.spec
+++ b/golang-github-graphql.spec
@@ -3,7 +3,7 @@
# https://github.com/graphql-go/graphql
%global goipath github.com/graphql-go/graphql
-Version: 0.7.9
+Version: 0.8.0
%gometa
@@ -14,7 +14,7 @@ An implementation of GraphQL for Go.}
%global godocs examples CONTRIBUTING.md README.md
Name: %{goname}
-Release: 7%{?dist}
+Release: 1%{?dist}
Summary: Implementation of GraphQL for Go
License: MIT
@@ -41,6 +41,9 @@ sed -i 's/\r$//' examples/sql-nullstring/{main.go,README.md}
%gopkgfiles
%changelog
+* Fri Sep 30 2022 Fabian Affolter <mail(a)fabian-affolter.ch> - 0.8.0-1
+- Update to latest upstream release 0.8.0
+
* Thu Jul 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.7.9-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
diff --git a/sources b/sources
index 1984142..ade63ab 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (graphql-0.7.9.tar.gz) = fb4d01b9ccbbfce8d9c9d84ad6131d70436a9aeff0338aed28353be73892b815c54729fc4fe55262e08deafe0c0fb6319aa4061bb30e78e8068ca54b8e694f53
+SHA512 (graphql-0.8.0.tar.gz) = 66a3cd7904534c007e27c0d2bd544bb54f4689de546604cd9c031c9d099b41767362ace6a87a6aa3875f1ffe36c7e12f5cae699ebe916288142612681df64b3b
https://src.fedoraproject.org/rpms/golang-github-graphql/c/72bde5ab980a4b...
1Â year, 7Â months
jadahl pushed to mutter (f36). "Add second patch"
by notificationsï¼ fedoraproject.org
Notification time stamped 2022-09-30 21:00:30 UTC
From 8dfa3dfc61f595538584aaac83b4b7d08653e3fd Mon Sep 17 00:00:00 2001
From: Jonas Ã…dahl <jadahl(a)gmail.com>
Date: Sep 30 2022 21:00:10 +0000
Subject: Add second patch
---
diff --git a/0002-wayland-Unlink-surface-listener-when-freeing-token.patch b/0002-wayland-Unlink-surface-listener-when-freeing-token.patch
new file mode 100644
index 0000000..2328a50
--- /dev/null
+++ b/0002-wayland-Unlink-surface-listener-when-freeing-token.patch
@@ -0,0 +1,34 @@
+From 694e3d41f5ed4f79104b427245905bdd73db78d7 Mon Sep 17 00:00:00 2001
+From: Carlos Garnacho <carlosg(a)gnome.org>
+Date: Thu, 25 Aug 2022 11:07:53 +0200
+Subject: [PATCH 2/2] wayland: Unlink surface listener when freeing token
+
+If the token ended up consumed and freed, we might leave a dangling
+destroy listener after freeing the token struct.
+
+Fixes: ed516dde89 (wayland: Add destruction listener to activation token surface)
+Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2594>
+
+
+(cherry picked from commit 9d558e334cb74a09932e7ea8013c7e1babb1b215)
+---
+ src/wayland/meta-wayland-activation.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/wayland/meta-wayland-activation.c b/src/wayland/meta-wayland-activation.c
+index 6436c4416e..500c0c73a5 100644
+--- a/src/wayland/meta-wayland-activation.c
++++ b/src/wayland/meta-wayland-activation.c
+@@ -214,6 +214,9 @@ meta_xdg_activation_token_free (MetaXdgActivationToken *token)
+ g_clear_object (&token->sequence);
+ }
+
++ if (token->surface)
++ wl_list_remove (&token->surface_listener.link);
++
+ g_free (token->app_id);
+ g_free (token->token);
+ g_free (token);
+--
+2.37.1
+
https://src.fedoraproject.org/rpms/mutter/c/8dfa3dfc61f595538584aaac83b4b...
1Â year, 7Â months