--- 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", 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", db_file, buf); + _E("FAIL : chmod %s 0664, because %s", files[i], buf); return -1; } } @@ -357,7 +363,10 @@ return -1; } - setuid(OWNER_ROOT); + ret=setuid(OWNER_ROOT); + if(ret!=0){ + printf("@%d__setuid err = %d\n",__LINE__,errno); + } ret = createdb_change_perm(PACKAGE_INFO_DB_FILE); if (ret == -1) { _E("cannot chown."); --- 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", 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", db_file, buf); + _E("FAIL : chmod %s 0664, because %s", files[i], buf); return -1; } }