diff options
Diffstat (limited to 'meta/recipes-devtools/dnf/dnf/0001-Revert-proper-check-of-releasever-when-using-install.patch')
-rw-r--r-- | meta/recipes-devtools/dnf/dnf/0001-Revert-proper-check-of-releasever-when-using-install.patch | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/meta/recipes-devtools/dnf/dnf/0001-Revert-proper-check-of-releasever-when-using-install.patch b/meta/recipes-devtools/dnf/dnf/0001-Revert-proper-check-of-releasever-when-using-install.patch deleted file mode 100644 index 879ecfa30d..0000000000 --- a/meta/recipes-devtools/dnf/dnf/0001-Revert-proper-check-of-releasever-when-using-install.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 8cd0503612573c455f34db74cd1c2216ed25b69c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 12 Apr 2017 15:42:06 +0300 -Subject: [PATCH] Revert "proper check of releasever, when using installroot - (RhBug:1417542)" - -This reverts commit 3ddf684b7c67a2b384aa99dde53d8a43218f2e68, as it's causing -breakage when installing packages into a pristin rootfs. Upstream has been notified: -https://bugzilla.redhat.com/show_bug.cgi?id=1441636 - -Upstream-Status: Inappropriate [pending proper fix] -Signed-off-by: Alex Kanavin <alex.kanavin@gmail.com> ---- - dnf/rpm/__init__.py | 59 +++++++++++++++++++++++++---------------------------- - doc/command_ref.rst | 3 +-- - 2 files changed, 29 insertions(+), 33 deletions(-) - -diff --git a/dnf/rpm/__init__.py b/dnf/rpm/__init__.py -index 5976acd6..1d50e6a0 100644 ---- a/dnf/rpm/__init__.py -+++ b/dnf/rpm/__init__.py -@@ -30,38 +30,35 @@ def detect_releasever(installroot): - # :api - """Calculate the release version for the system.""" - -- # if installroot is empty dir releasever is None, -- # that's why releasever is checked from '/' -- for root in [installroot, "/"]: -- ts = transaction.initReadOnlyTransaction(root=root) -- ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS)) -- for distroverpkg in dnf.const.DISTROVERPKG: -- try: -- idx = ts.dbMatch('provides', distroverpkg) -- except (TypeError, rpm.error) as e: -- raise dnf.exceptions.Error('Error: %s' % str(e)) -- if not len(idx): -- continue -- try: -- hdr = next(idx) -- except StopIteration: -- msg = 'Error: rpmdb failed to list provides. Try: rpm --rebuilddb' -- raise dnf.exceptions.Error(msg) -- releasever = hdr['version'] -- try: -- off = hdr[rpm.RPMTAG_PROVIDENAME].index(distroverpkg) -- flag = hdr[rpm.RPMTAG_PROVIDEFLAGS][off] -- ver = hdr[rpm.RPMTAG_PROVIDEVERSION][off] -- if flag == rpm.RPMSENSE_EQUAL and ver: -- if hdr['name'] != distroverpkg: -- # override the package version -- releasever = ver -- except (ValueError, KeyError, IndexError): -- pass -+ ts = transaction.initReadOnlyTransaction(root=installroot) -+ ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS)) -+ for distroverpkg in dnf.const.DISTROVERPKG: -+ try: -+ idx = ts.dbMatch('provides', distroverpkg) -+ except (TypeError, rpm.error) as e: -+ raise dnf.exceptions.Error('Error: %s' % str(e)) -+ if not len(idx): -+ continue -+ try: -+ hdr = next(idx) -+ except StopIteration: -+ msg = 'Error: rpmdb failed to list provides. Try: rpm --rebuilddb' -+ raise dnf.exceptions.Error(msg) -+ releasever = hdr['version'] -+ try: -+ off = hdr[rpm.RPMTAG_PROVIDENAME].index(distroverpkg) -+ flag = hdr[rpm.RPMTAG_PROVIDEFLAGS][off] -+ ver = hdr[rpm.RPMTAG_PROVIDEVERSION][off] -+ if flag == rpm.RPMSENSE_EQUAL and ver: -+ if hdr['name'] != distroverpkg: -+ # override the package version -+ releasever = ver -+ except (ValueError, KeyError, IndexError): -+ pass - -- if is_py3bytes(releasever): -- releasever = str(releasever, "utf-8") -- return releasever -+ if is_py3bytes(releasever): -+ releasever = str(releasever, "utf-8") -+ return releasever - return None - - -diff --git a/doc/command_ref.rst b/doc/command_ref.rst -index 77e885ab..3dd451b5 100644 ---- a/doc/command_ref.rst -+++ b/doc/command_ref.rst -@@ -205,8 +205,7 @@ Options - Note: You may also want to use the command-line option - ``--releasever=<release>`` when creating the installroot otherwise the - *$releasever* value is taken from the rpmdb within the installroot (and thus -- it is empty at time of creation and *$releasever* is taken from rpmdb using -- installroot=/). -+ it is empty at time of creation, the transaction will fail). - The new installroot path at time of creation do not contain *repository*, - *releasever*, and *dnf.conf* file. - --- -2.11.0 - |