From 78a5aefbe48997f6aa185c0830d299a5df1ea397 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 8 Dec 2022 15:11:51 +0000 Subject: [PATCH] build: Only send Perl files to the perl dependency scripts Signed-off-by: Michael Tremer --- src/libpakfire/build.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/libpakfire/build.c b/src/libpakfire/build.c index a3a99b996..9ce8c82e8 100644 --- a/src/libpakfire/build.c +++ b/src/libpakfire/build.c @@ -257,6 +257,7 @@ struct pakfire_find_deps_ctx { struct pakfire_package* pkg; int dep; struct pakfire_filelist* filelist; + const char* pattern; }; static int pakfire_build_send_file(struct pakfire* pakfire, @@ -282,7 +283,7 @@ static int pakfire_build_send_file(struct pakfire* pakfire, static int pakfire_build_send_filelist(struct pakfire* pakfire, void* data, int fd) { const struct pakfire_find_deps_ctx* ctx = (struct pakfire_find_deps_ctx*)data; - return pakfire_filelist_walk(ctx->filelist, NULL, + return pakfire_filelist_walk(ctx->filelist, ctx->pattern, pakfire_build_send_file, &fd); } @@ -318,13 +319,14 @@ static int pakfire_build_process_deps(struct pakfire* pakfire, */ static int pakfire_build_find_deps(struct pakfire_build* build, struct pakfire_package* pkg, int dep, const char* script, - struct pakfire_filelist* filelist) { + struct pakfire_filelist* filelist, const char* pattern) { // Construct the context struct pakfire_find_deps_ctx ctx = { .pkg = pkg, .dep = dep, .filelist = filelist, + .pattern = pattern, }; int r; @@ -349,25 +351,25 @@ static int pakfire_build_find_dependencies(struct pakfire_build* build, // Find all provides r = pakfire_build_find_deps(build, pkg, - PAKFIRE_PKG_PROVIDES, "find-provides", filelist); + PAKFIRE_PKG_PROVIDES, "find-provides", filelist, NULL); if (r) return r; // Find all Perl provides r = pakfire_build_find_deps(build, pkg, - PAKFIRE_PKG_PROVIDES, "perl.prov", filelist); + PAKFIRE_PKG_PROVIDES, "perl.prov", filelist, "*.pm"); if (r) return r; // Find all requires r = pakfire_build_find_deps(build, pkg, - PAKFIRE_PKG_REQUIRES, "find-requires", filelist); + PAKFIRE_PKG_REQUIRES, "find-requires", filelist, NULL); if (r) return r; // Find all Perl requires r = pakfire_build_find_deps(build, pkg, - PAKFIRE_PKG_REQUIRES, "perl.req", filelist); + PAKFIRE_PKG_REQUIRES, "perl.req", filelist, "*.pm"); if (r) return r; -- 2.39.5