diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-devtools/dnf/dnf/0001-Move-releasever-check-after-the-etc-dnf-vars-substit.patch | 37 | ||||
-rw-r--r-- | meta/recipes-devtools/dnf/dnf/0001-Revert-proper-check-of-releasever-when-using-install.patch | 105 | ||||
-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 @@ | |||
1 | From 3d0cdd8af1b415712eeb00e377c307001684ad06 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Wed, 21 Jun 2017 15:35:20 +0300 | ||
4 | Subject: [PATCH] Move releasever check after the etc/dnf/vars substitutions. | ||
5 | |||
6 | The substitutions may actually set the releasever correctly, | ||
7 | and so the check is premature. | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
11 | --- | ||
12 | dnf/cli/cli.py | 6 +++--- | ||
13 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
14 | |||
15 | diff --git a/dnf/cli/cli.py b/dnf/cli/cli.py | ||
16 | index 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 | -- | ||
36 | 2.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 @@ | |||
1 | From 8cd0503612573c455f34db74cd1c2216ed25b69c Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Wed, 12 Apr 2017 15:42:06 +0300 | ||
4 | Subject: [PATCH] Revert "proper check of releasever, when using installroot | ||
5 | (RhBug:1417542)" | ||
6 | |||
7 | This reverts commit 3ddf684b7c67a2b384aa99dde53d8a43218f2e68, as it's causing | ||
8 | breakage when installing packages into a pristin rootfs. Upstream has been notified: | ||
9 | https://bugzilla.redhat.com/show_bug.cgi?id=1441636 | ||
10 | |||
11 | Upstream-Status: Inappropriate [pending proper fix] | ||
12 | Signed-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 | |||
18 | diff --git a/dnf/rpm/__init__.py b/dnf/rpm/__init__.py | ||
19 | index 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 | |||
89 | diff --git a/doc/command_ref.rst b/doc/command_ref.rst | ||
90 | index 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 | -- | ||
104 | 2.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 | ||
7 | SRC_URI = "git://github.com/rpm-software-management/dnf.git \ | 7 | SRC_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 | ||
16 | PV = "2.3.0" | 16 | SRCREV = "32e6ffdc8902b868cd8f98f9c399c98c9de0c7b8" |
17 | SRCREV = "242079563b54b4714c889fd4ee32e8dd9960f3b8" | ||
18 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | 17 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" |
19 | 18 | ||
20 | S = "${WORKDIR}/git" | 19 | S = "${WORKDIR}/git" |