Hello community,

here is the log from the commit of package python-azure-agent for 
openSUSE:Factory checked in at 2018-02-16 21:44:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-agent (Old)
 and      /work/SRC/openSUSE:Factory/.python-azure-agent.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-azure-agent"

Fri Feb 16 21:44:22 2018 rev:7 rq:577091 version:2.2.18

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-azure-agent/python-azure-agent.changes    
2018-01-10 23:38:43.186024952 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-azure-agent.new/python-azure-agent.changes   
    2018-02-16 21:44:24.199669734 +0100
@@ -1,0 +2,6 @@
+Thu Feb  8 18:53:50 UTC 2018 - [email protected]
+
+- Add 0001-Obtain-platform-information-in-Python-version-depend.patch
+  to fix build on distribution with Python 3.6 and later (boo#997614)
+
+-------------------------------------------------------------------

New:
----
  0001-Obtain-platform-information-in-Python-version-depend.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-azure-agent.spec ++++++
--- /var/tmp/diff_new_pack.qzZkBm/_old  2018-02-16 21:44:24.947642758 +0100
+++ /var/tmp/diff_new_pack.qzZkBm/_new  2018-02-16 21:44:24.951642614 +0100
@@ -27,6 +27,7 @@
 Patch1:         agent-no-auto-update.patch
 Patch3:         paa_fix_driver_install_detect.patch
 Patch4:         paa_rdma_install_proper_driver.patch
+Patch5:         0001-Obtain-platform-information-in-Python-version-depend.patch
 BuildRequires:  dos2unix
 
 BuildRequires:  distribution-release
@@ -36,6 +37,7 @@
 %endif
 %if 0%{?suse_version} && 0%{?suse_version} > 1315
 BuildRequires:  python3-devel
+BuildRequires:  python3-distro
 BuildRequires:  python3-mock
 BuildRequires:  python3-pytest
 BuildRequires:  python3-setuptools
@@ -63,6 +65,7 @@
 Requires:       openssl
 Requires:       pwdutils
 %if 0%{?suse_version} && 0%{?suse_version} > 1315
+Requires:       python3-distro
 Requires:       python3-pyasn1
 Requires:       python3-xml
 %else
@@ -116,6 +119,7 @@
 %patch1
 %patch3
 %patch4
+%patch5 -p1
 
 %build
 %if 0%{?suse_version} && 0%{?suse_version} > 1315

++++++ 0001-Obtain-platform-information-in-Python-version-depend.patch ++++++
>From 58ee33f1651d09f00a441ff4317cb1151e554ea5 Mon Sep 17 00:00:00 2001
From: Robert Schweikert <[email protected]>
Date: Thu, 8 Feb 2018 13:11:21 -0500
Subject: [PATCH] - Obtain platform information in Python version dependent way
   + The platform module has deprecated functionality in Python 3.5 and    
 the functionality will be removed in 3.7. For Python versions 3.5     and
 greater depend on the distro module to obtain linux distribution    
 information

---
 azurelinuxagent/common/version.py | 28 ++++++++++++++++++++++------
 setup.py                          |  7 ++++++-
 2 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/azurelinuxagent/common/version.py 
b/azurelinuxagent/common/version.py
index f743f11..713d82e 100644
--- a/azurelinuxagent/common/version.py
+++ b/azurelinuxagent/common/version.py
@@ -20,6 +20,9 @@ import re
 import platform
 import sys
 
+if float(sys.version[:3]) >= 3.5:
+    import distro
+
 import azurelinuxagent.common.conf as conf
 import azurelinuxagent.common.utils.fileutil as fileutil
 from azurelinuxagent.common.utils.flexible_version import FlexibleVersion
@@ -80,14 +83,27 @@ def get_distro():
     elif 'OpenBSD' in platform.system():
         release = re.sub('\-.*\Z', '', ustr(platform.release()))
         osinfo = ['openbsd', release, '', 'openbsd']
-    elif 'linux_distribution' in dir(platform):
-        supported = platform._supported_dists + ('alpine',)
-        osinfo = list(platform.linux_distribution(full_distribution_name=0,
-                                                  supported_dists=supported))
-        full_name = platform.linux_distribution()[0].strip()
+    elif 'Linux' in platform.system():
+        # platform.linux_distribution and platform.dist deprecated in
+        # Python 3.5 and removed in Python 3.7
+        if float(sys.version[:3]) >= 3.5:
+            platform_module = distro
+            osinfo = list(distro.linux_distribution(full_distribution_name=0))
+        else:
+            platform_module = platform
+            supported = platform._supported_dists + ('alpine',)
+            osinfo = list(platform.linux_distribution(
+                full_distribution_name=0,
+                supported_dists=supported
+            ))
+        full_name = platform_module.linux_distribution()[0].strip()
         osinfo.append(full_name)
     else:
-        osinfo = platform.dist()
+        try:
+            # dist() removed in Python 3.7
+            osinfo = platform.dist()
+        except:
+            osinfo = ('UNKNOWN', 'FFFF', '')
 
     # The platform.py lib has issue with detecting oracle linux distribution.
     # Merge the following patch provided by oracle as a temporary fix.
diff --git a/setup.py b/setup.py
index f59f829..4663169 100755
--- a/setup.py
+++ b/setup.py
@@ -26,6 +26,7 @@ from azurelinuxagent.common.osutil import get_osutil
 import setuptools
 from setuptools import find_packages
 from setuptools.command.install import install as  _install
+import sys
 
 root_dir = os.path.dirname(os.path.abspath(__file__))
 os.chdir(root_dir)
@@ -131,7 +132,7 @@ def get_data_files(name, version, fullname):
             # Ubuntu15.04+ uses systemd
             set_systemd_files(data_files,
                               src=["init/ubuntu/walinuxagent.service"])
-    elif name == 'suse':
+    elif name == 'suse' or name == 'opensuse':
         set_bin_files(data_files)
         set_conf_files(data_files, src=["config/suse/waagent.conf"])
         set_logrotate_files(data_files)
@@ -198,6 +199,9 @@ class install(_install):
             osutil.stop_agent_service()
             osutil.start_agent_service()
 
+requires = []
+if float(sys.version[:3]) >= 3.5:
+    requires = ['distro']
 
 setuptools.setup(
     name=AGENT_NAME,
@@ -209,6 +213,7 @@ setuptools.setup(
     url='https://github.com/Azure/WALinuxAgent',
     license='Apache License Version 2.0',
     packages=find_packages(exclude=["tests"]),
+    install_requires=requires,
     py_modules=["__main__"],
     cmdclass={
         'install': install
-- 
2.13.6


Reply via email to