- Drop no longer needed temporary UsrMove patch
This commit is contained in:
parent
44dacef8e0
commit
9787eb5021
@ -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/<platform tuple> (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);
|
|
9
rpm.spec
9
rpm.spec
@ -27,7 +27,7 @@
|
|||||||
Summary: The RPM package management system
|
Summary: The RPM package management system
|
||||||
Name: rpm
|
Name: rpm
|
||||||
Version: %{rpmver}
|
Version: %{rpmver}
|
||||||
Release: %{?snapver:0.%{snapver}.}2%{?dist}
|
Release: %{?snapver:0.%{snapver}.}3%{?dist}
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Url: http://www.rpm.org/
|
Url: http://www.rpm.org/
|
||||||
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
|
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
|
Patch306: rpm-4.10.0-minidebuginfo.patch
|
||||||
# Fix CRC32 after dwz (#971119)
|
# Fix CRC32 after dwz (#971119)
|
||||||
Patch307: rpm-4.11.1-sepdebugcrcfix.patch
|
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
|
# Partially GPL/LGPL dual-licensed and some bits with BSD
|
||||||
# SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD
|
# SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD
|
||||||
@ -295,8 +293,6 @@ Requires: rpm-libs%{_isa} = %{version}-%{release}
|
|||||||
%patch306 -p1 -b .minidebuginfo
|
%patch306 -p1 -b .minidebuginfo
|
||||||
%patch307 -p1 -b .sepdebugcrcfix
|
%patch307 -p1 -b .sepdebugcrcfix
|
||||||
|
|
||||||
%patch400 -p1 -b .rpmlib-filesystem-check
|
|
||||||
|
|
||||||
%if %{with int_bdb}
|
%if %{with int_bdb}
|
||||||
ln -s db-%{bdbver} db
|
ln -s db-%{bdbver} db
|
||||||
%endif
|
%endif
|
||||||
@ -543,6 +539,9 @@ exit 0
|
|||||||
%doc doc/librpm/html/*
|
%doc doc/librpm/html/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 01 2014 Panu Matilainen <pmatilai@redhat.com> - 4.11.90-0.git12844.3
|
||||||
|
- Drop no longer needed temporary UsrMove patch
|
||||||
|
|
||||||
* Mon Jun 30 2014 Panu Matilainen <pmatilai@redhat.com> - 4.11.90-0.git12844.2
|
* Mon Jun 30 2014 Panu Matilainen <pmatilai@redhat.com> - 4.11.90-0.git12844.2
|
||||||
- Fix multiple interleaved hardlink groups during build
|
- Fix multiple interleaved hardlink groups during build
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user