From 75b339cae217a14d51f674a25522e91aadf63a65 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 22 Jan 2009 10:34:03 +0000 Subject: db: always create directories during install We dont care if a directory have references or not, we care if directory is relly there. Only the creator of the direcotry will set the permissions. This fixes the situation where you install a package owning a dir then you remove this dir manually and try install a second package also owning the dir. For example: apk add e2fsprogs-dev rm -rf /usr/lib/pkgconfig apk add zlib-dev --- src/database.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src') diff --git a/src/database.c b/src/database.c index acc3acb..7a6ac8a 100644 --- a/src/database.c +++ b/src/database.c @@ -253,10 +253,8 @@ static void apk_db_diri_set(struct apk_db_dir_instance *diri, mode_t mode, static void apk_db_diri_mkdir(struct apk_db_dir_instance *diri) { - if (diri->dir->refs == 1) { - mkdir(diri->dir->dirname, diri->mode); + if (mkdir(diri->dir->dirname, diri->mode) == 0) chown(diri->dir->dirname, diri->uid, diri->gid); - } } static void apk_db_diri_rmdir(struct apk_db_dir_instance *diri) -- cgit v1.2.3