aboutsummaryrefslogtreecommitdiffstats
path: root/meta-application-manager/recipes-application-framework/pkgmgr/files/pkgmgr-journaldb.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-application-manager/recipes-application-framework/pkgmgr/files/pkgmgr-journaldb.patch')
-rw-r--r--meta-application-manager/recipes-application-framework/pkgmgr/files/pkgmgr-journaldb.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta-application-manager/recipes-application-framework/pkgmgr/files/pkgmgr-journaldb.patch b/meta-application-manager/recipes-application-framework/pkgmgr/files/pkgmgr-journaldb.patch
new file mode 100644
index 0000000..4773426
--- /dev/null
+++ b/meta-application-manager/recipes-application-framework/pkgmgr/files/pkgmgr-journaldb.patch
@@ -0,0 +1,52 @@
+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;
+ }
+ }
+
+