From 57de8d0c5de43dd8c1d7b76a429b34a7e5ddd7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Thu, 2 Jul 2015 09:50:16 +0300 Subject: [PATCH] relocate lock file to /lib/apk/db the problem is that var/lock is on root installs symlink to /run/lock (on tmpfs) and does not exist if doing chroot() to that root. fixes apk to work when chrooted to existing rootfs install. --- src/database.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/database.c b/src/database.c index 7a9ab58..b485004 100644 --- a/src/database.c +++ b/src/database.c @@ -53,12 +53,12 @@ static const char * const apkindex_tar_gz = "APKINDEX.tar.gz"; static const char * const apk_static_cache_dir = "var/cache/apk"; static const char * const apk_linked_cache_dir = "etc/apk/cache"; -static const char * const apk_lock_file = "var/lock/apkdb"; - static const char * const apk_world_file = "etc/apk/world"; static const char * const apk_world_file_tmp = "etc/apk/world.new"; static const char * const apk_arch_file = "etc/apk/arch"; +static const char * const apk_lock_file = "lib/apk/db/lock"; + static const char * const apk_scripts_file = "lib/apk/db/scripts.tar"; static const char * const apk_scripts_file_tmp = "lib/apk/db/scripts.tar.new"; @@ -1327,7 +1327,6 @@ static int apk_db_create(struct apk_database *db) mkdirat(db->root_fd, "var/cache", 0755); mkdirat(db->root_fd, "var/cache/apk", 0755); mkdirat(db->root_fd, "var/cache/misc", 0755); - mkdirat(db->root_fd, "var/lock", 0755); fd = openat(db->root_fd, apk_world_file, O_CREAT|O_RDWR|O_TRUNC|O_CLOEXEC, 0644); if (fd < 0)