aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2010-10-08 16:09:03 +0300
committerTimo Teräs <timo.teras@iki.fi>2010-10-08 16:09:03 +0300
commit6398d338c6441f3b967a2633bbc9df4709bcb258 (patch)
tree851729b8c819ad15c62e066953407c24814bad6e
parent19419f1a88285a0dee53bdf49201c4d3d4cbf19f (diff)
downloadaports-6398d338c6441f3b967a2633bbc9df4709bcb258.tar.gz
aports-6398d338c6441f3b967a2633bbc9df4709bcb258.tar.bz2
aports-6398d338c6441f3b967a2633bbc9df4709bcb258.tar.xz
db: fix the previous commit
id cache needs to be initialized early. and group database filename is surprisingly 'group'.
-rw-r--r--src/database.c4
-rw-r--r--src/io.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/database.c b/src/database.c
index f0b8cb6077..e22289ae34 100644
--- a/src/database.c
+++ b/src/database.c
@@ -1079,6 +1079,8 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts)
S_ISDIR(st.st_mode) && major(st.st_dev) != 0)
db->cache_dir = apk_linked_cache_dir;
+ apk_id_cache_init(&db->id_cache, db->root_fd);
+
if (dbopts->open_flags & APK_OPENF_WRITE) {
db->lock_fd = openat(db->root_fd, "var/lib/apk/lock",
O_CREAT | O_RDWR | O_CLOEXEC, 0400);
@@ -1177,8 +1179,6 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts)
goto ret_r;
}
- apk_id_cache_init(&db->id_cache, db->root_fd);
-
return rr;
ret_errno:
diff --git a/src/io.c b/src/io.c
index 38bc4e694f..0f09403679 100644
--- a/src/io.c
+++ b/src/io.c
@@ -838,7 +838,7 @@ uid_t apk_resolve_gid(struct apk_id_cache *idc, const char *groupname, uid_t def
ci->genid = idc->genid;
ci->gid = -1;
- in = fdopen(openat(idc->root_fd, "etc/passwd", O_RDONLY|O_CLOEXEC), "r");
+ in = fdopen(openat(idc->root_fd, "etc/group", O_RDONLY|O_CLOEXEC), "r");
if (in != NULL) {
do {
fgetgrent_r(in, &grent, buf, sizeof(buf), &grp);