summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/dnf
diff options
context:
space:
mode:
authorAlexander Kanavin <alexander.kanavin@linux.intel.com>2017-06-21 15:58:20 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-23 11:44:14 +0100
commitf74fd6dbcc664b4f902e5c88cee835f9877dde45 (patch)
treec0d701cca14c52c3231d93eca1c0804f2c90b4f2 /meta/recipes-devtools/dnf
parent13ba631b05342c6d5044fb80c247ed5ea051782d (diff)
downloadpoky-f74fd6dbcc664b4f902e5c88cee835f9877dde45.tar.gz
dnf: update to 2.5.1
Drop 0001-Revert-proper-check-of-releasever-when-using-install.patch as the problem has been solved upstream. Add 0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch, as the warning for missing releasever is issued prematurely in our case. (From OE-Core rev: 68b01f9fe239aa224daa8dc901fa3cf0350261c0) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/dnf')
-rw-r--r--meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch37
-rw-r--r--meta/recipes-devtools/dnf/dnf/0001-Revert-proper-check-of-releasever-when-using-install.patch105
-rw-r--r--meta/recipes-devtools/dnf/dnf_2.5.1.bb (renamed from meta/recipes-devtools/dnf/dnf_git.bb)5
3 files changed, 39 insertions, 108 deletions
diff --git a/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch
new file mode 100644
index 0000000000..0226d4fdec
--- /dev/null
+++ b/meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch
@@ -0,0 +1,37 @@
1From 3d0cdd8af1b415712eeb00e377c307001684ad06 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 21 Jun 2017 15:35:20 +0300
4Subject: [PATCH] Move releasever check after the etc/dnf/vars substitutions.
5
6The substitutions may actually set the releasever correctly,
7and so the check is premature.
8
9Upstream-Status: Pending
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11---
12 dnf/cli/cli.py | 6 +++---
13 1 file changed, 3 insertions(+), 3 deletions(-)
14
15diff --git a/dnf/cli/cli.py b/dnf/cli/cli.py
16index c53c2a52..f9f2c13a 100644
17--- a/dnf/cli/cli.py
18+++ b/dnf/cli/cli.py
19@@ -882,12 +882,12 @@ class Cli(object):
20 releasever = dnf.rpm.detect_releasever(conf.installroot)
21 elif releasever == '/':
22 releasever = dnf.rpm.detect_releasever(releasever)
23- if releasever is None:
24- logger.warning(_("Unable to detect release version (use '--releasever' to specify "
25- "release version)"))
26 conf.releasever = releasever
27 subst = conf.substitutions
28 subst.update_from_etc(conf.installroot)
29+ if releasever is None:
30+ logger.warning(_("Unable to detect release version (use '--releasever' to specify "
31+ "release version)"))
32
33 for opt in ('cachedir', 'logdir', 'persistdir'):
34 conf.prepend_installroot(opt)
35--
362.11.0
37
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 @@
1From 8cd0503612573c455f34db74cd1c2216ed25b69c Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 12 Apr 2017 15:42:06 +0300
4Subject: [PATCH] Revert "proper check of releasever, when using installroot
5 (RhBug:1417542)"
6
7This reverts commit 3ddf684b7c67a2b384aa99dde53d8a43218f2e68, as it's causing
8breakage when installing packages into a pristin rootfs. Upstream has been notified:
9https://bugzilla.redhat.com/show_bug.cgi?id=1441636
10
11Upstream-Status: Inappropriate [pending proper fix]
12Signed-off-by: Alex Kanavin <alex.kanavin@gmail.com>
13---
14 dnf/rpm/__init__.py | 59 +++++++++++++++++++++++++----------------------------
15 doc/command_ref.rst | 3 +--
16 2 files changed, 29 insertions(+), 33 deletions(-)
17
18diff --git a/dnf/rpm/__init__.py b/dnf/rpm/__init__.py
19index 5976acd6..1d50e6a0 100644
20--- a/dnf/rpm/__init__.py
21+++ b/dnf/rpm/__init__.py
22@@ -30,38 +30,35 @@ def detect_releasever(installroot):
23 # :api
24 """Calculate the release version for the system."""
25
26- # if installroot is empty dir releasever is None,
27- # that's why releasever is checked from '/'
28- for root in [installroot, "/"]:
29- ts = transaction.initReadOnlyTransaction(root=root)
30- ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS))
31- for distroverpkg in dnf.const.DISTROVERPKG:
32- try:
33- idx = ts.dbMatch('provides', distroverpkg)
34- except (TypeError, rpm.error) as e:
35- raise dnf.exceptions.Error('Error: %s' % str(e))
36- if not len(idx):
37- continue
38- try:
39- hdr = next(idx)
40- except StopIteration:
41- msg = 'Error: rpmdb failed to list provides. Try: rpm --rebuilddb'
42- raise dnf.exceptions.Error(msg)
43- releasever = hdr['version']
44- try:
45- off = hdr[rpm.RPMTAG_PROVIDENAME].index(distroverpkg)
46- flag = hdr[rpm.RPMTAG_PROVIDEFLAGS][off]
47- ver = hdr[rpm.RPMTAG_PROVIDEVERSION][off]
48- if flag == rpm.RPMSENSE_EQUAL and ver:
49- if hdr['name'] != distroverpkg:
50- # override the package version
51- releasever = ver
52- except (ValueError, KeyError, IndexError):
53- pass
54+ ts = transaction.initReadOnlyTransaction(root=installroot)
55+ ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS))
56+ for distroverpkg in dnf.const.DISTROVERPKG:
57+ try:
58+ idx = ts.dbMatch('provides', distroverpkg)
59+ except (TypeError, rpm.error) as e:
60+ raise dnf.exceptions.Error('Error: %s' % str(e))
61+ if not len(idx):
62+ continue
63+ try:
64+ hdr = next(idx)
65+ except StopIteration:
66+ msg = 'Error: rpmdb failed to list provides. Try: rpm --rebuilddb'
67+ raise dnf.exceptions.Error(msg)
68+ releasever = hdr['version']
69+ try:
70+ off = hdr[rpm.RPMTAG_PROVIDENAME].index(distroverpkg)
71+ flag = hdr[rpm.RPMTAG_PROVIDEFLAGS][off]
72+ ver = hdr[rpm.RPMTAG_PROVIDEVERSION][off]
73+ if flag == rpm.RPMSENSE_EQUAL and ver:
74+ if hdr['name'] != distroverpkg:
75+ # override the package version
76+ releasever = ver
77+ except (ValueError, KeyError, IndexError):
78+ pass
79
80- if is_py3bytes(releasever):
81- releasever = str(releasever, "utf-8")
82- return releasever
83+ if is_py3bytes(releasever):
84+ releasever = str(releasever, "utf-8")
85+ return releasever
86 return None
87
88
89diff --git a/doc/command_ref.rst b/doc/command_ref.rst
90index 77e885ab..3dd451b5 100644
91--- a/doc/command_ref.rst
92+++ b/doc/command_ref.rst
93@@ -205,8 +205,7 @@ Options
94 Note: You may also want to use the command-line option
95 ``--releasever=<release>`` when creating the installroot otherwise the
96 *$releasever* value is taken from the rpmdb within the installroot (and thus
97- it is empty at time of creation and *$releasever* is taken from rpmdb using
98- installroot=/).
99+ it is empty at time of creation, the transaction will fail).
100 The new installroot path at time of creation do not contain *repository*,
101 *releasever*, and *dnf.conf* file.
102
103--
1042.11.0
105
diff --git a/meta/recipes-devtools/dnf/dnf_git.bb b/meta/recipes-devtools/dnf/dnf_2.5.1.bb
index c975900f85..cdc2a8549f 100644
--- a/meta/recipes-devtools/dnf/dnf_git.bb
+++ b/meta/recipes-devtools/dnf/dnf_2.5.1.bb
@@ -5,16 +5,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
5 " 5 "
6 6
7SRC_URI = "git://github.com/rpm-software-management/dnf.git \ 7SRC_URI = "git://github.com/rpm-software-management/dnf.git \
8 file://0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch \
8 file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ 9 file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
9 file://0030-Run-python-scripts-using-env.patch \ 10 file://0030-Run-python-scripts-using-env.patch \
10 file://0001-Do-not-prepend-installroot-to-logdir.patch \ 11 file://0001-Do-not-prepend-installroot-to-logdir.patch \
11 file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \ 12 file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \
12 file://0001-Corretly-install-tmpfiles.d-configuration.patch \ 13 file://0001-Corretly-install-tmpfiles.d-configuration.patch \
13 file://0001-Revert-proper-check-of-releasever-when-using-install.patch \
14 " 14 "
15 15
16PV = "2.3.0" 16SRCREV = "32e6ffdc8902b868cd8f98f9c399c98c9de0c7b8"
17SRCREV = "242079563b54b4714c889fd4ee32e8dd9960f3b8"
18UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" 17UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
19 18
20S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"