diff options
Diffstat (limited to 'recipes-core/swupd-server/swupd-server-2.53/0001-Add-option-S-to-take-the-state-data-dir-as-an-argume.patch')
-rw-r--r-- | recipes-core/swupd-server/swupd-server-2.53/0001-Add-option-S-to-take-the-state-data-dir-as-an-argume.patch | 781 |
1 files changed, 0 insertions, 781 deletions
diff --git a/recipes-core/swupd-server/swupd-server-2.53/0001-Add-option-S-to-take-the-state-data-dir-as-an-argume.patch b/recipes-core/swupd-server/swupd-server-2.53/0001-Add-option-S-to-take-the-state-data-dir-as-an-argume.patch deleted file mode 100644 index 4d387c1..0000000 --- a/recipes-core/swupd-server/swupd-server-2.53/0001-Add-option-S-to-take-the-state-data-dir-as-an-argume.patch +++ /dev/null @@ -1,781 +0,0 @@ -From 4a3c91466e0782885fe980b659a6f6ac4835fe8a Mon Sep 17 00:00:00 2001 -From: Joshua Lock <joshua.g.lock@intel.com> -Date: Thu, 28 Jan 2016 10:24:56 +0000 -Subject: [PATCH] Add option -S to take the state data dir as an argument - -The optional -S option expects a full path to a directory -swupd-server should use instead of the default /var/lib/update. - -Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> - -Upstream-Status: Backport [v3.0+] - ---- - include/swupd.h | 11 ++++++--- - src/analyze_fs.c | 4 ++-- - src/chroot.c | 13 ++++++----- - src/globals.c | 53 +++++++++++++++++++++++++++++++++++++++++ - src/main.c | 50 ++++++++++++++++++++++++++++++--------- - src/make_fullfiles.c | 63 +++++++++++++++++++++++++++++++++++++++++++++---- - src/make_packs.c | 66 ++++++++++++++++++++++++++++++++++++++++++++-------- - src/pack.c | 65 +++++++++++++++++++++++++++------------------------ - src/rename.c | 6 ++--- - src/versions.c | 6 ++--- - 10 files changed, 264 insertions(+), 73 deletions(-) - -diff --git a/include/swupd.h b/include/swupd.h -index 00b88d4..522ac2e 100644 ---- a/include/swupd.h -+++ b/include/swupd.h -@@ -16,9 +16,6 @@ - #define SWUPD_DEFAULT_FORMAT 3 - - #define SWUPD_SERVER_STATE_DIR "/var/lib/update" --#define PACKSTAGE_DIR SWUPD_SERVER_STATE_DIR "/packstage" --#define IMAGE_DIR SWUPD_SERVER_STATE_DIR "/image" --#define STAGING_DIR SWUPD_SERVER_STATE_DIR "/www" - - #if SWUPD_WITH_SELINUX - #define TAR_PERM_ATTR_ARGS "--preserve-permissions --xattrs --xattrs-include='*' --selinux" -@@ -123,9 +120,17 @@ extern int newversion; - extern int minversion; - extern char *format_string; - -+extern char *state_dir; -+extern char *packstage_dir; -+extern char *image_dir; -+extern char *staging_dir; -+ - extern bool init_globals(void); - extern void free_globals(void); - extern bool set_format_string(char *); -+extern bool set_state_dir(char *); -+extern bool init_state_globals(void); -+extern void free_state_globals(void); - - extern int file_sort_hash(gconstpointer a, gconstpointer b); - extern int file_sort_filename(gconstpointer a, gconstpointer b); -diff --git a/src/analyze_fs.c b/src/analyze_fs.c -index 4d01ccf..f6cfa13 100644 ---- a/src/analyze_fs.c -+++ b/src/analyze_fs.c -@@ -389,7 +389,7 @@ struct manifest *full_manifest_from_directory(int version) - - manifest = alloc_manifest(version, "full"); - -- string_or_die(&dir, "%s/%i/full", IMAGE_DIR, version); -+ string_or_die(&dir, "%s/%i/full", image_dir, version); - - threadpool = g_thread_pool_new(get_hash, dir, 12, FALSE, NULL); - -@@ -413,7 +413,7 @@ struct manifest *sub_manifest_from_directory(char *component, int version) - - manifest = alloc_manifest(version, component); - -- string_or_die(&dir, "%s/%i/%s", IMAGE_DIR, version, component); -+ string_or_die(&dir, "%s/%i/%s", image_dir, version, component); - - iterate_directory(manifest, dir, "", false); - -diff --git a/src/chroot.c b/src/chroot.c -index d85b5f7..cb6a04a 100644 ---- a/src/chroot.c -+++ b/src/chroot.c -@@ -41,14 +41,15 @@ void chroot_create_full(int newversion) - struct stat buf; - char *full_dir; - -- string_or_die(&full_dir, "%s/%i/full/", IMAGE_DIR, newversion); -+ string_or_die(&full_dir, "%s/%i/full/ ", image_dir, newversion); - - g_mkdir_with_parents(full_dir, S_IRWXU); - - - /* start with base */ - LOG(NULL, "Copying chroot os-core to full", ""); -- string_or_die(&command, "rsync -aAX " IMAGE_DIR "/%i/os-core/ %s", newversion, full_dir); -+ string_or_die(&command, "rsync -aAX %s/%i/os-core/ %s", -+ image_dir, newversion, full_dir); - ret = system(command); - assert(ret==0); - free(command); -@@ -61,8 +62,8 @@ void chroot_create_full(int newversion) - } - - LOG(NULL, "Overlaying bundle chroot onto full", "%s", group); -- string_or_die(&command, "rsync -aAX --ignore-existing " IMAGE_DIR "/%i/%s/ %s", -- newversion, group, full_dir); -+ string_or_die(&command, "rsync -aAX --ignore-existing %s/%i/%s/ %s", -+ image_dir, newversion, group, full_dir); - ret = system(command); - assert(ret==0); - free(command); -@@ -81,8 +82,8 @@ void chroot_create_full(int newversion) - } - - LOG(NULL, "Recopy bundle chroot out of full", "%s", group); -- string_or_die(&command, "rsync -aAX --existing %s " IMAGE_DIR "/%i/%s", -- full_dir, newversion, group); -+ string_or_die(&command, "rsync -aAX --existing %s %s/%i/%s", -+ full_dir, image_dir, newversion, group); - ret = system(command); - assert(ret==0); - free(command); -diff --git a/src/globals.c b/src/globals.c -index 32dc793..ff6a3fa 100644 ---- a/src/globals.c -+++ b/src/globals.c -@@ -34,6 +34,11 @@ int newversion = -1; - int minversion = 0; - char *format_string = NULL; - -+char *state_dir = NULL; -+char *packstage_dir = NULL; -+char *image_dir = NULL; -+char *staging_dir = NULL; -+ - bool set_format_string(char *userinput) - { - int version; -@@ -52,12 +57,36 @@ bool set_format_string(char *userinput) - return true; - } - -+bool set_state_dir(char *dir) -+{ -+ if (dir == NULL || dir[0] == '\0') { -+ return false; -+ } -+ -+ /* TODO: more validation of input? */ -+ if (dir[0] != '/') { -+ printf("statedir must be a full path starting with '/', not '%c'\n", dir[0]); -+ return false; -+ } -+ -+ if (state_dir) { -+ free(state_dir); -+ } -+ string_or_die(&state_dir, "%s", dir); -+ -+ return true; -+} -+ - bool init_globals(void) - { - if (format_string == NULL) { - string_or_die(&format_string, "%d", SWUPD_DEFAULT_FORMAT); - } - -+ if (!init_state_globals()) { -+ return false; -+ } -+ - if (newversion == -1) { - printf("Missing version parameter: No new version number specified\n"); - return false; -@@ -71,4 +100,28 @@ bool init_globals(void) - void free_globals(void) - { - free(format_string); -+ free(state_dir); -+ free(packstage_dir); -+ free(image_dir); -+ free(staging_dir); -+} -+ -+bool init_state_globals(void) -+{ -+ if (state_dir == NULL) { -+ string_or_die(&state_dir, "%s", SWUPD_SERVER_STATE_DIR); -+ } -+ string_or_die(&packstage_dir, "%s/%s", state_dir, "packstage"); -+ string_or_die(&image_dir, "%s/%s", state_dir, "image"); -+ string_or_die(&staging_dir, "%s/%s", state_dir, "www"); -+ -+ return true; -+} -+ -+void free_state_globals(void) -+{ -+ free(state_dir); -+ free(packstage_dir); -+ free(image_dir); -+ free(staging_dir); - } -diff --git a/src/main.c b/src/main.c -index ccfedfd..9366cd9 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -55,6 +55,7 @@ static const struct option prog_opts[] = { - {"minversion", required_argument, 0, 'm'}, - {"format", required_argument, 0, 'F'}, - {"getformat", no_argument, 0, 'g'}, -+ {"statedir", required_argument, 0, 'S'}, - {0, 0, 0, 0} - }; - -@@ -70,6 +71,7 @@ static void print_help(const char *name) { - printf(" -m, --minversion Optional minimum file version to write into manifests per file\n"); - printf(" -F, --format Optional format string [ default:=%d ]\n", SWUPD_DEFAULT_FORMAT); - printf(" -g, --getformat Print current format string and exit\n"); -+ printf(" -S, --statedir Optional directory to use for state [ default:=%s ]\n", SWUPD_SERVER_STATE_DIR); - printf("\n"); - } - -@@ -77,7 +79,7 @@ static bool parse_options(int argc, char **argv) - { - int opt; - -- while ((opt = getopt_long(argc, argv, "hvo:m:F:g", prog_opts, NULL)) != -1) { -+ while ((opt = getopt_long(argc, argv, "hvo:m:F:g:S:", prog_opts, NULL)) != -1) { - switch (opt) { - case '?': - case 'h': -@@ -107,6 +109,12 @@ static bool parse_options(int argc, char **argv) - return false; - } - break; -+ case 'S': -+ if (!optarg || !set_state_dir(optarg)) { -+ printf("Invalid --statedir argument ''%s'\n\n", optarg); -+ return false; -+ } -+ break; - case 'g': - if (format_string == NULL) { - printf("%d\n", SWUPD_DEFAULT_FORMAT); -@@ -138,9 +146,14 @@ static void check_root(void) - static void populate_dirs(int version) - { - char *newversiondir; -- string_or_die(&newversiondir, "%s/%d", IMAGE_DIR, version); -+ -+ string_or_die(&newversiondir, "%s/%d", image_dir, version); - - if ((access(newversiondir, F_OK | R_OK) != 0) && (version == 0)) { -+ char *latestpath = NULL; -+ -+ string_or_die(&latestpath, "%s/latest.version", image_dir); -+ - printf("** %s does not exist... creating and populating\n", newversiondir); - if (mkdir(newversiondir, 0755) != 0) { - printf("Failed to create directory\n"); -@@ -151,14 +164,17 @@ static void populate_dirs(int version) - } - - FILE *latestver; -- latestver = fopen_exclusive(IMAGE_DIR "/latest.version"); -+ latestver = fopen_exclusive(latestpath); - if (latestver == NULL) { -- printf("Failed to create %s/latest.version\n", IMAGE_DIR); -+ printf("Failed to create %s\n", latestpath); -+ free(latestpath); - return; - } - if (fwrite("0\n", 2, 1, latestver) != 1) { - LOG(NULL, "Failed to write latestver", "errno: %d", errno); - } -+ -+ free(latestpath); - fclose(latestver); - } - /* groups don't exist in version 0 */ -@@ -170,7 +186,7 @@ static void populate_dirs(int version) - break; - } - -- string_or_die(&newversiondir, "%s/%d/%s", IMAGE_DIR, version, group); -+ string_or_die(&newversiondir, "%s/%d/%s", image_dir, version, group); - - /* Create the bundle directory(s) as needed */ - if (access(newversiondir, F_OK | R_OK) != 0) { -@@ -186,13 +202,18 @@ static void populate_dirs(int version) - - static int check_build_env(void) - { -- if (access(SWUPD_SERVER_STATE_DIR "/temp", F_OK | R_OK) != 0) { -- LOG(NULL, "/var/lib/update/temp does not exist...creating directory", ""); -- if (mkdir(SWUPD_SERVER_STATE_DIR "/temp", 0755) != 0) { -+ char *temp_dir = NULL; -+ string_or_die(&temp_dir, "%s/%s", state_dir, "/temp"); -+ -+ if (access(temp_dir, F_OK | R_OK) != 0) { -+ LOG(NULL, "%s", "does not exist...creating directory", temp_dir); -+ if (mkdir(temp_dir, 0755) != 0) { - printf("Failed to create build directory, EXITING\n"); -+ free(temp_dir); - return -errno; - } - } -+ free(temp_dir); - - return 0; - } -@@ -217,6 +238,8 @@ int main(int argc, char **argv) - int exit_status = EXIT_FAILURE; - int ret; - -+ char *file_path = NULL; -+ - /* keep valgrind working well */ - setenv("G_SLICE", "always-malloc", 0); - -@@ -240,12 +263,17 @@ int main(int argc, char **argv) - } - - -- if (!read_configuration_file(SWUPD_SERVER_STATE_DIR "/server.ini")) { -- printf("Failed to read " SWUPD_SERVER_STATE_DIR "/server.ini configuration file!\n"); -+ string_or_die(&file_path, "%s/server.ini", state_dir); -+ if (!read_configuration_file(file_path)) { -+ printf("Failed to read %s configuration file!\n", state_dir); -+ free(file_path); - goto exit; - } -+ free(file_path); - -- read_group_file(SWUPD_SERVER_STATE_DIR "/groups.ini"); -+ string_or_die(&file_path, "%s/groups.ini", state_dir); -+ read_group_file(file_path); -+ free(file_path); - - read_current_version("latest.version"); - printf("Last processed version is %i\n", current_version); -diff --git a/src/make_fullfiles.c b/src/make_fullfiles.c -index e755a33..bf97a1c 100644 ---- a/src/make_fullfiles.c -+++ b/src/make_fullfiles.c -@@ -27,8 +27,52 @@ - #include <string.h> - #include <assert.h> - -+#include <getopt.h> -+ - #include <swupd.h> - -+static const struct option prog_opts[] = { -+ {"help", no_argument, 0, 'h'}, -+ {"statedir", required_argument, 0, 'S'}, -+ {0, 0, 0, 0} -+}; -+ -+static void usage(const char *name) -+{ -+ printf("usage:\n"); -+ printf(" %s <version>\n\n", name); -+ printf("Help options:\n"); -+ printf(" -h, --help Show help options\n"); -+ printf(" -S, --statedir Optional directory to use for state [ default:=%s ]\n", SWUPD_SERVER_STATE_DIR); -+ printf("\n"); -+} -+ -+static bool parse_options(int argc, char **argv) -+{ -+ int opt; -+ -+ while ((opt = getopt_long(argc, argv, "hS:", prog_opts, NULL)) != -1) { -+ switch (opt) { -+ case '?': -+ case 'h': -+ usage(argv[0]); -+ return false; -+ case 'S': -+ if (!optarg || !set_state_dir(optarg)) { -+ printf("Invalid --statedir argument '%s'\n\n", optarg); -+ return false; -+ } -+ break; -+ } -+ } -+ -+ if (!init_state_globals()) { -+ return false; -+ } -+ -+ return true; -+} -+ - static void banner(void) - { - printf(PACKAGE_NAME " update creator -- fullfiles -- version " PACKAGE_VERSION "\n"); -@@ -51,20 +95,29 @@ int main(int argc, char **argv) - { - struct manifest *manifest; - int version; -+ char *file_path = NULL; - - /* keep valgrind working well */ - setenv("G_SLICE", "always-malloc", 0); - -+ if (!parse_options(argc, argv)) { -+ free_state_globals(); -+ return EXIT_FAILURE; -+ } - banner(); - check_root(); - -- read_configuration_file(SWUPD_SERVER_STATE_DIR "/server.ini"); -+ string_or_die(&file_path, "%s/server.ini", state_dir); -+ read_configuration_file(file_path); -+ free(file_path); - -- if (argc < 1) { -- printf("Usage:\n\tswupd_make_fullfiles <version>\n\n"); -+ if (argc - optind < 1) { -+ usage(argv[0]); -+ free_state_globals(); - exit(EXIT_FAILURE); - } -- version = strtoull(argv[1], NULL, 10); -+ -+ version = strtoull(argv[optind++], NULL, 10); - if (version < 0) { - printf("Usage:\n\tswupd_make_fullfiles <version>\n\n"); - exit(EXIT_FAILURE); -@@ -73,5 +126,7 @@ int main(int argc, char **argv) - manifest = manifest_from_file(version, "full"); - create_fullfiles(manifest); - -+ free_state_globals(); -+ - return EXIT_SUCCESS; - } -diff --git a/src/make_packs.c b/src/make_packs.c -index 20fbd67..2b62b8a 100644 ---- a/src/make_packs.c -+++ b/src/make_packs.c -@@ -33,6 +33,8 @@ - - #include <glib.h> - -+#include <getopt.h> -+ - #include <swupd.h> - - static void banner(void) -@@ -43,12 +45,47 @@ static void banner(void) - printf("\n"); - } - --static void usage(void) -+static const struct option prog_opts[] = { -+ {"help", no_argument, 0, 'h'}, -+ {"statedir", required_argument, 0, 'S'}, -+ {0, 0, 0, 0} -+}; -+ -+static void usage(const char *name) - { - printf("usage:\n"); -- printf(" swupd_make_pack <start version> <latest version> <bundle>\n"); -+ printf(" %s <start version> <latest version> <bundle>\n\n", name); -+ printf("Help options:\n"); -+ printf(" -h, --help Show help options\n"); -+ printf(" -S, --statedir Optional directory to use for state [ default:=%s ]\n", SWUPD_SERVER_STATE_DIR); - printf("\n"); -- exit(EXIT_FAILURE); -+} -+ -+static bool parse_options(int argc, char **argv) -+{ -+ int opt; -+ -+ while ((opt = getopt_long(argc, argv, "hS:", prog_opts, NULL)) != -1) { -+ switch (opt) { -+ case '?': -+ case 'h': -+ usage(argv[0]); -+ return false; -+ case 'S': -+ if (!optarg || !set_state_dir(optarg)) { -+ printf("Invalid --statedir argument ''%s'\n\n", optarg); -+ return false; -+ } -+ break; -+ } -+ } -+ -+ /* FIXME: *_state_globals() are ugly hacks */ -+ if (!init_state_globals()) { -+ return false; -+ } -+ -+ return true; - } - - int main(int argc, char **argv) -@@ -59,11 +96,17 @@ int main(int argc, char **argv) - char *module; - struct packdata *pack; - int exit_status = EXIT_FAILURE; -+ char *file_path = NULL; - -+ if (!parse_options(argc, argv)) { -+ free_state_globals(); -+ return EXIT_FAILURE; -+ } - banner(); - -- if (argc != 4) { -- usage(); -+ if (argc - optind != 3) { -+ usage(argv[0]); -+ exit(EXIT_FAILURE); - } - - /* FIXME: should use "end_version" not "0" and a unique filename -@@ -76,12 +119,13 @@ int main(int argc, char **argv) - return exit_status; - } - -- read_configuration_file(SWUPD_SERVER_STATE_DIR "/server.ini"); -- -+ string_or_die(&file_path, "%s/server.ini", state_dir); -+ read_configuration_file(file_path); -+ free(file_path); - -- start_version = strtoull(argv[1], NULL, 10); -- end_version = strtoull(argv[2], NULL, 10); -- module = argv[3]; -+ start_version = strtoull(argv[optind++], NULL, 10); -+ end_version = strtoull(argv[optind++], NULL, 10); -+ module = argv[optind++]; - - if ((start_version < 0) || - (end_version == 0) || -@@ -108,5 +152,7 @@ int main(int argc, char **argv) - printf("Pack creation %s (pack-%s %i to %li)\n", - exit_status == EXIT_SUCCESS ? "complete" : "failed", - module, start_version, end_version); -+ -+ free_state_globals(); - return exit_status; - } -diff --git a/src/pack.c b/src/pack.c -index f021af9..5bb99b8 100644 ---- a/src/pack.c -+++ b/src/pack.c -@@ -46,21 +46,21 @@ static void empty_pack_stage(int full, int version, char *module) - int ret; - - // clean any stale data (eg: re-run after a failure) -- string_or_die(&cmd, "rm -rf " PACKSTAGE_DIR "/%s/%i/", module, version); -+ string_or_die(&cmd, "rm -rf %s/%s/%i/", packstage_dir, module, version); - ret = system(cmd); - if (ret) { -- fprintf(stderr, "Failed to clean " PACKSTAGE_DIR "/%s/%i\n", -- module, version); -+ fprintf(stderr, "Failed to clean %s/%s/%i\n", -+ packstage_dir, module, version); - exit(EXIT_FAILURE); - } - free(cmd); - - if (!full) { - // (re)create module/version/{delta,staged} -- string_or_die(&path, PACKSTAGE_DIR "/%s/%i/delta", module, version); -+ string_or_die(&path, "%s/%s/%i/delta", packstage_dir, module, version); - g_mkdir_with_parents(path, S_IRWXU | S_IRWXG); - free(path); -- string_or_die(&path, PACKSTAGE_DIR "/%s/%i/staged", module, version); -+ string_or_die(&path, "%s/%s/%i/staged", packstage_dir, module, version); - g_mkdir_with_parents(path, S_IRWXU | S_IRWXG); - free(path); - } -@@ -76,7 +76,7 @@ static void explode_pack_stage(int version, char *module) - struct stat buf; - char *path; - -- string_or_die(&path, PACKSTAGE_DIR "/%s/%i/staged", module, version); -+ string_or_die(&path, "%s/%s/%i/staged", packstage_dir, module, version); - g_mkdir_with_parents(path, S_IRWXU | S_IRWXG); - dir = opendir(path); - if (!dir) { -@@ -99,7 +99,8 @@ static void explode_pack_stage(int version, char *module) - continue; - } - -- string_or_die(&path, PACKSTAGE_DIR "/%s/%i/staged/%s", module, version, entry->d_name); -+ string_or_die(&path, "%s/%s/%i/staged/%s", -+ packstage_dir, module, version, entry->d_name); - ret = stat(path, &buf); - if (ret) { - free(path); -@@ -112,8 +113,8 @@ static void explode_pack_stage(int version, char *module) - * the resulting pack is slightly smaller, and in addition, we're saving CPU - * time on the client... - */ -- string_or_die(&tar, "tar --directory=" PACKSTAGE_DIR "/%s/%i/staged --warning=no-timestamp " -- TAR_PERM_ATTR_ARGS " -axf %s", module, version, path); -+ string_or_die(&tar, "tar --directory=%s/%s/%i/staged --warning=no-timestamp " -+ TAR_PERM_ATTR_ARGS " -axf %s", packstage_dir, module, version, path); - ret = system(tar); - if (!ret) { - unlink(path); -@@ -162,8 +163,8 @@ static void make_pack_full_files(struct packdata *pack) - if ((!file->peer || file->peer->is_deleted) && !file->is_deleted && !file->rename_peer) { - char *from, *to; - /* hardlink each file that is in <end> but not in <X> */ -- string_or_die(&from, STAGING_DIR "/%i/files/%s.tar", file->last_change, file->hash); -- string_or_die(&to, PACKSTAGE_DIR "/%s/%i/staged/%s.tar", pack->module, pack->from, file->hash); -+ string_or_die(&from, "%s/%i/files/%s.tar", staging_dir, file->last_change, file->hash); -+ string_or_die(&to, "%s/%s/%i/staged/%s.tar", packstage_dir, pack->module, pack->from, file->hash); - ret = link(from, to); - if (ret) { - if (errno != EEXIST) { -@@ -228,8 +229,8 @@ static GList *consolidate_packs_delta_files(GList *files, struct packdata *pack) - continue; - } - -- string_or_die(&from, STAGING_DIR "/%i/delta/%i-%i-%s", file->last_change, -- file->peer->last_change, file->last_change, file->hash); -+ string_or_die(&from, "%s/%i/delta/%i-%i-%s", staging_dir, file->last_change, -+ file->peer->last_change, file->last_change, file->hash); - - ret = stat(from, &stat_delta); - if (ret && !find_file_in_list(files, file)) { -@@ -284,8 +285,8 @@ static int write_pack_signature(struct packdata *pack) - char *filename = NULL; - int ret = -1; - -- string_or_die(&filename, STAGING_DIR "/%i/pack-%s-from-%i.tar", -- pack->to, pack->module, pack->from); -+ string_or_die(&filename, "%s/%i/pack-%s-from-%i.tar", -+ staging_dir, pack->to, pack->module, pack->from); - if (!signature_sign(filename)) { - fprintf(stderr, "Creating signature for '%s' failed\n", filename); - goto exit; -@@ -324,12 +325,14 @@ static int make_final_pack(struct packdata *pack) - - /* for each file changed since <X> */ - /* locate delta, check if the diff it's from is >= <X> */ -- string_or_die(&from, STAGING_DIR "/%i/delta/%i-%i-%s", file->last_change, -- file->peer->last_change, file->last_change, file->hash); -- string_or_die(&to, PACKSTAGE_DIR "/%s/%i/delta/%i-%i-%s", pack->module, pack->from, -+ string_or_die(&from, "%s/%i/delta/%i-%i-%s", staging_dir, file->last_change, - file->peer->last_change, file->last_change, file->hash); -- string_or_die(&tarfrom, STAGING_DIR "/%i/files/%s.tar", file->last_change, file->hash); -- string_or_die(&tarto, PACKSTAGE_DIR "/%s/%i/staged/%s.tar", pack->module, pack->from, file->hash); -+ string_or_die(&to, "%s/%s/%i/delta/%i-%i-%s", packstage_dir, pack->module, -+ pack->from, file->peer->last_change, file->last_change, file->hash); -+ string_or_die(&tarfrom, "%s/%i/files/%s.tar", staging_dir, -+ file->last_change, file->hash); -+ string_or_die(&tarto, "%s/%s/%i/staged/%s.tar", packstage_dir, pack->module, -+ pack->from, file->hash); - - ret = stat(from, &stat_delta); - if (ret) { -@@ -388,8 +391,8 @@ static int make_final_pack(struct packdata *pack) - char *from, *to; - struct stat st; - -- string_or_die(&from, STAGING_DIR "/%i/Manifest-%s-delta-from-%i", -- pack->to, pack->module, pack->from); -+ string_or_die(&from, "%s/%i/Manifest-%s-delta-from-%i", -+ staging_dir, pack->to, pack->module, pack->from); - - ret = stat(from, &st); - if (ret) { -@@ -398,8 +401,8 @@ static int make_final_pack(struct packdata *pack) - } - - -- string_or_die(&to, PACKSTAGE_DIR "/%s/%i/Manifest-%s-delta-from-%i", -- pack->module, pack->from, pack->module, pack->from); -+ string_or_die(&to, "%s/%s/%i/Manifest-%s-delta-from-%i", -+ packstage_dir, pack->module, pack->from, pack->module, pack->from); - - ret = link(from, to); - if (ret) { -@@ -416,16 +419,16 @@ static int make_final_pack(struct packdata *pack) - char *from, *to; - struct stat st; - -- string_or_die(&from, STAGING_DIR "/%i/Manifest-%s-delta-from-%i", -- pack->to, "MoM", pack->from); -+ string_or_die(&from, "%s/%i/Manifest-%s-delta-from-%i", -+ staging_dir, pack->to, "MoM", pack->from); - ret = stat(from, &st); - if (ret) { - LOG(NULL, "Making extra manifest delta", "MoM: %i->%i", pack->from, pack->to); - create_manifest_delta(pack->from, pack->to, "MoM"); - } - -- string_or_die(&to, PACKSTAGE_DIR "/%s/%i/Manifest-%s-delta-from-%i", -- pack->module, pack->from, "MoM", pack->from); -+ string_or_die(&to, "%s/%s/%i/Manifest-%s-delta-from-%i", -+ packstage_dir, pack->module, pack->from, "MoM", pack->from); - - ret = link(from, to); - if (ret) { -@@ -439,9 +442,9 @@ static int make_final_pack(struct packdata *pack) - - /* tar the staging directory up */ - LOG(NULL, "starting tar for pack", "%s: %i to %i", pack->module, pack->from, pack->to); -- string_or_die(&tar, "tar " TAR_PERM_ATTR_ARGS " --directory=" PACKSTAGE_DIR "/%s/%i/ " -- "--numeric-owner -Jcf " STAGING_DIR "/%i/pack-%s-from-%i.tar delta staged", -- pack->module, pack->from, pack->to, pack->module, pack->from); -+ string_or_die(&tar, "tar " TAR_PERM_ATTR_ARGS " --directory=%s/%s/%i/ " -+ "--numeric-owner -Jcf %s/%i/pack-%s-from-%i.tar delta staged", -+ packstage_dir, pack->module, pack->from, staging_dir, pack->to, pack->module, pack->from); - ret = system(tar); - free(tar); - LOG(NULL, "finished tar for pack", "%s: %i to %i", pack->module, pack->from, pack->to); -diff --git a/src/rename.c b/src/rename.c -index 70f9006..5ea979c 100644 ---- a/src/rename.c -+++ b/src/rename.c -@@ -153,7 +153,7 @@ static void precompute_file_data(struct manifest *manifest, struct file *file, i - } - - if (manifest) { -- string_or_die(&filename, "%s/%i/%s/%s", IMAGE_DIR, manifest->version, manifest->component, file->filename); -+ string_or_die(&filename, "%s/%i/%s/%s", image_dir, manifest->version, manifest->component, file->filename); - } else if (old_rename) { - item = g_list_first(last_versions_list); - while (item) { -@@ -161,13 +161,13 @@ static void precompute_file_data(struct manifest *manifest, struct file *file, i - item = g_list_next(item); - - free(filename); -- string_or_die(&filename, "%s/%i/full/%s", IMAGE_DIR, last_change, file->filename); -+ string_or_die(&filename, "%s/%i/full/%s", image_dir, last_change, file->filename); - if (!lstat(filename, &buf)) { - break; - } - } - } else { -- string_or_die(&filename, "%s/%i/full/%s", IMAGE_DIR, file->last_change, file->filename); -+ string_or_die(&filename, "%s/%i/full/%s", image_dir, file->last_change, file->filename); - } - - /* make sure file->stat.st_size is valid */ -diff --git a/src/versions.c b/src/versions.c -index eb38acc..3dd1e63 100644 ---- a/src/versions.c -+++ b/src/versions.c -@@ -213,10 +213,10 @@ GList *get_last_versions_list(int next_version, int max_versions) - int idx, build_num, build_type, jump_point; - int jump_point_found; - -- dir = opendir(STAGING_DIR); -+ dir = opendir(staging_dir); - if (dir == NULL) { - LOG(NULL, "Cannot open directory", "dir_path= %s, strerror= %s", -- STAGING_DIR, strerror(errno)); -+ staging_dir, strerror(errno)); - return NULL; - } - -@@ -226,7 +226,7 @@ GList *get_last_versions_list(int next_version, int max_versions) - } - - free(filename); -- string_or_die(&filename, STAGING_DIR "/%s", entry.d_name); -+ string_or_die(&filename, "%s/%s", staging_dir, entry.d_name); - - if (lstat(filename, &stat)) { - LOG(NULL, "lstat failed", "path= %s, strerror= %s", --- -2.5.0 |