From f57dbbbd929e527dbb94dc11f79e5df4c6cbdc41 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 29 Dec 2024 18:58:19 +0000 Subject: [PATCH] stripper: Create a unified stripping function Signed-off-by: Michael Tremer --- src/libpakfire/stripper.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/libpakfire/stripper.c b/src/libpakfire/stripper.c index a9e31376f..9218fcc6b 100644 --- a/src/libpakfire/stripper.c +++ b/src/libpakfire/stripper.c @@ -263,8 +263,7 @@ ERROR: #endif static int pakfire_stripper_copy_sources( - struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) { - struct pakfire_stripper* stripper = data; + struct pakfire_stripper* stripper, struct pakfire_file* file) { const char* filename = NULL; char basename[PATH_MAX]; Dwarf* dwarf = NULL; @@ -295,7 +294,7 @@ static int pakfire_stripper_copy_sources( goto ERROR; default: - ERROR(ctx, "Could not initialize DWARF context: %s\n", dwarf_errmsg(-1)); + ERROR(stripper->ctx, "Could not initialize DWARF context: %s\n", dwarf_errmsg(-1)); r = -errno; goto ERROR; } @@ -315,7 +314,7 @@ static int pakfire_stripper_copy_sources( // Fetch the source files r = dwarf_getsrcfiles(die, &files, &count); if (r < 0) { - ERROR(ctx, "Could not fetch the source files: %s\n", dwarf_errmsg(-1)); + ERROR(stripper->ctx, "Could not fetch the source files: %s\n", dwarf_errmsg(-1)); r = -errno; goto ERROR; } @@ -338,12 +337,12 @@ static int pakfire_stripper_copy_sources( if (pakfire_string_startswith(basename, "<") && pakfire_string_endswith(basename, ">")) continue; - DEBUG(ctx, "Found source file: %s\n", filename); + DEBUG(stripper->ctx, "Found source file: %s\n", filename); // Copy the file r = pakfire_stripper_copy_source_file(stripper, filename); if (r < 0) { - ERROR(ctx, "Could not copy source file %s: %s\n", filename, strerror(-r)); + ERROR(stripper->ctx, "Could not copy source file %s: %s\n", filename, strerror(-r)); goto ERROR; } } @@ -360,19 +359,27 @@ ERROR: return r; } -static int __pakfire_stripper_run(struct pakfire_ctx* ctx, void* data) { +static int pakfire_stripper_strip( + struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) { struct pakfire_stripper* stripper = data; int r; // Copy sources - r = pakfire_filelist_walk(stripper->filelist, pakfire_stripper_copy_sources, - stripper, PAKFIRE_FILELIST_SHOW_PROGRESS, _("Stripping Files...")); + r = pakfire_stripper_copy_sources(stripper, file); if (r < 0) return r; return 0; } +static int __pakfire_stripper_run(struct pakfire_ctx* ctx, void* data) { + struct pakfire_stripper* stripper = data; + + // Strip all files + return pakfire_filelist_walk(stripper->filelist, pakfire_stripper_strip, + stripper, PAKFIRE_FILELIST_SHOW_PROGRESS, _("Stripping Files...")); +} + int pakfire_stripper_run(struct pakfire_stripper* stripper) { int r; -- 2.47.3