summaryrefslogtreecommitdiff
path: root/src/database.c
diff options
context:
space:
mode:
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;