diff options
Diffstat (limited to 'main/apk-tools/0004-db-Allow-override-arch-when-using-root.patch')
-rw-r--r-- | main/apk-tools/0004-db-Allow-override-arch-when-using-root.patch | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/main/apk-tools/0004-db-Allow-override-arch-when-using-root.patch b/main/apk-tools/0004-db-Allow-override-arch-when-using-root.patch deleted file mode 100644 index fe1a64b6b4..0000000000 --- a/main/apk-tools/0004-db-Allow-override-arch-when-using-root.patch +++ /dev/null @@ -1,85 +0,0 @@ -From cec1fa2b0f414e980c4dc56a5cc4dc9ff48bddb8 Mon Sep 17 00:00:00 2001 -From: Natanael Copa <ncopa@alpinelinux.org> -Date: Thu, 14 Apr 2011 21:48:49 +0200 -Subject: [PATCH 4/7] db: Allow override arch when using --root - -This is so we can do x86 --root installs on x86_64 hosts. - -Using --arch without --root can make great damage so we only enable it -if --root is used. ---- - src/apk.c | 5 +++++ - src/apk_database.h | 1 + - src/database.c | 7 +++++-- - 3 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/src/apk.c b/src/apk.c -index 55963b0..c40cc20 100644 ---- a/src/apk.c -+++ b/src/apk.c -@@ -66,6 +66,8 @@ static struct apk_option generic_options[] = { - required_argument, "REPOFILE" }, - { 0x109, "no-network", "Do not use network (cache is still used)" }, - { 0x111, "overlay-from-stdin", "Read list of overlay files from stdin" }, -+ { 0x112, "arch", "Use architecture with --root", -+ required_argument, "ARCH" }, - }; - - static int version(void) -@@ -369,6 +371,9 @@ int main(int argc, char **argv) - case 0x111: - apk_flags |= APK_OVERLAY_FROM_STDIN; - break; -+ case 0x112: -+ dbopts.arch = optarg; -+ break; - default: - if (applet == NULL || applet->parse == NULL || - applet->parse(ctx, &dbopts, r, -diff --git a/src/apk_database.h b/src/apk_database.h -index 68bba08..9b032e7 100644 ---- a/src/apk_database.h -+++ b/src/apk_database.h -@@ -95,6 +95,7 @@ struct apk_db_options { - int lock_wait; - unsigned long open_flags; - char *root; -+ char *arch; - char *keys_dir; - char *repositories_file; - struct list_head repository_list; -diff --git a/src/database.c b/src/database.c -index 1376ec3..45960d2 100644 ---- a/src/database.c -+++ b/src/database.c -@@ -49,7 +49,6 @@ enum { - - int apk_verbosity = 1; - unsigned int apk_flags = 0; --const char *apk_arch = APK_DEFAULT_ARCH; - - const char * const apkindex_tar_gz = "APKINDEX.tar.gz"; - static const char * const apk_static_cache_dir = "var/cache/apk"; -@@ -1149,6 +1148,11 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts) - apk_string_array_init(&db->protected_paths); - db->permanent = 1; - -+ if (dbopts->root && dbopts->arch) { -+ db->arch = apk_blob_atomize(APK_BLOB_STR(dbopts->arch)); -+ } else { -+ db->arch = apk_blob_atomize(APK_BLOB_STR(APK_DEFAULT_ARCH)); -+ } - db->root = strdup(dbopts->root ?: "/"); - db->root_fd = openat(AT_FDCWD, db->root, O_RDONLY | O_CLOEXEC); - if (db->root_fd < 0 && (dbopts->open_flags & APK_OPENF_CREATE)) { -@@ -1226,7 +1230,6 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts) - db->cachetmp_fd = db->cache_fd; - } - -- db->arch = apk_blob_atomize(APK_BLOB_STR(apk_arch)); - db->keys_fd = openat(db->root_fd, - dbopts->keys_dir ?: "etc/apk/keys", - O_RDONLY | O_CLOEXEC); --- -1.7.4.5 - |