Import rpm: e77f0511edd95a5c5e391d2599b8d1a4161690dd

This commit is contained in:
James Antill 2022-08-08 14:07:09 -04:00
commit d9953a1bed
13 changed files with 894 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/dnf-plugin-spacewalk-2.8.5.tar.gz

View File

@ -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 <tkasparek@redhat.com> 2.8.5-2
+- rebuild for rhel8
+
* Fri Feb 09 2018 Michael Mraka <michael.mraka@redhat.com> 2.8.5-1
- removed Group from specfile

View File

@ -0,0 +1,37 @@
diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec
index d2c31fa..ae9fecb 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: 10%{?dist}
+Release: 11%{?dist}
License: GPLv2
Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz
URL: https://github.com/spacewalkproject/spacewalk
@@ -113,6 +113,9 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/
%endif
%changelog
+* Wed Jun 19 2019 Michael Mraka <michael.mraka@redhat.com> 2.8.5-11
+- Resolves: #1701222 - ignore broken json cache
+
* Wed Apr 03 2019 Michael Mraka <michael.mraka@redhat.com> 2.8.5-10
- Resolves: #1673445 - changed wording to refer to Red Hat Satellite
diff --git a/spacewalk.py b/spacewalk.py
index 89e7822..1e5255f 100644
--- a/spacewalk.py
+++ b/spacewalk.py
@@ -186,6 +186,9 @@ class Spacewalk(dnf.Plugin):
except (FileNotFoundError, IOError) as e:
if e.errno != errno.ENOENT:
raise
+ except json.decoder.JSONDecodeError as e:
+ pass # ignore broken json and recreate it later
+
return {}
def _write_channels_file(self, var):

View File

@ -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 <tkasparek@redhat.com> 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 <tkasparek@redhat.com> 2.8.5-2
- rebuild for rhel8

View File

@ -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 <tkasparek@redhat.com> 2.8.5-4
+- don't build python2 subpackages on systems with default python2
+ (tkasparek@redhat.com)
+
* Tue Feb 20 2018 Tomas Kasparek <tkasparek@redhat.com> 2.8.5-3
- %%if 0%%{?fedora} <= 25 is always true on rhel (tkasparek@redhat.com)
- rhel8 utilizes python3 (tkasparek@redhat.com)

View File

@ -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 <tkasparek@redhat.com> 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 <tkasparek@redhat.com> 2.8.5-4
- don't build python2 subpackages on systems with default python2
(tkasparek@redhat.com)

View File

@ -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 <tkasparek@redhat.com> 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 <tkasparek@redhat.com> 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

View File

@ -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 <tkasparek@redhat.com> 2.8.5-7
+- Resolves: rhbz#1633298 - librepo dependency is not added automatically (michael.mraka@redhat.com)
+
* Tue Oct 16 2018 Tomas Kasparek <tkasparek@redhat.com> 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)

View File

@ -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 <michael.mraka@redhat.com> 2.8.5-8
+- Resolves: #1637980 - use new api for http headers (michael.mraka@redhat.com)
+
* Wed Oct 31 2018 Tomas Kasparek <tkasparek@redhat.com> 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 = []

View File

@ -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 <michael.mraka@redhat.com> 2.8.5-9
+- Resolves: #1660552 - report and fail gracefully if not root
+- logger.warn() has been obsoleted
+
* Mon Dec 10 2018 Michael Mraka <michael.mraka@redhat.com> 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

View File

