parent
b97aa3bf95
commit
d924be0c9e
@ -0,0 +1,68 @@
|
|||||||
|
From a7c2d7d66b1a4df5b06a0c5b401558531199f791 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adam Williamson <awilliam@redhat.com>
|
||||||
|
Date: Wed, 26 Sep 2018 18:14:06 -0700
|
||||||
|
Subject: [PATCH] Don't try to append to DNF config value that can't take it
|
||||||
|
|
||||||
|
See https://bugzilla.redhat.com/show_bug.cgi?id=1595917 and
|
||||||
|
https://github.com/rpm-software-management/dnf/pull/1200 for
|
||||||
|
more on this. Briefly, DNF before 3.0 presented this config
|
||||||
|
value as a list...and mutating it worked. DNF from 3.0 until
|
||||||
|
3.6 presented it as a list...mutating it didn't work, but also
|
||||||
|
didn't *fail*, so this has actually not been doing anything on
|
||||||
|
DNF 3.x but we haven't noticed.
|
||||||
|
|
||||||
|
In DNF 3.6 values like this are presented as tuples instead of
|
||||||
|
lists, to try and catch usages like this, and it worked! We
|
||||||
|
need to change this one.
|
||||||
|
|
||||||
|
There is an additional weirdness here. tsflags is actually, in
|
||||||
|
libdnf terms, an OptionStringListAppend option: that means that
|
||||||
|
when something tries to *set* its value, the new value is just
|
||||||
|
appended to the existing list of values. This is very weird
|
||||||
|
behaviour when you're interacting with it like this, but
|
||||||
|
happens to be quite useful, as we can just 'set' the value to
|
||||||
|
a list like this and it will actually get appended (which is
|
||||||
|
what we want), and this one syntax happens to work correctly in
|
||||||
|
DNF 2.x, 3.0 through 3.5.1, and 3.6.
|
||||||
|
|
||||||
|
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
||||||
|
---
|
||||||
|
src/pylorax/api/dnfbase.py | 5 ++++-
|
||||||
|
src/sbin/lorax | 5 ++++-
|
||||||
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/pylorax/api/dnfbase.py b/src/pylorax/api/dnfbase.py
|
||||||
|
index b7a4d1c6..1d7f32cc 100644
|
||||||
|
--- a/src/pylorax/api/dnfbase.py
|
||||||
|
+++ b/src/pylorax/api/dnfbase.py
|
||||||
|
@@ -56,7 +56,10 @@ def get_base_object(conf):
|
||||||
|
dbc.reposdir = [repodir]
|
||||||
|
dbc.install_weak_deps = False
|
||||||
|
dbc.prepend_installroot('persistdir')
|
||||||
|
- dbc.tsflags.append('nodocs')
|
||||||
|
+ # this is a weird 'AppendOption' thing that, when you set it,
|
||||||
|
+ # actually appends. Doing this adds 'nodocs' to the existing list
|
||||||
|
+ # of values, over in libdnf, it does not replace the existing values.
|
||||||
|
+ dbc.tsflags = ['nodocs']
|
||||||
|
|
||||||
|
if conf.get_default("dnf", "proxy", None):
|
||||||
|
dbc.proxy = conf.get("dnf", "proxy")
|
||||||
|
diff --git a/src/sbin/lorax b/src/sbin/lorax
|
||||||
|
index 30b9cadc..2729757d 100755
|
||||||
|
--- a/src/sbin/lorax
|
||||||
|
+++ b/src/sbin/lorax
|
||||||
|
@@ -212,7 +212,10 @@ def get_dnf_base_object(installroot, sources, mirrorlists=None, repos=None,
|
||||||
|
conf.releasever = releasever
|
||||||
|
conf.installroot = installroot
|
||||||
|
conf.prepend_installroot('persistdir')
|
||||||
|
- conf.tsflags.append('nodocs')
|
||||||
|
+ # this is a weird 'AppendOption' thing that, when you set it,
|
||||||
|
+ # actually appends. Doing this adds 'nodocs' to the existing list
|
||||||
|
+ # of values, over in libdnf, it does not replace the existing values.
|
||||||
|
+ conf.tsflags = ['nodocs']
|
||||||
|
|
||||||
|
if proxy:
|
||||||
|
conf.proxy = proxy
|
||||||
|
--
|
||||||
|
2.19.0
|
||||||
|
|
10
lorax.spec
10
lorax.spec
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
Name: lorax
|
Name: lorax
|
||||||
Version: 29.15
|
Version: 29.15
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Tool for creating the anaconda install images
|
Summary: Tool for creating the anaconda install images
|
||||||
|
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
@ -15,6 +15,10 @@ URL: https://github.com/weldr/lorax
|
|||||||
# git checkout -b archive-branch lorax-%%{version}-%%{release}
|
# git checkout -b archive-branch lorax-%%{version}-%%{release}
|
||||||
# tito build --tgz
|
# tito build --tgz
|
||||||
Source0: %{name}-%{version}.tar.gz
|
Source0: %{name}-%{version}.tar.gz
|
||||||
|
# More DNF config interface shenanigans...
|
||||||
|
# https://github.com/weldr/lorax/pull/480
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1595917
|
||||||
|
Patch0: 0001-Don-t-try-to-append-to-DNF-config-value-that-can-t-t.patch
|
||||||
|
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
|
|
||||||
@ -156,6 +160,7 @@ build images, etc. from the command line.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -230,6 +235,9 @@ getent passwd weldr >/dev/null 2>&1 || useradd -r -g weldr -d / -s /sbin/nologin
|
|||||||
%{_sysconfdir}/bash_completion.d/composer-cli
|
%{_sysconfdir}/bash_completion.d/composer-cli
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Sep 26 2018 Adam Williamson <awilliam@redhat.com> - 29.15-2
|
||||||
|
- Backport PR #480 for DNF 3.6 compatibility (RHBZ #1595917)
|
||||||
|
|
||||||
* Fri Sep 07 2018 Brian C. Lane <bcl@redhat.com> 29.15-1
|
* Fri Sep 07 2018 Brian C. Lane <bcl@redhat.com> 29.15-1
|
||||||
- Add a Makefile target for building html docs using a rawhide environment (bcl@redhat.com)
|
- Add a Makefile target for building html docs using a rawhide environment (bcl@redhat.com)
|
||||||
- Revert "Don't activate default auto connections after switchroot" (rvykydal@redhat.com)
|
- Revert "Don't activate default auto connections after switchroot" (rvykydal@redhat.com)
|
||||||
|
Loading…
Reference in New Issue
Block a user