diff --git a/tool/pkg_createdb.c b/tool/pkg_createdb.c --- a/tool/pkg_createdb.c +++ b/tool/pkg_createdb.c @@ -261,15 +261,21 @@ for (i = 0; files[i]; i++) { ret = chown(files[i], GLOBAL_USER, OWNER_ROOT); if (ret == -1) { + if (files[i] == journal_file && errno == ENOENT) + continue; strerror_r(errno, buf, sizeof(buf)); - _E("FAIL : chown %s %d.%d, because %s", db_file, GLOBAL_USER, OWNER_ROOT, buf); + _E("FAIL : chown %s %d.%d, because %s", files[i], GLOBAL_USER, OWNER_ROOT, buf); return -1; } ret = chmod(files[i], S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH); if (ret == -1) { + if (files[i] == journal_file && errno == ENOENT) + continue; strerror_r(errno, buf, sizeof(buf)); - _E("FAIL : chmod %s 0664, because %s", db_file, buf); + _E("FAIL : chmod %s 0664, because %s", files[i], buf); return -1; } } --- a/tool/pkg_initdb.c +++ b/tool/pkg_initdb.c @@ -208,15 +208,21 @@ for (i = 0; files[i]; i++) { ret = chown(files[i], GLOBAL_USER, OWNER_ROOT); if (ret == -1) { + if (files[i] == journal_file && errno == ENOENT) + continue; strerror_r(errno, buf, sizeof(buf)); - _E("FAIL : chown %s %d.%d, because %s", db_file, GLOBAL_USER, OWNER_ROOT, buf); + _E("FAIL : chown %s %d.%d, because %s", files[i], GLOBAL_USER, OWNER_ROOT, buf); return -1; } ret = chmod(files[i], S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH); if (ret == -1) { + if (files[i] == journal_file && errno == ENOENT) + continue; strerror_r(errno, buf, sizeof(buf)); - _E("FAIL : chmod %s 0664, because %s", db_file, buf); + _E("FAIL : chmod %s 0664, because %s", files[i], buf); return -1; } }