@ -0,0 +1,52 @@
diff --git a/dnf-plugin-spacewalk.spec b/dnf-plugin-spacewalk.spec
index fd42348..d2c31fa 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: 9%{?dist}
+Release: 10%{?dist}
License: GPLv2
Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz
URL: https://github.com/spacewalkproject/spacewalk
@@ -113,6 +113,9 @@ install -m 644 actions/errata.py %{buildroot}%{python3_sitelib}/rhn/actions/
%endif
%changelog
+* Wed Apr 03 2019 Michael Mraka <michael.mraka@redhat.com> 2.8.5-10
+- Resolves: #1673445 - changed wording to refer to Red Hat Satellite
+
* Wed Dec 19 2018 Michael Mraka <michael.mraka@redhat.com> 2.8.5-9
- Resolves: #1660552 - report and fail gracefully if not root
- logger.warn() has been obsoleted
diff --git a/spacewalk.py b/spacewalk.py
index 1e60eef..89e7822 100644
--- a/spacewalk.py
+++ b/spacewalk.py
@@ -38,17 +38,17 @@ from up2date_client import up2dateErrors
STORED_CHANNELS_NAME = '_spacewalk.json'
-RHN_DISABLED = _("Spacewalk based repositories will be disabled.")
-CHANNELS_DISABLED = _("Spacewalk channel support will be disabled.")
-COMMUNICATION_ERROR = _("There was an error communicating with Spacewalk server.")
-NOT_REGISTERED_ERROR = _("This system is not registered with Spacewalk server.")
+RHN_DISABLED = _("Red Hat Satellite or Spacewalk based repositories will be disabled.")
+CHANNELS_DISABLED = _("Red Hat Satellite or Spacewalk channel support will be disabled.")
+COMMUNICATION_ERROR = _("There was an error communicating with Red Hat Satellite or Spacewalk server.")
+NOT_REGISTERED_ERROR = _("This system is not registered with Red Hat Satellite or Spacewalk server.")
NOT_SUBSCRIBED_ERROR = _("This system is not subscribed to any channels.")
NO_SYSTEM_ID_ERROR = _("SystemId could not be acquired.")
USE_RHNREGISTER = _("You can use rhn_register to register.")
-UPDATES_FROM_SPACEWALK = _("This system is receiving updates from Spacewalk server.")
-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.")
+UPDATES_FROM_SPACEWALK = _("This system is receiving updates from Red Hat Satellite or Spacewalk server.")
+GPG_KEY_REJECTED = _("For security reasons packages from Red Hat Satellite or 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")
+MISSING_HEADER = _("Missing required login information for Red Hat Satellite or Spacewalk: %s")
MUST_BE_ROOT = _('Spacewalk plugin has to be run under with the root privileges.')
class Spacewalk(dnf.Plugin):

294
dnf-plugin-spacewalk.spec Normal file
View File

