From 464e738e288d0cc359d1d039d7dec6198b4e3e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hubert=20Figui=C3=A8re?= Date: Thu, 15 Feb 2024 12:41:24 -0500 Subject: [PATCH] flaptak-builder: Fix rename with empty id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hubert Figuière --- org.flatpak.Builder.json | 3 +- patches/flatpak-builder-empty-id.patch | 46 ++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 patches/flatpak-builder-empty-id.patch diff --git a/org.flatpak.Builder.json b/org.flatpak.Builder.json index 70e81ae..98ff874 100644 --- a/org.flatpak.Builder.json +++ b/org.flatpak.Builder.json @@ -510,7 +510,8 @@ "type": "patch", "paths": [ "patches/flatpak-builder-lfs.patch", - "patches/flatpak-builder-appstream-cli-urls.patch" + "patches/flatpak-builder-appstream-cli-urls.patch", + "patches/flatpak-builder-empty-id.patch" ] } ] diff --git a/patches/flatpak-builder-empty-id.patch b/patches/flatpak-builder-empty-id.patch new file mode 100644 index 0000000..fbdc723 --- /dev/null +++ b/patches/flatpak-builder-empty-id.patch @@ -0,0 +1,46 @@ +diff --git a/src/builder-manifest.c b/src/builder-manifest.c +index 27312714..61d22f14 100644 +--- a/src/builder-manifest.c ++++ b/src/builder-manifest.c +@@ -2806,9 +2806,6 @@ builder_manifest_cleanup (BuilderManifest *self, + FlatpakXml *n_id; + FlatpakXml *n_root; + FlatpakXml *n_text; +- FlatpakXml *n_provides = NULL; +- FlatpakXml *n_provides_id = NULL; +- FlatpakXml *id_text = NULL; + g_autofree char *old_id = NULL; + g_autoptr(FlatpakXml) xml_root = NULL; + g_autoptr(GInputStream) in = NULL; +@@ -2841,16 +2838,23 @@ builder_manifest_cleanup (BuilderManifest *self, + } + } + +- n_provides = flatpak_xml_find (n_root, "provides", NULL); +- if (!n_provides) ++ if (old_id) + { +- n_provides = flatpak_xml_new ("provides"); +- flatpak_xml_add (n_root, n_provides); ++ FlatpakXml *n_provides = NULL; ++ FlatpakXml *n_provides_id = NULL; ++ FlatpakXml *id_text = NULL; ++ ++ n_provides = flatpak_xml_find (n_root, "provides", NULL); ++ if (!n_provides) ++ { ++ n_provides = flatpak_xml_new ("provides"); ++ flatpak_xml_add (n_root, n_provides); ++ } ++ n_provides_id = flatpak_xml_new ("id"); ++ id_text = flatpak_xml_new_text (g_steal_pointer (&old_id)); ++ flatpak_xml_add (n_provides_id, id_text); ++ flatpak_xml_add (n_provides, n_provides_id); + } +- n_provides_id = flatpak_xml_new ("id"); +- id_text = flatpak_xml_new_text (g_steal_pointer (&old_id)); +- flatpak_xml_add (n_provides_id, id_text); +- flatpak_xml_add (n_provides, n_provides_id); + + /* replace any optional launchable */ + n_id = flatpak_xml_find (n_root, "launchable", NULL);