}
static int __pakfire_build_package_mark_config_files(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
- char** configfiles = (char**)data;
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
+ char** configfiles = data;
int r;
// Skip anything that isn't a regular file
*/
static int pakfire_build_post_process_files(struct pakfire_build* build,
struct pakfire_filelist* filelist, const char* description,
- int (*callback)(struct pakfire* pakfire, struct pakfire_file* file, void* data),
- int flags) {
+ pakfire_filelist_walk_callback callback, int flags) {
struct pakfire_filelist* removees = NULL;
int r;
}
static int __pakfire_build_remove_static_libraries(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
struct pakfire_filelist* removees = (struct pakfire_filelist*)data;
char path[PATH_MAX];
int r;
}
static int __pakfire_build_remove_libtool_archives(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
struct pakfire_filelist* removees = (struct pakfire_filelist*)data;
// Find all libtool archive files
}
static int __pakfire_build_check_broken_symlinks(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
struct pakfire_filelist* broken = (struct pakfire_filelist*)data;
int r;
*/
static int __pakfire_build_post_check_files(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
struct pakfire_filelist* broken = (struct pakfire_filelist*)data;
int issues = 0;
int r;
return r;
}
-static int __pakfire_build_unpackaged_file(struct pakfire* pakfire,
- struct pakfire_file* file, void* p) {
- struct pakfire_build* build = p;
-
+static int __pakfire_build_unpackaged_file(
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* p) {
char* s = pakfire_file_dump(file, PAKFIRE_FILE_DUMP_FULL);
if (s) {
- CTX_ERROR(build->ctx, "%s\n", s);
+ CTX_ERROR(ctx, "%s\n", s);
free(s);
}
if (!pakfire_filelist_is_empty(filelist)) {
CTX_ERROR(build->ctx, "Unpackaged files found:\n");
- r = pakfire_filelist_walk(filelist, __pakfire_build_unpackaged_file, build, 0);
+ r = pakfire_filelist_walk(filelist, __pakfire_build_unpackaged_file, NULL, 0);
if (r)
goto ERROR;
return 0;
}
-static int __pakfire_compress_entry(struct pakfire* pakfire, struct pakfire_file* file,
+static int __pakfire_compress_entry(struct pakfire_ctx* ctx, struct pakfire_file* file,
struct pakfire_compress* data, struct archive_entry* entry) {
FILE* f = NULL;
int r;
return r;
}
-static int __pakfire_compress(struct pakfire* pakfire, struct pakfire_file* file, void* p) {
+static int __pakfire_compress(struct pakfire_ctx* ctx, struct pakfire_file* file, void* p) {
struct archive_entry* entry = NULL;
struct archive_entry* sparse_entry = NULL;
int r = 1;
// Write the main entry
if (entry) {
- r = __pakfire_compress_entry(pakfire, file, data, entry);
+ r = __pakfire_compress_entry(ctx, file, data, entry);
if (r)
goto ERROR;
}
// Write the sparse entry
if (sparse_entry) {
- r = __pakfire_compress_entry(pakfire, file, data, sparse_entry);
+ r = __pakfire_compress_entry(ctx, file, data, sparse_entry);
if (r)
goto ERROR;
}
break;
// Write the entry to the archive
- r = __pakfire_compress_entry(pakfire, file, data, entry);
+ r = __pakfire_compress_entry(ctx, file, data, entry);
if (r)
goto ERROR;
}
}
static int __pakfire_filelist_remove_one(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
struct pakfire_filelist* list = (struct pakfire_filelist*)data;
// Remove the file from the given filelist
pakfire_progress_increment(progress, 1);
// Call the callback
- r = callback(list->pakfire, element->file, data);
+ r = callback(list->ctx, element->file, data);
if (r)
break;
}
}
static int __pakfire_filelist_dump(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
- int* flags = (int*)data;
-
- struct pakfire_ctx* ctx = pakfire_ctx(pakfire);
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
+ int* flags = data;
char* s = pakfire_file_dump(file, *flags);
if (s) {
free(s);
}
- pakfire_ctx_unref(ctx);
-
return 0;
}
return 0;
}
-static int __pakfire_filelist_matches_class(struct pakfire* pakfire,
- struct pakfire_file* file, void* p) {
- int* class = (int*)p;
+static int __pakfire_filelist_matches_class(
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
+ int* class = data;
return pakfire_file_matches_class(file, *class);
}
struct pakfire_filelist;
#include <pakfire/file.h>
+#include <pakfire/pakfire.h>
int pakfire_filelist_create(struct pakfire_filelist** list, struct pakfire* pakfire);
#include <stdio.h>
+#include <pakfire/ctx.h>
+
size_t pakfire_filelist_total_size(struct pakfire_filelist* list);
int pakfire_filelist_remove_all(struct pakfire_filelist* list,
int pakfire_filelist_contains(struct pakfire_filelist* list, const char* pattern);
typedef int (*pakfire_filelist_walk_callback)
- (struct pakfire* pakfire, struct pakfire_file* file, void* data);
+ (struct pakfire_ctx* ctx, struct pakfire_file* file, void* data);
enum pakfire_filelist_walk_flags {
PAKFIRE_FILELIST_SHOW_PROGRESS = (1 << 0),
return 0;
}
-static int __pakfire_package_set_filelist(struct pakfire* pakfire,
- struct pakfire_file* file, void* data) {
- struct pakfire_package* pkg = (struct pakfire_package*)data;
+static int __pakfire_package_set_filelist(
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
+ struct pakfire_package* pkg = data;
// Fetch the path
const char* path = pakfire_file_get_path(file);
return r;
}
-static int __pakfire_package_add_json_filelist(struct pakfire* pakfire,
- struct pakfire_file* file, void* data) {
+static int __pakfire_package_add_json_filelist(
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
struct json_object* filelist = (struct json_object*)data;
int r = 1;
return r;
}
-static int __pakfire_packager_add_files(struct pakfire* pakfire,
- struct pakfire_file* file, void* p) {
- struct pakfire_packager* packager = (struct pakfire_packager*)p;
+static int __pakfire_packager_add_files(
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
+ struct pakfire_packager* packager = data;
return pakfire_packager_add_file(packager, file);
}
}
static int pakfire_stripper_find_elf(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
struct pakfire_stripper* stripper = data;
int r;
}
static int pakfire_stripper_copy_sources(
- struct pakfire* pakfire, struct pakfire_file* file, void* data) {
+ struct pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
struct pakfire_stripper* stripper = data;
const char* filename = NULL;
char basename[PATH_MAX];
// Read DWARF information
dwarf = dwarf_begin(fileno(f), DWARF_C_READ);
if (!dwarf) {
- CTX_ERROR(stripper->ctx, "Could not initialize DWARF context: %s\n",
- dwarf_errmsg(-1));
+ CTX_ERROR(ctx, "Could not initialize DWARF context: %s\n", dwarf_errmsg(-1));
r = -errno;
goto ERROR;
}
// Fetch the source files
r = dwarf_getsrcfiles(die, &files, &count);
if (r < 0) {
- CTX_ERROR(stripper->ctx, "Could not fetch the source files: %s\n",
- dwarf_errmsg(-1));
+ CTX_ERROR(ctx, "Could not fetch the source files: %s\n", dwarf_errmsg(-1));
r = -errno;
goto ERROR;
}
if (pakfire_string_startswith(basename, "<") && pakfire_string_endswith(basename, ">"))
continue;
- CTX_DEBUG(stripper->ctx, "Found source file: %s\n", filename);
+ CTX_DEBUG(ctx, "Found source file: %s\n", filename);
// Copy the file
r = pakfire_stripper_copy_source_file(stripper, filename);
if (r < 0) {
- CTX_ERROR(stripper->ctx, "Could not copy source file %s: %s\n",
- filename, strerror(-r));
+ CTX_ERROR(ctx, "Could not copy source file %s: %s\n", filename, strerror(-r));
goto ERROR;
}
}