summaryrefslogtreecommitdiff
path: root/src/database.c
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2022-04-05 10:53:52 +0300
committerTimo Teräs <timo.teras@iki.fi>2022-04-05 10:53:52 +0300
commit191e2d412dfdfd5ac0c49be3752494e0708fa060 (patch)
tree797350f80cd05aff2c906ef2611909b6c6ff9c8a /src/database.c
parent232067b3d1399d97b5058440bd8282031053fa7c (diff)
downloadapk-tools-191e2d412dfdfd5ac0c49be3752494e0708fa060.tar.gz
apk-tools-191e2d412dfdfd5ac0c49be3752494e0708fa060.tar.bz2
apk-tools-191e2d412dfdfd5ac0c49be3752494e0708fa060.tar.xz
apk-tools-191e2d412dfdfd5ac0c49be3752494e0708fa060.zip
io: move make_dirs as apk_make_dirs and use it
Diffstat (limited to 'src/database.c')
-rw-r--r--src/database.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/database.c b/src/database.c
index 727b44f..027cc76 100644
--- a/src/database.c
+++ b/src/database.c
@@ -1451,9 +1451,7 @@ static inline int setup_static_cache(struct apk_database *db, struct apk_ctx *ac
db->cache_dir = apk_static_cache_dir;
db->cache_fd = openat(db->root_fd, db->cache_dir, O_RDONLY | O_CLOEXEC);
if (db->cache_fd < 0) {
- mkdirat(db->root_fd, "var", 0755);
- mkdirat(db->root_fd, "var/cache", 0755);
- mkdirat(db->root_fd, "var/cache/apk", 0755);
+ apk_make_dirs(db->root_fd, db->cache_dir, 0755, 0755);
db->cache_fd = openat(db->root_fd, db->cache_dir, O_RDONLY | O_CLOEXEC);
if (db->cache_fd < 0) {
if (ac->open_flags & APK_OPENF_WRITE) return -EROFS;
@@ -1884,15 +1882,8 @@ int apk_db_write_config(struct apk_database *db)
return 0;
if (db->ctx->open_flags & APK_OPENF_CREATE) {
- if (faccessat(db->root_fd, "lib/apk/db", F_OK, 0) != 0) {
- mkdirat(db->root_fd, "lib", 0755);
- mkdirat(db->root_fd, "lib/apk", 0755);
- mkdirat(db->root_fd, "lib/apk/db", 0755);
- }
- if (faccessat(db->root_fd, "etc/apk", F_OK, 0) != 0) {
- mkdirat(db->root_fd, "etc", 0755);
- mkdirat(db->root_fd, "etc/apk", 0755);
- }
+ apk_make_dirs(db->root_fd, "lib/apk/db", 0755, 0755);
+ apk_make_dirs(db->root_fd, "etc/apk", 0755, 0755);
} else if (db->lock_fd == 0) {
apk_err(out, "Refusing to write db without write lock!");
return -1;