]> git.ipfire.org Git - people/ric9/pakfire.git/commitdiff
build: Set PKG_CONFIG_PATH a little bit elegantly
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 5 Jan 2025 17:14:34 +0000 (17:14 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 5 Jan 2025 17:14:34 +0000 (17:14 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/build.c

index 8e6c492af4abecb5880abc623c3fab8df9ac9d73..393e1f1bebdc1fcfac97b0999a93d7445fe47b8a 100644 (file)
@@ -522,7 +522,6 @@ static int pakfire_build_find_pkgconfig_provides(
 
 static int pakfire_build_find_pkgconfig_requires(
                struct pakfire_ctx* ctx, struct pakfire_file* file, struct pakfire_find_deps_ctx* deps) {
-       const char* buildroot = deps->build->buildroot;
        struct pakfire_env* env = NULL;
        int r;
 
@@ -550,11 +549,18 @@ static int pakfire_build_find_pkgconfig_requires(
        };
 
        // Tell pkg-config to look inside BUILDROOT
-       r = pakfire_env_set(env,
-                       "PKG_CONFIG_PATH", "%s/usr/lib64/pkgconfig:%s/usr/lib/pkgconfig:%s/usr/share/pkgconfig",
-                       buildroot, buildroot, buildroot);
-       if (r < 0)
-               goto ERROR;
+       const char* search_paths[] = {
+               "/usr/lib64/pkgconfig",
+               "/usr/lib/pkgconfig",
+               "/usr/share/pkgconfig",
+               NULL,
+       };
+
+       for (const char** search_path = search_paths; *search_path; search_path++) {
+               r = pakfire_env_append(env, "PKG_CONFIG_PATH", "%s%s", deps->build->buildroot, *search_path);
+               if (r < 0)
+                       goto ERROR;
+       }
 
        // Run pkg-config and process the output
        r = pakfire_jail_communicate(deps->build->jail, argv, env, 0, NULL, NULL,