@ -0,0 +1,294 @@
%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: 11%{?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
Patch8: dnf-plugin-spacewalk-2.8.5-9-el8-to-dnf-plugin-spacewalk-2.8.5-10-el8.patch
Patch9: dnf-plugin-spacewalk-2.8.5-10-el8-to-dnf-plugin-spacewalk-2.8.5-11-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
%patch8 -p1
%patch9 -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 Jun 19 2019 Michael Mraka <michael.mraka@redhat.com> 2.8.5-11
- Resolves: #1701222 - ignore broken json cache
* Wed Apr 03 2019 Michael Mraka <michael.mraka@redhat.com> 2.8.5-10
- Resolves: #1673445 - changed wording to refer to Red Hat Satellite
* Wed Dec 19 2018 Michael Mraka <michael.mraka@redhat.com> 2.8.5-9
- Resolves: #1660552 - report and fail gracefully if not root
- logger.warn() has been obsoleted
* Mon Dec 10 2018 Michael Mraka <michael.mraka@redhat.com> 2.8.5-8
- Resolves: #1637980 - use new api for http headers (michael.mraka@redhat.com)
* Wed Oct 31 2018 Tomas Kasparek <tkasparek@redhat.com> 2.8.5-7
- Resolves: rhbz#1633298 - librepo dependency is not added automatically (michael.mraka@redhat.com)
* Tue Oct 16 2018 Tomas Kasparek <tkasparek@redhat.com> 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 <tkasparek@redhat.com> 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 <tkasparek@redhat.com> 2.8.5-4
- don't build python2 subpackages on systems with default python2
(tkasparek@redhat.com)
* Tue Feb 20 2018 Tomas Kasparek <tkasparek@redhat.com> 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 <tkasparek@redhat.com> 2.8.5-2
- rebuild for rhel8
* Fri Feb 09 2018 Michael Mraka <michael.mraka@redhat.com> 2.8.5-1
- removed Group from specfile
* Mon Nov 27 2017 Michael Mraka <michael.mraka@redhat.com> 2.8.4-1
- 1512582 - don't fail on empty installroot
* Fri Sep 29 2017 Michael Mraka <michael.mraka@redhat.com> 2.8.3-1
- require new version of rhn-client-tools
- move client actions to rhn namespace
* Fri Sep 22 2017 Michael Mraka <michael.mraka@redhat.com> 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 <tkasparek@redhat.com> 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 <eherget@redhat.com> 2.7.9-1
- update copyright year
* Fri Jul 21 2017 Michael Mraka <michael.mraka@redhat.com> 2.7.8-1
- 1437864 - base.plugins has been renamed to base._plugins
* Tue May 30 2017 Michael Mraka <michael.mraka@redhat.com> 2.7.7-1
- 1236609 - update to dnf's new config module
* Fri May 26 2017 Michael Mraka <michael.mraka@redhat.com> 2.7.6-1
- 1308493 - actually fix duplicated channel even for dnf 1.X
* Fri May 26 2017 Michael Mraka <michael.mraka@redhat.com> 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 <tkasparek@redhat.com> 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 <galt@redhat.com> 2.7.2-1
- reverted 2030f2f6b1efb82bda06676fbf22ab3716e890e5. A new API call is not
available yet in Fedora 23/24.
* Tue Nov 15 2016 Gennadii Altukhov <galt@redhat.com> 2.7.1-1
- remove workaround for BZ 1218071
- Bumping package versions for 2.7.
* Fri Sep 23 2016 Michael Mraka <michael.mraka@redhat.com> 2.6.1-1
- fixed rpmlint warnings
- 1342491 - remove dependency on python2 on F23+
* Wed May 25 2016 Tomas Kasparek <tkasparek@redhat.com> 2.5.8-1
- updating copyright years
* Thu May 12 2016 Gennadii Altukhov <galt@redhat.com> 2.5.7-1
- fix: wrong converting of exception to string
* Wed May 11 2016 Gennadii Altukhov <galt@redhat.com> 2.5.6-1
- replace has_key to work in python 3
* Mon May 09 2016 Gennadii Altukhov <galt@redhat.com> 2.5.5-1
- 1323028 - fix upgrade from Fedora 21 to 22
* Wed May 04 2016 Tomas Kasparek <tkasparek@redhat.com> 2.5.4-1
- Fix code via PEP8
- AK does not install packages via dnf-client
* Tue Jan 19 2016 Michael Mraka <michael.mraka@redhat.com> 2.5.3-1
- yet another python3 fixes
* Fri Jan 08 2016 Michael Mraka <michael.mraka@redhat.com> 2.5.2-1
- updated dnf / rhnlib / rhn-client-tools dependencies
* Fri Jan 08 2016 Michael Mraka <michael.mraka@redhat.com> 2.5.1-1
- 1286555 - updated to work in python3
- Bumping package versions for 2.5.
* Thu Aug 20 2015 Michael Mraka <michael.mraka@redhat.com> 2.4.15-1
- 1254551 - fixed error message output
* Wed Aug 19 2015 Michael Mraka <michael.mraka@redhat.com> 2.4.14-1
- 1254551 - fixed missing InvalidGpgKeyLocation exception
* Mon Jul 13 2015 Michael Mraka <michael.mraka@redhat.com> 2.4.13-1
- require on dnf-plugins-core is needed for docker images
* Thu Jun 11 2015 Michael Mraka <michael.mraka@redhat.com> 2.4.12-1
- bz1230251: do nothing if enabled=0
- bz1226986: accept options from plugin configuration file
* Mon Jun 01 2015 Michael Mraka <michael.mraka@redhat.com> 2.4.11-1
- global name 'CHANNELS_DISABLED' is not defined
* Fri May 29 2015 Michael Mraka <michael.mraka@redhat.com> 2.4.10-1
- fixed variable asignment
* Fri May 29 2015 Michael Mraka <michael.mraka@redhat.com> 2.4.9-1
- koji does not define python_sitelib
* Mon May 25 2015 Michael Mraka <michael.mraka@redhat.com> 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 <michael.mraka@redhat.com> 2.4.5-1
- minimal needed version of librepo
* Tue May 12 2015 Michael Mraka <michael.mraka@redhat.com> 2.4.4-1
- fixed rpmbuild issues
* Mon May 11 2015 Michael Mraka <michael.mraka@redhat.com> 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 <michael.mraka@redhat.com> 2.4.1-1
- initial build of dnf-plugin-spacewalk

1
sources Normal file
View File

@ -0,0 +1 @@
SHA1 (dnf-plugin-spacewalk-2.8.5.tar.gz) = e34cc8ee42aa984e2e34e5a77a2c1bff391ba13a