libsolv/SOURCES/libsolv-0.7.24-repo_conda-overwrite-the-package-subdir-with-the-inf.patch

42 lines
1.2 KiB
Diff

From 86717630b78f015ed3e0d41aa299cdde532b9c6f Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Fri, 21 Jul 2023 13:53:46 +0200
Subject: [PATCH] repo_conda: overwrite the package subdir with the info subdir
if there is a conflict
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is what classic conda does, so we also need to do it.
Fixes issue #529
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
ext/repo_conda.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/ext/repo_conda.c b/ext/repo_conda.c
index 9211cbea..356d3b11 100644
--- a/ext/repo_conda.c
+++ b/ext/repo_conda.c
@@ -314,8 +314,16 @@ parse_package(struct parsedata *pd, struct solv_jsonparser *jp, char *kfn, char
/* if we have a global subdir make sure that it matches */
if (subdir && pd->subdir && strcmp(subdir, pd->subdir) != 0)
{
+ /* we used to return an error here, but classic conda
+ * just overwrites the package subdir with the global
+ * subdir */
+#if 0
pd->error = "subdir mismatch";
return JP_ERROR;
+#else
+ solv_free(subdir);
+ subdir = solv_strdup(pd->subdir);
+#endif
}
if (fn || kfn)
--
2.44.0