- account for intentionally skipped files when verifying hardlinks (#864622)
This commit is contained in:
parent
c9d5915d63
commit
240842c0b0
32
rpm-4.10.1-skipped-hardlinks.patch
Normal file
32
rpm-4.10.1-skipped-hardlinks.patch
Normal file
@ -0,0 +1,32 @@
|
||||
commit df4eed5debcdc9209e1f5e66d17230861a55a7fc
|
||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Wed Oct 10 10:37:34 2012 +0300
|
||||
|
||||
Filter out skipped files on hardlink checking (RhBug:864622)
|
||||
|
||||
- Legitimately skipped files (links) must not cause install-errors.
|
||||
This has always been broken, but the errors were completely ignored
|
||||
on install prior to rpm 4.10.
|
||||
- Backported from commit eeea54c76b130da3769ae10f7db2c2fcfb5c57be
|
||||
|
||||
diff --git a/lib/fsm.c b/lib/fsm.c
|
||||
index e4ffcaf..4840708 100644
|
||||
--- a/lib/fsm.c
|
||||
+++ b/lib/fsm.c
|
||||
@@ -1964,12 +1964,14 @@ static int fsmStage(FSM_t fsm, fileStage stage)
|
||||
fsm->links = fsm->li->next;
|
||||
fsm->li->next = NULL;
|
||||
if (fsm->goal == FSM_PKGINSTALL && fsm->li->linksLeft) {
|
||||
+ rpmfs fs = rpmteGetFileStates(fsmGetTe(fsm));
|
||||
for (nlink_t i = 0 ; i < fsm->li->linksLeft; i++) {
|
||||
- if (fsm->li->filex[i] < 0)
|
||||
+ int ix = fsm->li->filex[i];
|
||||
+ if (ix < 0 || XFA_SKIPPING(rpmfsGetAction(fs, ix)))
|
||||
continue;
|
||||
rc = CPIOERR_MISSING_HARDLINK;
|
||||
if (fsm->failedFile && *fsm->failedFile == NULL) {
|
||||
- fsm->ix = fsm->li->filex[i];
|
||||
+ fsm->ix = ix;
|
||||
if (!fsmMapPath(fsm)) {
|
||||
/* Out-of-sync hardlinks handled as sub-state */
|
||||
*fsm->failedFile = fsm->path;
|
8
rpm.spec
8
rpm.spec
@ -21,7 +21,7 @@
|
||||
Summary: The RPM package management system
|
||||
Name: rpm
|
||||
Version: %{rpmver}
|
||||
Release: %{?snapver:0.%{snapver}.}1%{?dist}
|
||||
Release: %{?snapver:0.%{snapver}.}2%{?dist}
|
||||
Group: System Environment/Base
|
||||
Url: http://www.rpm.org/
|
||||
Source0: http://rpm.org/releases/rpm-4.10.x/%{name}-%{srcver}.tar.bz2
|
||||
@ -45,6 +45,7 @@ Patch5: rpm-4.9.90-armhfp.patch
|
||||
Patch6: rpm-4.9.0-armhfp-logic.patch
|
||||
|
||||
# Patches already in upstream
|
||||
Patch100: rpm-4.10.1-skipped-hardlinks.patch
|
||||
|
||||
# These are not yet upstream
|
||||
Patch301: rpm-4.6.0-niagara.patch
|
||||
@ -218,6 +219,8 @@ packages on a system.
|
||||
%patch3 -p1 -b .no-man-dirs
|
||||
%patch4 -p1 -b .use-gpg2
|
||||
|
||||
%patch100 -p1 -b .skipped-hardlinks
|
||||
|
||||
%patch301 -p1 -b .niagara
|
||||
%patch302 -p1 -b .geode
|
||||
%patch304 -p1 -b .ldflags
|
||||
@ -448,6 +451,9 @@ exit 0
|
||||
%doc COPYING doc/librpm/html/*
|
||||
|
||||
%changelog
|
||||
* Wed Oct 10 2012 Panu Matilainen <pmatilai@redhat.com> - 4.10.1-2
|
||||
- account for intentionally skipped files when verifying hardlinks (#864622)
|
||||
|
||||
* Wed Oct 03 2012 Panu Matilainen <pmatilai@redhat.com> - 4.10.1-1
|
||||
- update to 4.10.1 ((http://rpm.org/wiki/Releases/4.10.1)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user