From: Michael Tremer Date: Wed, 17 Aug 2022 20:26:23 +0000 (+0000) Subject: archive: Extract source packages into versioned paths X-Git-Tag: 0.9.28~462 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=addef1f8a37390da2853391e0e3c7d70f92039e0;p=pakfire.git archive: Extract source packages into versioned paths Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/archive.c b/src/libpakfire/archive.c index fca06e12c..2ab442337 100644 --- a/src/libpakfire/archive.c +++ b/src/libpakfire/archive.c @@ -859,9 +859,9 @@ ERROR: PAKFIRE_EXPORT int pakfire_archive_extract(struct pakfire_archive* archive) { struct pakfire_package* pkg = NULL; - const char* prefix = NULL; struct archive* a = NULL; struct archive* payload = NULL; + char prefix[PATH_MAX] = ""; size_t size = 0; int r = 1; @@ -877,7 +877,7 @@ PAKFIRE_EXPORT int pakfire_archive_extract(struct pakfire_archive* archive) { // Set prefix for source packages if (pakfire_package_is_source(pkg)) - prefix = "/usr/src/packages"; + pakfire_string_format(prefix, "/usr/src/packages/%s", nevra); // Open payload payload = pakfire_archive_open_payload(archive, &a, &size); diff --git a/src/libpakfire/build.c b/src/libpakfire/build.c index 4e4f1c4ad..f4beaee63 100644 --- a/src/libpakfire/build.c +++ b/src/libpakfire/build.c @@ -1254,7 +1254,7 @@ PAKFIRE_EXPORT int pakfire_build_exec(struct pakfire_build* build, const char* p } // Compose path to makefile - r = pakfire_string_format(makefile, "/usr/src/packages/%s/%s.nm", name, name); + r = pakfire_string_format(makefile, "/usr/src/packages/%s/%s.nm", nevra, name); if (r < 0) { ERROR(build->pakfire, "Could not compose makefile path: %m\n"); goto ERROR;