commit 5c2f2390d83d1c8cc2dbbed78bf4e430418253e1 Author: CentOS Sources Date: Tue May 7 05:25:44 2019 -0400 import dnf-plugin-spacewalk-2.8.5-9.module+el8+2754+6a08e8f4 diff --git a/.dnf-plugin-spacewalk.metadata b/.dnf-plugin-spacewalk.metadata new file mode 100644 index 0000000..8911f4d --- /dev/null +++ b/.dnf-plugin-spacewalk.metadata @@ -0,0 +1 @@ +e34cc8ee42aa984e2e34e5a77a2c1bff391ba13a SOURCES/dnf-plugin-spacewalk-2.8.5.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..734d0bd --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/dnf-plugin-spacewalk-2.8.5.tar.gz diff --git a/SOURCES/dnf-plugin-spacewalk-2.8.5-1-to-dnf-plugin-spacewalk-2.8.5-2-el8.patch b/SOURCES/dnf-plugin-spacewalk-2.8.5-1-to-dnf-plugin-spacewalk-2.8.5-2-el8.patch new file mode 100644 index 0000000..c31807e --- /dev/null +++ b/SOURCES/dnf-plugin-spacewalk-2.8.5-1-to-dnf-plugin-spacewalk-2.8.5-2-el8.patch @@ -0,0 +1,23 @@ +diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec +index e30000e..8a4516e 100644 +--- a/dnf-plugin-spacewalk.spec ++++ b/dnf-plugin-spacewalk.spec +@@ -8,7 +8,7 @@ + Summary: DNF plugin for Spacewalk + Name: dnf-plugin-spacewalk + Version: 2.8.5 +-Release: 1%{?dist} ++Release: 2%{?dist} + License: GPLv2 + Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz + URL: https://github.com/spacewalkproject/spacewalk +@@ -102,6 +102,9 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %endif + + %changelog ++* Mon Feb 19 2018 Tomas Kasparek 2.8.5-2 ++- rebuild for rhel8 ++ + * Fri Feb 09 2018 Michael Mraka 2.8.5-1 + - removed Group from specfile + diff --git a/SOURCES/dnf-plugin-spacewalk-2.8.5-2-el8-to-dnf-plugin-spacewalk-2.8.5-3-el8.patch b/SOURCES/dnf-plugin-spacewalk-2.8.5-2-el8-to-dnf-plugin-spacewalk-2.8.5-3-el8.patch new file mode 100644 index 0000000..d701825 --- /dev/null +++ b/SOURCES/dnf-plugin-spacewalk-2.8.5-2-el8-to-dnf-plugin-spacewalk-2.8.5-3-el8.patch @@ -0,0 +1,47 @@ +diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec +index 8a4516e..d0533dc 100644 +--- a/dnf-plugin-spacewalk.spec ++++ b/dnf-plugin-spacewalk.spec +@@ -1,4 +1,4 @@ +-%if 0%{?fedora} ++%if 0%{?fedora} || 0%{?rhel} >= 8 + %global build_py3 1 + %global default_py3 1 + %endif +@@ -8,14 +8,14 @@ + Summary: DNF plugin for Spacewalk + Name: dnf-plugin-spacewalk + Version: 2.8.5 +-Release: 2%{?dist} ++Release: 3%{?dist} + License: GPLv2 + Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz + URL: https://github.com/spacewalkproject/spacewalk + BuildArch: noarch + + Requires: %{pythonX}-%{name} = %{version}-%{release} +-%if 0%{?fedora} <= 25 ++%if 0%{?fedora} && 0%{?fedora} <= 25 + Requires: dnf >= 0.5.3 + %else + Requires: dnf >= 2.0.0 +@@ -54,7 +54,7 @@ Python 3 specific files for %{name}. + %setup -q + + %build +-%if 0%{?fedora} <= 25 ++%if 0%{?fedora} && 0%{?fedora} <= 25 + patch -p4 < dnf-plugin-spacewalk-revert-to-1.0.patch + %endif + +@@ -102,6 +102,10 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %endif + + %changelog ++* Tue Feb 20 2018 Tomas Kasparek 2.8.5-3 ++- %%if 0%%{?fedora} <= 25 is always true on rhel (tkasparek@redhat.com) ++- rhel8 utilizes python3 (tkasparek@redhat.com) ++ + * Mon Feb 19 2018 Tomas Kasparek 2.8.5-2 + - rebuild for rhel8 + diff --git a/SOURCES/dnf-plugin-spacewalk-2.8.5-3-el8-to-dnf-plugin-spacewalk-2.8.5-4-el8.patch b/SOURCES/dnf-plugin-spacewalk-2.8.5-3-el8-to-dnf-plugin-spacewalk-2.8.5-4-el8.patch new file mode 100644 index 0000000..cc48904 --- /dev/null +++ b/SOURCES/dnf-plugin-spacewalk-2.8.5-3-el8-to-dnf-plugin-spacewalk-2.8.5-4-el8.patch @@ -0,0 +1,75 @@ +diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec +index d0533dc..e73ef9b 100644 +--- a/dnf-plugin-spacewalk.spec ++++ b/dnf-plugin-spacewalk.spec +@@ -3,12 +3,16 @@ + %global default_py3 1 + %endif + ++%if ( 0%{?fedora} && 0%{?fedora} < 28 ) || ( 0%{?rhel} && 0%{?rhel} < 8 ) ++%global build_py2 1 ++%endif ++ + %define pythonX %{?default_py3: python3}%{!?default_py3: python2} + + Summary: DNF plugin for Spacewalk + Name: dnf-plugin-spacewalk + Version: 2.8.5 +-Release: 3%{?dist} ++Release: 4%{?dist} + License: GPLv2 + Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz + URL: https://github.com/spacewalkproject/spacewalk +@@ -29,6 +33,7 @@ Obsoletes: yum-rhn-plugin < 2.7 + %description + This DNF plugin provides access to a Spacewalk server for software updates. + ++%if 0%{?build_py2} + %package -n python2-%{name} + Summary: DNF plugin for Spacewalk + %{?python_provide:%python_provide python2-%{name}} +@@ -37,6 +42,7 @@ Requires: %{name} = %{version}-%{release} + Requires: python2-rhn-client-tools >= 2.8.4 + %description -n python2-%{name} + Python 2 specific files for %{name}. ++%endif + + %if 0%{?build_py3} + %package -n python3-%{name} +@@ -67,11 +73,13 @@ install -m 644 man/spacewalk.conf.5 %{buildroot}%{_mandir}/man5/ + install -m 644 man/dnf.plugin.spacewalk.8 %{buildroot}%{_mandir}/man8/ + + # python2 ++%if 0%{?build_py2} + install -d %{buildroot}%{python2_sitelib}/rhn/actions + install -d %{buildroot}%{python2_sitelib}/dnf-plugins/ + install -m 644 spacewalk.py %{buildroot}%{python2_sitelib}/dnf-plugins/ + install -m 644 actions/packages.py %{buildroot}%{python2_sitelib}/rhn/actions/ + install -m 644 actions/errata.py %{buildroot}%{python2_sitelib}/rhn/actions/ ++%endif + + %if 0%{?build_py3} + install -d %{buildroot}%{python3_sitelib}/rhn/actions +@@ -91,9 +99,11 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %dir /var/lib/up2date + %{_mandir}/man*/* + ++%if 0%{?build_py2} + %files -n python2-%{name} + %{python_sitelib}/dnf-plugins/* + %{python_sitelib}/rhn/actions/* ++%endif + + %if 0%{?build_py3} + %files -n python3-%{name} +@@ -102,6 +112,10 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %endif + + %changelog ++* Tue Mar 20 2018 Tomas Kasparek 2.8.5-4 ++- don't build python2 subpackages on systems with default python2 ++ (tkasparek@redhat.com) ++ + * Tue Feb 20 2018 Tomas Kasparek 2.8.5-3 + - %%if 0%%{?fedora} <= 25 is always true on rhel (tkasparek@redhat.com) + - rhel8 utilizes python3 (tkasparek@redhat.com) diff --git a/SOURCES/dnf-plugin-spacewalk-2.8.5-4-el8-to-dnf-plugin-spacewalk-2.8.5-5-el8.patch b/SOURCES/dnf-plugin-spacewalk-2.8.5-4-el8-to-dnf-plugin-spacewalk-2.8.5-5-el8.patch new file mode 100644 index 0000000..3af0de7 --- /dev/null +++ b/SOURCES/dnf-plugin-spacewalk-2.8.5-4-el8-to-dnf-plugin-spacewalk-2.8.5-5-el8.patch @@ -0,0 +1,45 @@ +diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec +index e73ef9b..41ff4e5 100644 +--- a/dnf-plugin-spacewalk.spec ++++ b/dnf-plugin-spacewalk.spec +@@ -12,7 +12,7 @@ + Summary: DNF plugin for Spacewalk + Name: dnf-plugin-spacewalk + Version: 2.8.5 +-Release: 4%{?dist} ++Release: 5%{?dist} + License: GPLv2 + Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz + URL: https://github.com/spacewalkproject/spacewalk +@@ -29,6 +29,9 @@ Requires: librepo >= 1.7.15 + %if 0%{?fedora} + Obsoletes: yum-rhn-plugin < 2.7 + %endif ++%if 0%{?rhel} >= 8 ++Provides: yum-rhn-plugin = %{version} ++%endif + + %description + This DNF plugin provides access to a Spacewalk server for software updates. +@@ -71,6 +74,8 @@ install -d %{buildroot}%{_mandir}/man{5,8} + install -m 644 spacewalk.conf %{buildroot}%{_sysconfdir}/dnf/plugins/ + install -m 644 man/spacewalk.conf.5 %{buildroot}%{_mandir}/man5/ + install -m 644 man/dnf.plugin.spacewalk.8 %{buildroot}%{_mandir}/man8/ ++ln -sf dnf.plugin.spacewalk.8 $RPM_BUILD_ROOT%{_mandir}/man8/dnf-plugin-spacewalk.8 ++ln -sf dnf.plugin.spacewalk.8 $RPM_BUILD_ROOT%{_mandir}/man8/yum-rhn-plugin.8 + + # python2 + %if 0%{?build_py2} +@@ -112,6 +117,12 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %endif + + %changelog ++* Tue Jul 24 2018 Tomas Kasparek 2.8.5-5 ++- Related: #1581665 - provide useful symlinks to a manpage ++ (tkasparek@redhat.com) ++- Resolves: #1581665 - provide yum-rhn-plugin on new RHEL systems ++ (tkasparek@redhat.com) ++ + * Tue Mar 20 2018 Tomas Kasparek 2.8.5-4 + - don't build python2 subpackages on systems with default python2 + (tkasparek@redhat.com) diff --git a/SOURCES/dnf-plugin-spacewalk-2.8.5-5-el8-to-dnf-plugin-spacewalk-2.8.5-6-el8.patch b/SOURCES/dnf-plugin-spacewalk-2.8.5-5-el8-to-dnf-plugin-spacewalk-2.8.5-6-el8.patch new file mode 100644 index 0000000..82cb7ce --- /dev/null +++ b/SOURCES/dnf-plugin-spacewalk-2.8.5-5-el8-to-dnf-plugin-spacewalk-2.8.5-6-el8.patch @@ -0,0 +1,179 @@ +diff --git a/dnf-plugin-spacewalk-revert-to-1.0.patch b/dnf-plugin-spacewalk-revert-to-1.0.patch +deleted file mode 100644 +index 0a2d6ec..0000000 +--- a/dnf-plugin-spacewalk-revert-to-1.0.patch ++++ /dev/null +@@ -1,90 +0,0 @@ +-diff --git a/client/rhel/dnf-plugin-spacewalk/spacewalk.py b/client/rhel/dnf-plugin-spacewalk/spacewalk.py +-index 72ac31e..269f94f 100644 +---- a/client/rhel/dnf-plugin-spacewalk/spacewalk.py +-+++ b/client/rhel/dnf-plugin-spacewalk/spacewalk.py +-@@ -28,7 +28,6 @@ import librepo +- import os +- import sys +- from copy import copy +--from dnf.conf.config import PRIO_PLUGINCONFIG +- +- # up2date libs are in non-standard path +- sys.path.append("/usr/share/rhn/") +-@@ -40,6 +39,7 @@ from rhn.i18n import ustr +- from up2date_client import up2dateErrors +- +- STORED_CHANNELS_NAME = '_spacewalk.json' +-+PLUGIN_CONF = 'spacewalk' +- +- RHN_DISABLED = _("Spacewalk based repositories will be disabled.") +- CHANNELS_DISABLED = _("Spacewalk channel support will be disabled.") +-@@ -66,11 +66,11 @@ class Spacewalk(dnf.Plugin): +- self.connected_to_spacewalk = False +- self.up2date_cfg = {} +- self.conf = copy(self.base.conf) +-- self.parser = self.read_config(self.conf) +-+ self.parser = self.read_config(self.conf, PLUGIN_CONF) +- if "main" in self.parser.sections(): +- options = self.parser.items("main") +- for (key, value) in options: +-- self.conf._set_value(key, value, PRIO_PLUGINCONFIG) +-+ setattr(self.conf, key, value) +- if not self.conf.enabled: +- return +- logger.debug('initialized Spacewalk plugin') +-@@ -142,9 +142,9 @@ class Spacewalk(dnf.Plugin): +- if channel_id in self.parser.sections(): +- options = self.parser.items(channel_id) +- for (key, value) in options: +-- conf._set_value(key, value, PRIO_PLUGINCONFIG) +-+ setattr(conf, key, value) +- repo = SpacewalkRepo(channel_dict, { +-- 'conf' : self.base.conf, +-+ 'cachedir' : self.base.conf.cachedir, +- 'proxy' : proxy_url, +- 'timeout' : conf.timeout, +- 'sslcacert' : sslcacert, +-@@ -212,7 +212,7 @@ class SpacewalkRepo(dnf.repo.Repo): +- +- def __init__(self, channel, opts): +- super(SpacewalkRepo, self).__init__(ustr(channel['label']), +-- opts.get('conf')) +-+ opts.get('cachedir')) +- # dnf stuff +- self.name = ustr(channel['name']) +- self.baseurl = [ url + '/GET-REQ/' + self.id for url in channel['url']] +-diff --git a/client/rhel/dnf-plugin-spacewalk/actions/packages.py b/client/rhel/dnf-plugin-spacewalk/actions/packages.py +-index 86ab72b..5516d1c 100644 +---- a/client/rhel/dnf-plugin-spacewalk/actions/packages.py +-+++ b/client/rhel/dnf-plugin-spacewalk/actions/packages.py +-@@ -125,7 +125,7 @@ def update(package_list, cache_only=None): +- else: +- ret = (0, "Requested packages already installed", {}) +- # workaround for RhBug:1218071 +-- base._plugins._unload() +-+ base._plugins.unload() +- base.close() +- return ret +- +-@@ -271,8 +271,10 @@ def _dnf_base(load_system_repo=True, load_available_repos=True): +- # initialize dnf +- base = dnf.Base() +- +-- if not base._plugins.plugins: +-- base.init_plugins() +-+ # this is actually workaround for RhBug:1218071 +-+ if not base._plugins.plugins and base.conf.plugins: +-+ base._plugins.load(base.conf.pluginpath, []) +-+ base._plugins.run_init(base) +- if load_available_repos: +- base.read_all_repos() +- base.fill_sack(load_system_repo=True, load_available_repos=True) +-@@ -335,7 +335,7 @@ def _dnf_transaction(base, install=[], remove=[], full_update=False, +- return (status, message, data) +- finally: +- # workaround for RhBug:1218071 +-- base._plugins._unload() +-+ base._plugins.unload() +- base.close() +- +- return (0, "Update Succeeded", {}) +diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec +index 41ff4e5..17df012 100644 +--- a/dnf-plugin-spacewalk.spec ++++ b/dnf-plugin-spacewalk.spec +@@ -12,18 +12,14 @@ + Summary: DNF plugin for Spacewalk + Name: dnf-plugin-spacewalk + Version: 2.8.5 +-Release: 5%{?dist} ++Release: 6%{?dist} + License: GPLv2 + Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz + URL: https://github.com/spacewalkproject/spacewalk + BuildArch: noarch + + Requires: %{pythonX}-%{name} = %{version}-%{release} +-%if 0%{?fedora} && 0%{?fedora} <= 25 +-Requires: dnf >= 0.5.3 +-%else + Requires: dnf >= 2.0.0 +-%endif + Requires: dnf-plugins-core + Requires: librepo >= 1.7.15 + %if 0%{?fedora} +@@ -63,9 +59,6 @@ Python 3 specific files for %{name}. + %setup -q + + %build +-%if 0%{?fedora} && 0%{?fedora} <= 25 +-patch -p4 < dnf-plugin-spacewalk-revert-to-1.0.patch +-%endif + + %install + install -d %{buildroot}%{_sysconfdir}/dnf/plugins/ +@@ -117,6 +110,10 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %endif + + %changelog ++* Tue Oct 16 2018 Tomas Kasparek 2.8.5-6 ++- spec cleanup (no more builds on Fedora <= 25) (michael.mraka@redhat.com) ++- Resolves: #1637980 - fixed plugin for dnf > 3.6.0 (michael.mraka@redhat.com) ++ + * Tue Jul 24 2018 Tomas Kasparek 2.8.5-5 + - Related: #1581665 - provide useful symlinks to a manpage + (tkasparek@redhat.com) +diff --git a/spacewalk.py b/spacewalk.py +index add5d34..e0b418b 100644 +--- a/spacewalk.py ++++ b/spacewalk.py +@@ -242,7 +242,13 @@ class SpacewalkRepo(dnf.repo.Repo): + else: + self.disable() + +- def add_http_headers(self, handle): ++ if hasattr(self, '_repo'): ++ # dnf > 3.6.0 ++ http_headers = self.create_http_headers() ++ if http_headers: ++ self._repo.setHttpHeaders(http_headers) ++ ++ def create_http_headers(self): + http_headers = [] + for header in self.needed_headers: + if not header in self.login_info: +@@ -257,12 +263,15 @@ class SpacewalkRepo(dnf.repo.Repo): + http_headers.append("%s: %s" % (header, self.login_info[header])) + if not self.force_http: + http_headers.append("X-RHN-Transport-Capability: follow-redirects=3") +- if http_headers: +- handle.setopt(librepo.LRO_HTTPHEADER, http_headers) ++ ++ return http_headers + + def _handle_new_remote(self, destdir, mirror_setup=True): ++ # this function is called only on dnf < 3.6.0 (up to Fedora 29) + handle = super(SpacewalkRepo, self)._handle_new_remote(destdir, mirror_setup) +- self.add_http_headers(handle) ++ http_headers = self.create_http_headers() ++ if http_headers: ++ handle.setopt(librepo.LRO_HTTPHEADER, http_headers) + return handle + + diff --git a/SOURCES/dnf-plugin-spacewalk-2.8.5-6-el8-to-dnf-plugin-spacewalk-2.8.5-7-el8.patch b/SOURCES/dnf-plugin-spacewalk-2.8.5-6-el8-to-dnf-plugin-spacewalk-2.8.5-7-el8.patch new file mode 100644 index 0000000..166b52f --- /dev/null +++ b/SOURCES/dnf-plugin-spacewalk-2.8.5-6-el8-to-dnf-plugin-spacewalk-2.8.5-7-el8.patch @@ -0,0 +1,31 @@ +diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec +index 17df012..e20e59f 100644 +--- a/dnf-plugin-spacewalk.spec ++++ b/dnf-plugin-spacewalk.spec +@@ -12,7 +12,7 @@ + Summary: DNF plugin for Spacewalk + Name: dnf-plugin-spacewalk + Version: 2.8.5 +-Release: 6%{?dist} ++Release: 7%{?dist} + License: GPLv2 + Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz + URL: https://github.com/spacewalkproject/spacewalk +@@ -50,6 +50,7 @@ Summary: DNF plugin for Spacewalk + BuildRequires: python3-devel + Requires: %{name} = %{version}-%{release} + Requires: python3-rhn-client-tools >= 2.8.4 ++Requires: python3-librepo + + %description -n python3-%{name} + Python 3 specific files for %{name}. +@@ -110,6 +111,9 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %endif + + %changelog ++* Wed Oct 31 2018 Tomas Kasparek 2.8.5-7 ++- Resolves: rhbz#1633298 - librepo dependency is not added automatically (michael.mraka@redhat.com) ++ + * Tue Oct 16 2018 Tomas Kasparek 2.8.5-6 + - spec cleanup (no more builds on Fedora <= 25) (michael.mraka@redhat.com) + - Resolves: #1637980 - fixed plugin for dnf > 3.6.0 (michael.mraka@redhat.com) diff --git a/SOURCES/dnf-plugin-spacewalk-2.8.5-7-el8-to-dnf-plugin-spacewalk-2.8.5-8-el8.patch b/SOURCES/dnf-plugin-spacewalk-2.8.5-7-el8-to-dnf-plugin-spacewalk-2.8.5-8-el8.patch new file mode 100644 index 0000000..768892e --- /dev/null +++ b/SOURCES/dnf-plugin-spacewalk-2.8.5-7-el8-to-dnf-plugin-spacewalk-2.8.5-8-el8.patch @@ -0,0 +1,54 @@ +diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec +index e20e59f..24a5b5d 100644 +--- a/dnf-plugin-spacewalk.spec ++++ b/dnf-plugin-spacewalk.spec +@@ -12,7 +12,7 @@ + Summary: DNF plugin for Spacewalk + Name: dnf-plugin-spacewalk + Version: 2.8.5 +-Release: 7%{?dist} ++Release: 8%{?dist} + License: GPLv2 + Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz + URL: https://github.com/spacewalkproject/spacewalk +@@ -24,9 +24,11 @@ Requires: dnf-plugins-core + Requires: librepo >= 1.7.15 + %if 0%{?fedora} + Obsoletes: yum-rhn-plugin < 2.7 ++Requires: dnf >= 4.0.9 + %endif + %if 0%{?rhel} >= 8 + Provides: yum-rhn-plugin = %{version} ++Requires: dnf >= 4.0.9 + %endif + + %description +@@ -111,6 +113,9 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %endif + + %changelog ++* Mon Dec 10 2018 Michael Mraka 2.8.5-8 ++- Resolves: #1637980 - use new api for http headers (michael.mraka@redhat.com) ++ + * Wed Oct 31 2018 Tomas Kasparek 2.8.5-7 + - Resolves: rhbz#1633298 - librepo dependency is not added automatically (michael.mraka@redhat.com) + +diff --git a/spacewalk.py b/spacewalk.py +index e0b418b..61bc5d8 100644 +--- a/spacewalk.py ++++ b/spacewalk.py +@@ -242,11 +242,11 @@ class SpacewalkRepo(dnf.repo.Repo): + else: + self.disable() + +- if hasattr(self, '_repo'): +- # dnf > 3.6.0 ++ if hasattr(self, 'set_http_headers'): ++ # dnf > 4.0.9 on RHEL 8, Fedora 29/30 + http_headers = self.create_http_headers() + if http_headers: +- self._repo.setHttpHeaders(http_headers) ++ self.set_http_headers(http_headers) + + def create_http_headers(self): + http_headers = [] diff --git a/SOURCES/dnf-plugin-spacewalk-2.8.5-8-el8-to-dnf-plugin-spacewalk-2.8.5-9-el8.patch b/SOURCES/dnf-plugin-spacewalk-2.8.5-8-el8-to-dnf-plugin-spacewalk-2.8.5-9-el8.patch new file mode 100644 index 0000000..ce37f99 --- /dev/null +++ b/SOURCES/dnf-plugin-spacewalk-2.8.5-8-el8-to-dnf-plugin-spacewalk-2.8.5-9-el8.patch @@ -0,0 +1,55 @@ +diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec +index 24a5b5d..fd42348 100644 +--- a/dnf-plugin-spacewalk.spec ++++ b/dnf-plugin-spacewalk.spec +@@ -12,7 +12,7 @@ + Summary: DNF plugin for Spacewalk + Name: dnf-plugin-spacewalk + Version: 2.8.5 +-Release: 8%{?dist} ++Release: 9%{?dist} + License: GPLv2 + Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz + URL: https://github.com/spacewalkproject/spacewalk +@@ -113,6 +113,10 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ + %endif + + %changelog ++* Wed Dec 19 2018 Michael Mraka 2.8.5-9 ++- Resolves: #1660552 - report and fail gracefully if not root ++- logger.warn() has been obsoleted ++ + * Mon Dec 10 2018 Michael Mraka 2.8.5-8 + - Resolves: #1637980 - use new api for http headers (michael.mraka@redhat.com) + +diff --git a/spacewalk.py b/spacewalk.py +index 61bc5d8..1e60eef 100644 +--- a/spacewalk.py ++++ b/spacewalk.py +@@ -49,6 +49,7 @@ UPDATES_FROM_SPACEWALK = _("This system is receiving updates from Spacewalk serv + GPG_KEY_REJECTED = _("For security reasons packages from Spacewalk based repositories can be verified only with locally installed gpg keys. GPG key '%s' has been rejected.") + PROFILE_NOT_SENT = _("Package profile information could not be sent.") + MISSING_HEADER = _("Missing required login information for Spacewalk: %s") ++MUST_BE_ROOT = _('Spacewalk plugin has to be run under with the root privileges.') + + class Spacewalk(dnf.Plugin): + +@@ -68,6 +69,9 @@ class Spacewalk(dnf.Plugin): + options = self.parser.items("main") + for (key, value) in options: + self.conf._set_value(key, value, PRIO_PLUGINCONFIG) ++ if not dnf.util.am_i_root(): ++ logger.warning(MUST_BE_ROOT) ++ self.conf.enabled = False + if not self.conf.enabled: + return + logger.debug('initialized Spacewalk plugin') +@@ -222,7 +226,7 @@ class SpacewalkRepo(dnf.repo.Repo): + try: + self.gpgkey = get_gpg_key_urls(channel['gpg_key_url']) + except InvalidGpgKeyLocation as e: +- logger.warn(GPG_KEY_REJECTED, dnf.i18n.ucd(e)) ++ logger.warning(GPG_KEY_REJECTED, dnf.i18n.ucd(e)) + self.gpgkey = [] + if channel['version'] != opts.get('cached_version'): + self.metadata_expire = 1 diff --git a/SPECS/dnf-plugin-spacewalk.spec b/SPECS/dnf-plugin-spacewalk.spec new file mode 100644 index 0000000..d9f4b2a --- /dev/null +++ b/SPECS/dnf-plugin-spacewalk.spec @@ -0,0 +1,284 @@ +%if 0%{?fedora} || 0%{?rhel} >= 8 +%global build_py3 1 +%global default_py3 1 +%endif + +%if ( 0%{?fedora} && 0%{?fedora} < 28 ) || ( 0%{?rhel} && 0%{?rhel} < 8 ) +%global build_py2 1 +%endif + +%define pythonX %{?default_py3: python3}%{!?default_py3: python2} + +Summary: DNF plugin for Spacewalk +Name: dnf-plugin-spacewalk +Version: 2.8.5 +Release: 9%{?dist} +License: GPLv2 +Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz +Patch0: dnf-plugin-spacewalk-2.8.5-1-to-dnf-plugin-spacewalk-2.8.5-2-el8.patch +Patch1: dnf-plugin-spacewalk-2.8.5-2-el8-to-dnf-plugin-spacewalk-2.8.5-3-el8.patch +Patch2: dnf-plugin-spacewalk-2.8.5-3-el8-to-dnf-plugin-spacewalk-2.8.5-4-el8.patch +Patch3: dnf-plugin-spacewalk-2.8.5-4-el8-to-dnf-plugin-spacewalk-2.8.5-5-el8.patch +Patch4: dnf-plugin-spacewalk-2.8.5-5-el8-to-dnf-plugin-spacewalk-2.8.5-6-el8.patch +Patch5: dnf-plugin-spacewalk-2.8.5-6-el8-to-dnf-plugin-spacewalk-2.8.5-7-el8.patch +Patch6: dnf-plugin-spacewalk-2.8.5-7-el8-to-dnf-plugin-spacewalk-2.8.5-8-el8.patch +Patch7: dnf-plugin-spacewalk-2.8.5-8-el8-to-dnf-plugin-spacewalk-2.8.5-9-el8.patch +URL: https://github.com/spacewalkproject/spacewalk +BuildArch: noarch + +Requires: %{pythonX}-%{name} = %{version}-%{release} +Requires: dnf >= 2.0.0 +Requires: dnf-plugins-core +Requires: librepo >= 1.7.15 +%if 0%{?fedora} +Obsoletes: yum-rhn-plugin < 2.7 +Requires: dnf >= 4.0.9 +%endif +%if 0%{?rhel} >= 8 +Provides: yum-rhn-plugin = %{version} +Requires: dnf >= 4.0.9 +%endif + +%description +This DNF plugin provides access to a Spacewalk server for software updates. + +%if 0%{?build_py2} +%package -n python2-%{name} +Summary: DNF plugin for Spacewalk +%{?python_provide:%python_provide python2-%{name}} +BuildRequires: python-devel +Requires: %{name} = %{version}-%{release} +Requires: python2-rhn-client-tools >= 2.8.4 +%description -n python2-%{name} +Python 2 specific files for %{name}. +%endif + +%if 0%{?build_py3} +%package -n python3-%{name} +Summary: DNF plugin for Spacewalk +%{?python_provide:%python_provide python3-%{name}} +BuildRequires: python3-devel +Requires: %{name} = %{version}-%{release} +Requires: python3-rhn-client-tools >= 2.8.4 +Requires: python3-librepo + +%description -n python3-%{name} +Python 3 specific files for %{name}. +%endif + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 + +%build + +%install +install -d %{buildroot}%{_sysconfdir}/dnf/plugins/ +install -d %{buildroot}/var/lib/up2date +install -d %{buildroot}%{_mandir}/man{5,8} +install -m 644 spacewalk.conf %{buildroot}%{_sysconfdir}/dnf/plugins/ +install -m 644 man/spacewalk.conf.5 %{buildroot}%{_mandir}/man5/ +install -m 644 man/dnf.plugin.spacewalk.8 %{buildroot}%{_mandir}/man8/ +ln -sf dnf.plugin.spacewalk.8 $RPM_BUILD_ROOT%{_mandir}/man8/dnf-plugin-spacewalk.8 +ln -sf dnf.plugin.spacewalk.8 $RPM_BUILD_ROOT%{_mandir}/man8/yum-rhn-plugin.8 + +# python2 +%if 0%{?build_py2} +install -d %{buildroot}%{python2_sitelib}/rhn/actions +install -d %{buildroot}%{python2_sitelib}/dnf-plugins/ +install -m 644 spacewalk.py %{buildroot}%{python2_sitelib}/dnf-plugins/ +install -m 644 actions/packages.py %{buildroot}%{python2_sitelib}/rhn/actions/ +install -m 644 actions/errata.py %{buildroot}%{python2_sitelib}/rhn/actions/ +%endif + +%if 0%{?build_py3} +install -d %{buildroot}%{python3_sitelib}/rhn/actions +install -d %{buildroot}%{python3_sitelib}/dnf-plugins/ +install -m 644 spacewalk.py %{buildroot}%{python3_sitelib}/dnf-plugins/ +install -m 644 actions/packages.py %{buildroot}%{python3_sitelib}/rhn/actions/ +install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/ +%endif + +%pre + +%post + +%files +%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/dnf/plugins/spacewalk.conf +%license LICENSE +%dir /var/lib/up2date +%{_mandir}/man*/* + +%if 0%{?build_py2} +%files -n python2-%{name} +%{python_sitelib}/dnf-plugins/* +%{python_sitelib}/rhn/actions/* +%endif + +%if 0%{?build_py3} +%files -n python3-%{name} +%{python3_sitelib}/dnf-plugins/* +%{python3_sitelib}/rhn/actions/* +%endif + +%changelog +* Wed Dec 19 2018 Michael Mraka 2.8.5-9 +- Resolves: #1660552 - report and fail gracefully if not root +- logger.warn() has been obsoleted + +* Mon Dec 10 2018 Michael Mraka 2.8.5-8 +- Resolves: #1637980 - use new api for http headers (michael.mraka@redhat.com) + +* Wed Oct 31 2018 Tomas Kasparek 2.8.5-7 +- Resolves: rhbz#1633298 - librepo dependency is not added automatically (michael.mraka@redhat.com) + +* Tue Oct 16 2018 Tomas Kasparek 2.8.5-6 +- spec cleanup (no more builds on Fedora <= 25) (michael.mraka@redhat.com) +- Resolves: #1637980 - fixed plugin for dnf > 3.6.0 (michael.mraka@redhat.com) + +* Tue Jul 24 2018 Tomas Kasparek 2.8.5-5 +- Related: #1581665 - provide useful symlinks to a manpage + (tkasparek@redhat.com) +- Resolves: #1581665 - provide yum-rhn-plugin on new RHEL systems + (tkasparek@redhat.com) + +* Tue Mar 20 2018 Tomas Kasparek 2.8.5-4 +- don't build python2 subpackages on systems with default python2 + (tkasparek@redhat.com) + +* Tue Feb 20 2018 Tomas Kasparek 2.8.5-3 +- %%if 0%%{?fedora} <= 25 is always true on rhel (tkasparek@redhat.com) +- rhel8 utilizes python3 (tkasparek@redhat.com) + +* Mon Feb 19 2018 Tomas Kasparek 2.8.5-2 +- rebuild for rhel8 + +* Fri Feb 09 2018 Michael Mraka 2.8.5-1 +- removed Group from specfile + +* Mon Nov 27 2017 Michael Mraka 2.8.4-1 +- 1512582 - don't fail on empty installroot + +* Fri Sep 29 2017 Michael Mraka 2.8.3-1 +- require new version of rhn-client-tools +- move client actions to rhn namespace + +* Fri Sep 22 2017 Michael Mraka 2.8.2-1 +- install files into python_sitelib/python3_sitelib +- split dnf-plugin-spacewalk into python2/python3 specific packages + +* Thu Sep 07 2017 Tomas Kasparek 2.8.1-1 +- unload function has been renamed to _unload() in DNF 2 +- Bumping package versions for 2.8. + +* Mon Jul 31 2017 Eric Herget 2.7.9-1 +- update copyright year + +* Fri Jul 21 2017 Michael Mraka 2.7.8-1 +- 1437864 - base.plugins has been renamed to base._plugins + +* Tue May 30 2017 Michael Mraka 2.7.7-1 +- 1236609 - update to dnf's new config module + +* Fri May 26 2017 Michael Mraka 2.7.6-1 +- 1308493 - actually fix duplicated channel even for dnf 1.X + +* Fri May 26 2017 Michael Mraka 2.7.5-1 +- 1308493 - fixed plugin initialization in dnf 2.X +- Updated links to github in spec files +- Migrating Fedorahosted to GitHub + +* Fri Feb 17 2017 Jan Dobes 2.7.4-1 +- fix bz1422518 - request failed: error reading the headers (CVE-2016-8743) + +* Wed Feb 15 2017 Tomas Kasparek 2.7.3-1 +- allow building both dnf 1.0 and 2.0 version from the same source +- 1308493 - initialize spacewalk channels before --enablerepo/--disablerepo + handler +- dnf-plugin-spacewalk updated to dnf 2.0 + +* Wed Nov 16 2016 Gennadii Altukhov 2.7.2-1 +- reverted 2030f2f6b1efb82bda06676fbf22ab3716e890e5. A new API call is not + available yet in Fedora 23/24. + +* Tue Nov 15 2016 Gennadii Altukhov 2.7.1-1 +- remove workaround for BZ 1218071 +- Bumping package versions for 2.7. + +* Fri Sep 23 2016 Michael Mraka 2.6.1-1 +- fixed rpmlint warnings +- 1342491 - remove dependency on python2 on F23+ + +* Wed May 25 2016 Tomas Kasparek 2.5.8-1 +- updating copyright years + +* Thu May 12 2016 Gennadii Altukhov 2.5.7-1 +- fix: wrong converting of exception to string + +* Wed May 11 2016 Gennadii Altukhov 2.5.6-1 +- replace has_key to work in python 3 + +* Mon May 09 2016 Gennadii Altukhov 2.5.5-1 +- 1323028 - fix upgrade from Fedora 21 to 22 + +* Wed May 04 2016 Tomas Kasparek 2.5.4-1 +- Fix code via PEP8 +- AK does not install packages via dnf-client + +* Tue Jan 19 2016 Michael Mraka 2.5.3-1 +- yet another python3 fixes + +* Fri Jan 08 2016 Michael Mraka 2.5.2-1 +- updated dnf / rhnlib / rhn-client-tools dependencies + +* Fri Jan 08 2016 Michael Mraka 2.5.1-1 +- 1286555 - updated to work in python3 +- Bumping package versions for 2.5. + +* Thu Aug 20 2015 Michael Mraka 2.4.15-1 +- 1254551 - fixed error message output + +* Wed Aug 19 2015 Michael Mraka 2.4.14-1 +- 1254551 - fixed missing InvalidGpgKeyLocation exception + +* Mon Jul 13 2015 Michael Mraka 2.4.13-1 +- require on dnf-plugins-core is needed for docker images + +* Thu Jun 11 2015 Michael Mraka 2.4.12-1 +- bz1230251: do nothing if enabled=0 +- bz1226986: accept options from plugin configuration file + +* Mon Jun 01 2015 Michael Mraka 2.4.11-1 +- global name 'CHANNELS_DISABLED' is not defined + +* Fri May 29 2015 Michael Mraka 2.4.10-1 +- fixed variable asignment + +* Fri May 29 2015 Michael Mraka 2.4.9-1 +- koji does not define python_sitelib + +* Mon May 25 2015 Michael Mraka 2.4.7-1 +- added license +- be consistent in using macros vs. shell variables +- make spec complient with fedora packaging guidlines + +* Tue May 19 2015 Michael Mraka 2.4.5-1 +- minimal needed version of librepo + +* Tue May 12 2015 Michael Mraka 2.4.4-1 +- fixed rpmbuild issues + +* Mon May 11 2015 Michael Mraka 2.4.2-1 +- add action files for packages/errata installation +- put spacewalk both into python2 and python3 setelibs + +* Thu Apr 16 2015 Michael Mraka 2.4.1-1 +- initial build of dnf-plugin-spacewalk +