summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/add.c
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2009-01-03 07:18:22 +0100
committerDan McGee <dan@archlinux.org>2009-01-03 07:18:22 +0100
commita30bf868ca4cce5464f7e4aa55cd7e7d4eade9a2 (patch)
treeb1bf8a4c75855b7a3a61861ad20ff690fb5ad460 /lib/libalpm/add.c
parent1cc8ad6112ed07a71f356a6bb0f06f117b36b3b2 (diff)
parenta73ad4f0e3981acab7234e4b17a08a52bd273ab9 (diff)
downloadpacman-a30bf868ca4cce5464f7e4aa55cd7e7d4eade9a2.tar.gz
pacman-a30bf868ca4cce5464f7e4aa55cd7e7d4eade9a2.tar.xz
Merge branch 'maint'
Diffstat (limited to 'lib/libalpm/add.c')
-rw-r--r--lib/libalpm/add.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index 50405895..b0a7671b 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -697,6 +697,16 @@ static int commit_single_pkg(pmpkg_t *newpkg, int pkg_current, int pkg_count,
}
}
+ /* prepare directory for database entries so permission are correct after
+ changelog/install script installation (FS#12263) */
+ if(_alpm_db_prepare(db, newpkg)) {
+ alpm_logaction("error: could not create database entry %s-%s\n",
+ alpm_pkg_get_name(newpkg), alpm_pkg_get_version(newpkg));
+ pm_errno = PM_ERR_DB_WRITE;
+ ret = -1;
+ goto cleanup;
+ }
+
if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) {
struct archive *archive;
struct archive_entry *entry;