You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rhnpush/SOURCES/rhnpush-5.5.110-4-el8-to-rh...

182 lines
6.1 KiB

diff --git a/connection.py b/connection.py
index b4bbb31b4f..ec17cb338d 100644
--- a/connection.py
+++ b/connection.py
@@ -31,6 +31,7 @@ else:
from urlparse import urlparse
from urllib import splitport # pylint: disable=C0412
+# pylint: disable=W0622
class ConnectionError(Exception):
pass
@@ -276,6 +277,7 @@ class PackageUpload:
text = [x[1] for x in headers.getaddrlist(prefix + '-String')]
# text is a list now, convert it to a string
text = '\n'.join(text)
+ # pylint: disable=W1505
text = base64.decodestring(text)
return text
diff --git a/rhnpush.spec b/rhnpush.spec
index 0a6da49618..aa3ba0db0d 100644
--- a/rhnpush.spec
+++ b/rhnpush.spec
@@ -5,6 +5,10 @@
%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}
Name: rhnpush
@@ -12,14 +16,19 @@ Summary: Package uploader for the Spacewalk or Red Hat Satellite Server
License: GPLv2
URL: https://github.com/spacewalkproject/spacewalk
Version: 5.5.110
-Release: 4%{?dist}
+Release: 5%{?dist}
Source0: https://github.com/spacewalkproject/spacewalk/archive/%{name}-%{version}.tar.gz
BuildArch: noarch
Requires: %{pythonX}-%{name} = %{version}-%{release}
BuildRequires: docbook-utils, gettext
%if 0%{?pylint_check}
+%if 0%{?build_py2}
BuildRequires: spacewalk-python2-pylint
%endif
+%if 0%{?build_py3}
+BuildRequires: spacewalk-python3-pylint
+%endif
+%endif
%description
rhnpush uploads package headers to the Spacewalk or Red Hat Satellite
@@ -27,20 +36,27 @@ servers into specified channels and allows for several other channel
management operations relevant to controlling what packages are available
per channel.
+%if 0%{?build_py2}
%package -n python2-%{name}
Summary: Package uploader for the Spacewalk or Red Hat Satellite Server
%{?python_provide:%python_provide python2-%{name}}
Requires: %{name} = %{version}-%{release}
+%if 0%{?fedora} >= 28
+Requires: python2-rpm
+BuildRequires: python2-devel
+%else
Requires: rpm-python
+BuildRequires: python-devel
+%endif
Requires: rhnlib >= 2.8.3
Requires: python2-rhn-client-tools
Requires: spacewalk-backend-libs >= 1.7.17
Requires: spacewalk-usix
BuildRequires: spacewalk-backend-libs > 1.8.33
-BuildRequires: python-devel
BuildRequires: python2-rhn-client-tools
%description -n python2-%{name}
Python 2 specific files for rhnpush.
+%endif
%if 0%{?build_py3}
%package -n python3-%{name}
@@ -53,7 +69,7 @@ Requires: python3-rhn-client-tools
Requires: python3-spacewalk-backend-libs
Requires: python3-spacewalk-usix
BuildRequires: spacewalk-backend-libs > 1.8.33
-BuildRequires: python-devel
+BuildRequires: python3-devel
BuildRequires: python3-rhn-client-tools
BuildRequires: python3-rpm-macros
%description -n python3-%{name}
@@ -69,8 +85,10 @@ make -f Makefile.rhnpush all
%install
install -d $RPM_BUILD_ROOT/%{python_sitelib}
+%if 0%{?build_py2}
make -f Makefile.rhnpush install PREFIX=$RPM_BUILD_ROOT ROOT=%{python_sitelib} \
MANDIR=%{_mandir} PYTHON_VERSION=%{python_version}
+%endif
%if 0%{?build_py3}
sed -i 's|#!/usr/bin/python|#!/usr/bin/python3|' rhnpush
@@ -87,9 +105,15 @@ ln -s rhnpush%{default_suffix} $RPM_BUILD_ROOT%{_bindir}/rhnpush
%check
%if 0%{?pylint_check}
# check coding style
+%if 0%{?build_py2}
export PYTHONPATH=$RPM_BUILD_ROOT%{python_sitelib}
spacewalk-python2-pylint $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{python_sitelib}
%endif
+%if 0%{?build_py3}
+export PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitelib}
+spacewalk-python3-pylint $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{python3_sitelib}
+%endif
+%endif
%files
%{_bindir}/rhnpush
@@ -98,9 +122,11 @@ spacewalk-python2-pylint $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{python_sitel
%{_mandir}/man8/rhnpush.8*
%doc COPYING
+%if 0%{?build_py2}
%files -n python2-%{name}
%attr(755,root,root) %{_bindir}/rhnpush-%{python_version}
%{python_sitelib}/rhnpush/
+%endif
%if 0%{?build_py3}
%files -n python3-%{name}
@@ -109,6 +135,15 @@ spacewalk-python2-pylint $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{python_sitel
%endif
%changelog
+* Tue Mar 20 2018 Tomas Kasparek <tkasparek@redhat.com> 5.5.110-5
+- disable pylint warnings discovered by run on python3 (tkasparek@redhat.com)
+- run pylint 2/3 depending on environment (tkasparek@redhat.com)
+- don't build python2 subpackages on systems with default python3
+ (tkasparek@redhat.com)
+- be compliant with new packaging guidelines when requiring python2 packages
+ (tkasparek@redhat.com)
+- require python3-devel for building on python3 (tkasparek@redhat.com)
+
* Wed Mar 14 2018 Tomas Kasparek <tkasparek@redhat.com> 5.5.110-4
- build for python3 (tkasparek@redhat.com)
diff --git a/rhnpush_main.py b/rhnpush_main.py
index a4aef2f1f3..b50ec5b7b6 100755
--- a/rhnpush_main.py
+++ b/rhnpush_main.py
@@ -32,6 +32,7 @@ import os
import random
import sys
import time
+# pylint: disable=W0402
from optparse import Option, OptionParser
# pylint: disable=F0401,E0611
diff --git a/uploadLib.py b/uploadLib.py
index b712a92ce2..3aa6011b5b 100644
--- a/uploadLib.py
+++ b/uploadLib.py
@@ -754,6 +754,7 @@ def getServer(uri, proxy=None, username=None, password=None, ca_chain=None):
# pylint: disable=E1123
def hasChannelChecksumCapability(rpc_server):
""" check whether server supports getPackageChecksumBySession function"""
+ # pylint: disable=W1505
if 'rpcServerOverride' in inspect.getargspec(rhnserver.RhnServer.__init__)[0]:
server = rhnserver.RhnServer(rpcServerOverride=rpc_server)
else:
@@ -768,6 +769,7 @@ def exists_getPackageChecksumBySession(rpc_server):
# unfortunatelly we do not have capability for getPackageChecksumBySession function,
# but extended_profile in version 2 has been created just 2 months before
# getPackageChecksumBySession lets use it instead
+ # pylint: disable=W1505
if 'rpcServerOverride' in inspect.getargspec(rhnserver.RhnServer.__init__)[0]:
server = rhnserver.RhnServer(rpcServerOverride=rpc_server)
else: