Hello community,
here is the log from the commit of package python-pkgconfig for
openSUSE:Factory checked in at 2020-08-18 15:08:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pkgconfig (Old)
and /work/SRC/openSUSE:Factory/.python-pkgconfig.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pkgconfig"
Tue Aug 18 15:08:31 2020 rev:8 rq:826976 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pkgconfig/python-pkgconfig.changes
2019-10-18 15:42:29.891633996 +0200
+++
/work/SRC/openSUSE:Factory/.python-pkgconfig.new.3399/python-pkgconfig.changes
2020-08-18 15:08:43.655982989 +0200
@@ -1,0 +2,5 @@
+Sun Aug 16 02:31:58 UTC 2020 - John Vandenberg <[email protected]>
+
+- Activate test suite, replacing nose with pytest
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pkgconfig.spec ++++++
--- /var/tmp/diff_new_pack.rbJoY3/_old 2020-08-18 15:08:47.583984613 +0200
+++ /var/tmp/diff_new_pack.rbJoY3/_new 2020-08-18 15:08:47.587984615 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pkgconfig
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,12 +23,14 @@
Summary: Interface Python with pkg-config
License: MIT
Group: Development/Languages/Python
-URL: http://github.com/matze/pkgconfig
-Source:
https://files.pythonhosted.org/packages/source/p/pkgconfig/pkgconfig-%{version}.tar.gz
-BuildRequires: %{python_module nose}
+URL: https://github.com/matze/pkgconfig
+Source:
https://github.com/matze/pkgconfig/archive/v%{version}.tar.gz#/pkgconfig-%{version}.tar.gz
+BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
+BuildRequires: openssl-devel
BuildRequires: pkgconfig
+BuildRequires: python-dephell-rpm-macros
BuildRequires: python-rpm-macros
Requires: pkgconfig
BuildArch: noarch
@@ -40,6 +42,7 @@
%prep
%setup -q -n pkgconfig-%{version}
+%dephell_gensetup
%build
%python_build
@@ -48,6 +51,9 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%check
+%pytest
+
%files %{python_files}
%license LICENSE
%doc README.rst
++++++ pkgconfig-1.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/.gitignore
new/pkgconfig-1.5.1/.gitignore
--- old/pkgconfig-1.5.1/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/pkgconfig-1.5.1/.gitignore 2019-04-01 21:26:45.000000000 +0200
@@ -0,0 +1,8 @@
+build/
+dist/
+.tox/
+.eggs/
+poetry.lock
+*.egg/*
+*.egg-info
+*.pyc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/.travis.yml
new/pkgconfig-1.5.1/.travis.yml
--- old/pkgconfig-1.5.1/.travis.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/pkgconfig-1.5.1/.travis.yml 2019-04-01 21:26:45.000000000 +0200
@@ -0,0 +1,20 @@
+language: python
+
+python:
+ - "2.6"
+ - "2.7"
+ - "3.3"
+ - "3.4"
+ - "3.5"
+ - "3.6"
+
+# Enable 3.7 without globally enabling `dist: xenial` for other build jobs.
+matrix:
+ include:
+ - python: "3.7"
+ dist: xenial
+
+install:
+ - pip install pytest
+
+script: python -m pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/PKG-INFO new/pkgconfig-1.5.1/PKG-INFO
--- old/pkgconfig-1.5.1/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/pkgconfig-1.5.1/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-Metadata-Version: 2.1
-Name: pkgconfig
-Version: 1.5.1
-Summary: Interface Python with pkg-config
-Home-page: https://github.com/matze/pkgconfig
-Author: Matthias Vogelgesang
-Author-email: [email protected]
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: MIT License
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Topic :: Software Development :: Build Tools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/data/fake-dld-pkg.pc
new/pkgconfig-1.5.1/data/fake-dld-pkg.pc
--- old/pkgconfig-1.5.1/data/fake-dld-pkg.pc 1970-01-01 01:00:00.000000000
+0100
+++ new/pkgconfig-1.5.1/data/fake-dld-pkg.pc 2019-04-01 21:26:45.000000000
+0200
@@ -0,0 +1,9 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: BetaPkg
+Description: fake package with a digit-letter-digit version number for testing
+Requires:
+Version: 1.2.3b4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/data/fake-gtk+-3.0.pc
new/pkgconfig-1.5.1/data/fake-gtk+-3.0.pc
--- old/pkgconfig-1.5.1/data/fake-gtk+-3.0.pc 1970-01-01 01:00:00.000000000
+0100
+++ new/pkgconfig-1.5.1/data/fake-gtk+-3.0.pc 2019-04-01 21:26:45.000000000
+0200
@@ -0,0 +1,14 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=/usr/lib_gtk_foo
+includedir=/usr/include
+targets=x11 broadway
+
+gtk_binary_version=3.0.0
+gtk_host=x86_64-suse-linux-gnu
+
+Name: GTK+
+Description: GTK+ Graphical UI Library
+Version: 3.2.1
+Libs: -L${libdir} -lgtk-3
+Cflags: -I${includedir}/gtk-3.0 -DGSEAL_ENABLE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/data/fake-openssl.pc
new/pkgconfig-1.5.1/data/fake-openssl.pc
--- old/pkgconfig-1.5.1/data/fake-openssl.pc 1970-01-01 01:00:00.000000000
+0100
+++ new/pkgconfig-1.5.1/data/fake-openssl.pc 2019-04-01 21:26:45.000000000
+0200
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib/x86_64-linux-gnu
+includedir=${prefix}/include
+
+Name: OpenSSL
+Description: Secure Sockets Layer and cryptography libraries and tools
+Requires: libssl libcrypto
+Version: 1.1.0j
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/data/fake-python.pc
new/pkgconfig-1.5.1/data/fake-python.pc
--- old/pkgconfig-1.5.1/data/fake-python.pc 1970-01-01 01:00:00.000000000
+0100
+++ new/pkgconfig-1.5.1/data/fake-python.pc 2019-04-01 21:26:45.000000000
+0200
@@ -0,0 +1,13 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib_python_foo
+includedir=${prefix}/include
+
+Name: Python
+Description: Python library
+Requires:
+Version: 2.7
+Libs.private: -lpthread -ldl -lutil
+Libs: -L${libdir} -lpython2.7
+Cflags: -I${includedir}/python2.7
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/pyproject.toml
new/pkgconfig-1.5.1/pyproject.toml
--- old/pkgconfig-1.5.1/pyproject.toml 2019-04-01 21:27:21.057493200 +0200
+++ new/pkgconfig-1.5.1/pyproject.toml 2019-04-01 21:26:45.000000000 +0200
@@ -4,7 +4,7 @@
[tool.poetry]
name = "pkgconfig"
-version = "1.5.1"
+version = "1.5.0"
license = "MIT"
description = "Interface Python with pkg-config"
authors = ["Matthias Vogelgesang <[email protected]>"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/setup.cfg
new/pkgconfig-1.5.1/setup.cfg
--- old/pkgconfig-1.5.1/setup.cfg 1970-01-01 01:00:00.000000000 +0100
+++ new/pkgconfig-1.5.1/setup.cfg 2019-04-01 21:26:45.000000000 +0200
@@ -0,0 +1,2 @@
+[pycodestyle]
+max-line-length = 119
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/setup.py new/pkgconfig-1.5.1/setup.py
--- old/pkgconfig-1.5.1/setup.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pkgconfig-1.5.1/setup.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-# -*- coding: utf-8 -*-
-from distutils.core import setup
-
-packages = \
-['pkgconfig']
-
-package_data = \
-{'': ['*']}
-
-setup_kwargs = {
- 'name': 'pkgconfig',
- 'version': '1.5.1',
- 'description': 'Interface Python with pkg-config',
- 'long_description': "pkgconfig\n=========\n\n.. image::
https://travis-ci.org/matze/pkgconfig.png?branch=master\n :target:
https://travis-ci.org/matze/pkgconfig\n\n``pkgconfig`` is a Python module to
interface with the ``pkg-config``\ncommand line tool and supports Python 2.6+
and 3.3+.\n\nIt can be used to\n\n- find all pkg-config packages ::\n\n
>>> packages = pkgconfig.list_all()\n\n- check if a package exists ::\n\n
>>> pkgconfig.exists('glib-2.0')\n True\n\n- check if a package meets
certain version requirements ::\n\n >>> pkgconfig.installed('glib-2.0',
'< 2.26')\n False\n\n- return the version ::\n >>>
pkgconfig.modversion('glib-2.0')\n '2.56.3'\n\n- query CFLAGS and
LDFLAGS ::\n\n >>> pkgconfig.cflags('glib-2.0')\n
'-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include'\n\n >>>
pkgconfig.libs('glib-2.0')\n '-lglib-2.0'\n\n- get all variables defined
for a package::\n\n >>> pkgconfig.variables('glib-2.0')\n
{u'exec_prefix': u'/usr'}\n\n- parse the output to build extensions with
setup.py ::\n\n >>> d = pkgconfig.parse('glib-2.0 gtk+-2.0')\n >>>
d['libraries']\n [u'gtk+-2.0', u'glib-2.0']\n\n The ``pkgconfig.parse``
function returns a dictonary of lists.\n The lists returned are accurate
representations of the equivalent\n ``pkg-config`` call's result, both in
content and order.\n\nIf ``pkg-config`` is not on the path, raises
``EnvironmentError``.\n\nThe ``pkgconfig`` module is licensed under the MIT
license.\n\n\nChangelog\n---------\n\nVersion 1.5.0\n~~~~~~~~~~~~~\n\n- Use
poetry instead of setuptools directly\n- Fix #42: raise exception if package is
missing\n- Fix version parsing for openssl-like version numbers, fixes #32\n-
Fix #31: expose --modversion\n- Fix #30: strip whitespace from variable
names\n\nVersion 1.4.0\n~~~~~~~~~~~~~\n\n- Add boolean ``static`` keyword to
output private libraries as well\n- Raise original ``OSError`` as
well\n\nVersion 1.3.1\n~~~~~~~~~~~~~\n\n- Fix compatibility problems with
Python 2.6\n\nVersion 1.3.0\n~~~~~~~~~~~~~\n\n- Add variables() API to query
defined variables\n- Disable Python 3.2 and enable Python 3.5 and 3.6 tests\n-
Fix #16: handle spaces of values in .pc files correctly\n\nVersion 1.2.1 and
1.2.2\n~~~~~~~~~~~~~~~~~~~~~~~\n\nBug fix releases released on December 1st and
2nd 2016.\n\n- Include the ``data`` folder in the distribution in order to run
tests\n- Improve the tests\n\n\nVersion 1.2.0\n~~~~~~~~~~~~~\n\nReleased on
November 30th 2016.\n\n- Potential break: switch from result set to list\n-
Expose --list-all query\n- Added support for PKG_CONFIG environment
variable\n\n\nVersion 1.1.0\n~~~~~~~~~~~~~\n\nReleased on November 6th
2013.\n\n- Multiple packages can now be parsed with a single call to
``.parse``.\n\n\nVersion 1.0.0\n~~~~~~~~~~~~~\n\nFirst release on September 8th
2013.\n",
- 'author': 'Matthias Vogelgesang',
- 'author_email': '[email protected]',
- 'url': 'https://github.com/matze/pkgconfig',
- 'packages': packages,
- 'package_data': package_data,
- 'python_requires': '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*',
-}
-
-
-setup(**setup_kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/test_pkgconfig.py
new/pkgconfig-1.5.1/test_pkgconfig.py
--- old/pkgconfig-1.5.1/test_pkgconfig.py 1970-01-01 01:00:00.000000000
+0100
+++ new/pkgconfig-1.5.1/test_pkgconfig.py 2019-04-01 21:26:45.000000000
+0200
@@ -0,0 +1,157 @@
+import os
+import pytest
+import pkgconfig
+
+os.environ['PKG_CONFIG_PATH'] = os.path.abspath('./data')
+PACKAGE_NAME = 'fake-gtk+-3.0'
+
+
+def test_exists():
+ assert pkgconfig.exists(PACKAGE_NAME)
+ assert pkgconfig.exists('fake-openssl')
+
+
[email protected]("version,expected", [
+ ('3.2.1', True),
+ ('==3.2.1', True),
+ ('==3.2.2', False),
+ ('> 2.2', True),
+ ('> 3.4', False),
+ ('<= 3.3.5', True),
+ ('< 2.3', False),
+])
+def test_version(version, expected):
+ assert pkgconfig.installed(PACKAGE_NAME, version) == expected
+
+
[email protected]("version,expected", [
+ ('1.1.0j', True),
+ ('==1.1.0j', True),
+ ('==1.1.0k', False),
+ ('>= 1.1.0', True),
+ ('> 1.2.0', False),
+ ('< 1.2.0', True),
+ ('< 1.1.0', False),
+ ('>= 1.1', True),
+ ('> 1.2', False),
+ ('< 1.2', True),
+ ('< 1.1', False),
+ ('>= 1.1.0c', True),
+ ('>= 1.1.0k', False),
+ # PLEASE NOTE:
+ # the letters have no semantics, except string ordering, see also the
+ # comment in the test below.
+ # comparing release with beta, like "1.2.3" > "1.2.3b" does not work.
+])
+def test_openssl(version, expected):
+ assert pkgconfig.installed('fake-openssl', version) == expected
+
+
[email protected]("version,expected", [
+ ('1.2.3b4', True),
+ ('==1.2.3b4', True),
+ ('==1.2.3', False),
+ ('>= 1.2.3b3', True),
+ ('< 1.2.3b5', True),
+ # PLEASE NOTE:
+ # sadly, when looking at all (esp. non-python) libraries out there, there
+ # is no agreement on the semantics of letters appended to version numbers.
+ # e.g. for a release candidate, some might use "c", but other also might
+ # use "rc" or whatever. stuff like openssl does not use the letters to
+ # represent release status, but rather minor updates using a-z.
+ # so, as there is no real standard / agreement, we can NOT assume any
+ # advanced semantics here (like we could for python packages).
+ # thus we do NOT implement any special semantics for the letters,
+ # except string ordering
+ # thus, comparing a version with a letter-digits appendix to one without
+ # may or may not give the desired result.
+ # e.g. python packages use a1 for alpha 1, b2 for beta 2, c3 for release
+ # candidate 3 and <nothing> for release.
+ # we do not implement this semantics, "1.2.3" > "1.2.3b1" does not work.
+])
+def test_dld_pkg(version, expected):
+ assert pkgconfig.installed('fake-dld-pkg', version) == expected
+
+
+def test_modversion():
+ assert pkgconfig.modversion(PACKAGE_NAME) == '3.2.1'
+ assert pkgconfig.modversion('fake-openssl') == '1.1.0j'
+
+ with pytest.raises(pkgconfig.PackageNotFoundError):
+ pkgconfig.modversion('doesnotexist')
+
+
+def test_cflags():
+ flags = pkgconfig.cflags(PACKAGE_NAME)
+
+ for flag in flags.split(' '):
+ assert flag in ('-DGSEAL_ENABLE', '-I/usr/include/gtk-3.0')
+
+ with pytest.raises(pkgconfig.PackageNotFoundError):
+ pkgconfig.cflags('doesnotexist')
+
+
+def test_libs():
+ flags = pkgconfig.libs(PACKAGE_NAME)
+
+ for flag in flags.split(' '):
+ assert flag in ('-L/usr/lib_gtk_foo', '-lgtk-3')
+
+ with pytest.raises(pkgconfig.PackageNotFoundError):
+ pkgconfig.libs('doesnotexist')
+
+
+def test_libs_static():
+ flags = pkgconfig.libs('fake-python', static=True)
+ flags = flags.split(' ')
+ assert '-lpthread' in flags
+ assert '-ldl' in flags
+ assert '-lutil' in flags
+
+
+def test_parse():
+ config = pkgconfig.parse("fake-gtk+-3.0 fake-python")
+
+ assert ('GSEAL_ENABLE', None) in config['define_macros']
+ assert '/usr/include/gtk-3.0' in config['include_dirs']
+ assert '/usr/lib_gtk_foo' in config['library_dirs']
+ assert '/usr/lib_python_foo' in config['library_dirs']
+ assert 'gtk-3' in config['libraries']
+
+ assert '/usr/include/python2.7' in config['include_dirs']
+
+ with pytest.raises(pkgconfig.PackageNotFoundError):
+ pkgconfig.parse('doesnotexist')
+
+
+def test_parse_static():
+ config = pkgconfig.parse("fake-python", static=True)
+ assert '/usr/lib_python_foo' in config['library_dirs']
+ assert '/usr/include/python2.7' in config['include_dirs']
+ assert 'python2.7' in config['libraries']
+ assert 'pthread' in config['libraries']
+ assert 'dl' in config['libraries']
+ assert 'util' in config['libraries']
+
+
+def test_listall():
+ packages = pkgconfig.list_all()
+ assert 'fake-gtk+-3.0' in packages
+ assert 'fake-python' in packages
+
+
+def test_variables():
+ variables = pkgconfig.variables('fake-python')
+
+ assert 'prefix' in variables
+ assert 'exec_prefix' in variables
+ assert 'libdir' in variables
+ assert 'includedir' in variables
+
+ assert variables['prefix'] == '/usr'
+ assert variables['exec_prefix'] == '/usr'
+ assert variables['libdir'] == '/usr/lib_python_foo'
+ assert variables['includedir'] == '/usr/include'
+
+ with pytest.raises(pkgconfig.PackageNotFoundError):
+ pkgconfig.variables('doesnotexist')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pkgconfig-1.5.1/tox.ini new/pkgconfig-1.5.1/tox.ini
--- old/pkgconfig-1.5.1/tox.ini 1970-01-01 01:00:00.000000000 +0100
+++ new/pkgconfig-1.5.1/tox.ini 2019-04-01 21:26:45.000000000 +0200
@@ -0,0 +1,6 @@
+[tox]
+envlist = py{26,27,33,34,35,36,37}
+
+[testenv]
+deps = pytest
+commands= pytest