summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2013-01-30 14:01:59 +0200
committerPanu Matilainen <pmatilai@redhat.com>2013-01-30 14:33:15 +0200
commitc9b8e104f42dc683745e4f92d3926ccdf4b18559 (patch)
treeb72ad345ee6ca235a0a73643654f7d706b404137 /lib
parentdd4c04b82e8a140895a4c3162c4f8df1f887c7a0 (diff)
downloadrpm-c9b8e104f42dc683745e4f92d3926ccdf4b18559.tar.gz
rpm-c9b8e104f42dc683745e4f92d3926ccdf4b18559.tar.bz2
rpm-c9b8e104f42dc683745e4f92d3926ccdf4b18559.zip
Revert the severely broken FA_SKIP on %ghost "fix"
- Reverts the bad half of commit a712252392eca75443ca45c10a72873cabec7963: treating files that wont be installed as skipped seems logical enough, but rpm disagrees... making %ghosts FA_SKIP on install causes upgrades on %ghost %config files to miss the necessary FA_SKIP getting set on the erase half via handleInstInstalledFile() and rpmfiDecideFate(), causing %ghost %config files to be nuked. Which isn't very nice when your /var/lib/rpm/ contents are packaged as %ghost %config... - This fixes the %ghost %config testcase but breaks the shared %ghost case in turn. (cherry picked from commit 471b74bf6e218abb06bb3131a259cdfaec3f08cf)
Diffstat (limited to 'lib')
-rw-r--r--lib/transaction.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/lib/transaction.c b/lib/transaction.c
index 1ed1f220b..82d570c62 100644
--- a/lib/transaction.c
+++ b/lib/transaction.c
@@ -759,17 +759,6 @@ static void skipInstallFiles(const rpmts ts, rpmte p)
ix = rpmfiDX(fi);
drc[ix]++;
- /*
- * Always skip %ghosts on install.
- * XXX: Should we skip directory creation if there are only
- * %ghosts in it? Traditionally we create the (empty) directory, so
- * preserving that behavior for now at least: leave the refcount alone.
- */
- if (rpmfiFFlags(fi) & RPMFILE_GHOST) {
- rpmfsSetAction(fs, i, FA_SKIP);
- continue;
- }
-
/* Don't bother with skipped files */
if (XFA_SKIPPING(rpmfsGetAction(fs, i))) {
drc[ix]--; dff[ix] = 1;