From 9787eb5021ec386a077a257707f0cf1a4acfeac0 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Tue, 1 Jul 2014 13:36:14 +0300 Subject: [PATCH] - Drop no longer needed temporary UsrMove patch --- rpm-4.10.90-rpmlib-filesystem-check.patch | 125 ---------------------- rpm.spec | 9 +- 2 files changed, 4 insertions(+), 130 deletions(-) delete mode 100644 rpm-4.10.90-rpmlib-filesystem-check.patch diff --git a/rpm-4.10.90-rpmlib-filesystem-check.patch b/rpm-4.10.90-rpmlib-filesystem-check.patch deleted file mode 100644 index ec4324c..0000000 --- a/rpm-4.10.90-rpmlib-filesystem-check.patch +++ /dev/null @@ -1,125 +0,0 @@ -diff -up rpm-4.10.90.git11978/lib/depends.c.rpmlib-filesystem-check rpm-4.10.90.git11978/lib/depends.c ---- rpm-4.10.90.git11978/lib/depends.c.rpmlib-filesystem-check 2012-11-01 09:40:26.000000000 +0200 -+++ rpm-4.10.90.git11978/lib/depends.c 2012-11-05 10:53:42.294733695 +0200 -@@ -537,6 +537,109 @@ static int rpmdbProvides(rpmts ts, depCa - return rc; - } - -+/* -+ * Temporary support for live-conversion of the filesystem hierarchy -+ * mailto: kay@redhat.com, harald@redhat.com -+ * https://fedoraproject.org/wiki/Features/UsrMove -+ * -+ * X-CheckUnifiedSystemdir: -+ * /bin, /sbin, /lib, /lib64 --> /usr -+ * -+ * X-CheckUnifiedBindir: -+ * /usr/sbin -> /usr/bin -+ * -+ * X-CheckMultiArchLibdir: -+ * /usr/lib64 /usr/lib/ (e.g. x86_64-linux-gnu) -+ * -+ * This code is not needed for new installations, it can be removed after -+ * updates from older systems are no longer supported: Fedora 19 / RHEL 8. -+ */ -+ -+static int CheckLink(const char *dir, const char *root) -+{ -+ char *d = NULL; -+ struct stat sbuf; -+ int rc = 0; -+ -+ if (!root) -+ root = "/"; -+ -+ rasprintf(&d, "%s%s", root, dir); -+ if (!d) { -+ rc = -1; -+ goto exit; -+ } -+ -+ /* directory or symlink does not exist, all is fine */ -+ if (lstat(d, &sbuf) < 0) { -+ rc = 1; -+ goto exit; -+ } -+ -+ /* if it is a symlink, all is fine */ -+ if (S_ISLNK(sbuf.st_mode)) -+ rc = 1; -+ -+exit: -+ free(d); -+ return rc; -+} -+ -+static int CheckFilesystemHierarchy(rpmds * dsp, const char *root) -+{ -+ static const char *dirs[] = { "bin", "sbin", "lib", "lib64" }; -+ int check; -+ int i; -+ rpmds ds; -+ rpmstrPool pool = rpmdsPool(*dsp); -+ int rc = 0; -+ -+ for (i = 0; i < sizeof(dirs) / sizeof(dirs[0]); i++) { -+ check = CheckLink(dirs[i], root); -+ if (check < 0) { -+ rc = -1; -+ goto exit; -+ } -+ -+ if (check == 0) -+ goto exit; -+ } -+ ds = rpmdsSinglePool(pool, RPMTAG_PROVIDENAME, -+ "rpmlib(X-CheckUnifiedSystemdir)", "1", -+ RPMSENSE_EQUAL); -+ rpmdsMerge(dsp, ds); -+ rpmdsFree(ds); -+ -+ check = CheckLink("usr/lib64", root); -+ if (check < 0) { -+ rc = -1; -+ goto exit; -+ } -+ if (check > 0) { -+ ds = rpmdsSinglePool(pool, RPMTAG_PROVIDENAME, -+ "rpmlib(X-CheckMultiArchLibdir)", "1", -+ RPMSENSE_EQUAL); -+ rpmdsMerge(dsp, ds); -+ rpmdsFree(ds); -+ } -+ -+ check = CheckLink("usr/sbin", root); -+ if (check < 0) { -+ rc = -1; -+ goto exit; -+ } -+ if (check > 0) { -+ ds = rpmdsSinglePool(pool, RPMTAG_PROVIDENAME, -+ "rpmlib(X-CheckUnifiedBindir)", "1", -+ RPMSENSE_EQUAL); -+ rpmdsMerge(dsp, ds); -+ rpmdsFree(ds); -+ } -+ -+exit: -+ return rc; -+} -+ - /** - * Check dep for an unsatisfied dependency. - * @param ts transaction set -@@ -560,8 +663,10 @@ retry: - * Check those dependencies now. - */ - if (dsflags & RPMSENSE_RPMLIB) { -- if (tsmem->rpmlib == NULL) -+ if (tsmem->rpmlib == NULL) { - rpmdsRpmlibPool(rpmtsPool(ts), &(tsmem->rpmlib), NULL); -+ CheckFilesystemHierarchy(&(tsmem->rpmlib), rpmtsRootDir(ts)); -+ } - - if (tsmem->rpmlib != NULL && rpmdsSearch(tsmem->rpmlib, dep) >= 0) { - rpmdsNotify(dep, "(rpmlib provides)", rc); diff --git a/rpm.spec b/rpm.spec index a44b81b..184b1f6 100644 --- a/rpm.spec +++ b/rpm.spec @@ -27,7 +27,7 @@ Summary: The RPM package management system Name: rpm Version: %{rpmver} -Release: %{?snapver:0.%{snapver}.}2%{?dist} +Release: %{?snapver:0.%{snapver}.}3%{?dist} Group: System Environment/Base Url: http://www.rpm.org/ Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2 @@ -60,8 +60,6 @@ Patch305: rpm-4.10.0-dwz-debuginfo.patch Patch306: rpm-4.10.0-minidebuginfo.patch # Fix CRC32 after dwz (#971119) Patch307: rpm-4.11.1-sepdebugcrcfix.patch -# Temporary Patch to provide support for updates -Patch400: rpm-4.10.90-rpmlib-filesystem-check.patch # Partially GPL/LGPL dual-licensed and some bits with BSD # SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD @@ -295,8 +293,6 @@ Requires: rpm-libs%{_isa} = %{version}-%{release} %patch306 -p1 -b .minidebuginfo %patch307 -p1 -b .sepdebugcrcfix -%patch400 -p1 -b .rpmlib-filesystem-check - %if %{with int_bdb} ln -s db-%{bdbver} db %endif @@ -543,6 +539,9 @@ exit 0 %doc doc/librpm/html/* %changelog +* Tue Jul 01 2014 Panu Matilainen - 4.11.90-0.git12844.3 +- Drop no longer needed temporary UsrMove patch + * Mon Jun 30 2014 Panu Matilainen - 4.11.90-0.git12844.2 - Fix multiple interleaved hardlink groups during build