From 7bc220d2a2c06fd1327114d4c61c50de2948ad04 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Tue, 23 May 2017 12:21:52 +0300 Subject: [PATCH] Python dependency generators live in python-rpm-generators now (#1444925) --- rpm-4.13.x-pythondistdeps-Makefile.patch | 20 -- rpm-4.13.x-pythondistdeps-fileattr.patch | 9 - rpm-4.13.x-pythondistdeps-python3.patch | 9 - rpm-4.13.x-pythondistdeps.patch | 229 ------------------ ...thondistdeps.py-add-forgotten-import.patch | 34 --- ...hondistdeps.py-fix-processing-wheels.patch | 43 ---- ...y-show-warning-if-version-is-not-fou.patch | 29 --- ...thondistdeps.py-skip-.egg-link-files.patch | 50 ---- ...y-skip-distribution-metadata-if-ther.patch | 44 ---- rpm.spec | 28 +-- 10 files changed, 7 insertions(+), 488 deletions(-) delete mode 100644 rpm-4.13.x-pythondistdeps-Makefile.patch delete mode 100644 rpm-4.13.x-pythondistdeps-fileattr.patch delete mode 100644 rpm-4.13.x-pythondistdeps-python3.patch delete mode 100644 rpm-4.13.x-pythondistdeps.patch delete mode 100644 rpm-4.13.x-pythondistdeps.py-add-forgotten-import.patch delete mode 100644 rpm-4.13.x-pythondistdeps.py-fix-processing-wheels.patch delete mode 100644 rpm-4.13.x-pythondistdeps.py-show-warning-if-version-is-not-fou.patch delete mode 100644 rpm-4.13.x-pythondistdeps.py-skip-.egg-link-files.patch delete mode 100644 rpm-4.13.x-pythondistdeps.py-skip-distribution-metadata-if-ther.patch diff --git a/rpm-4.13.x-pythondistdeps-Makefile.patch b/rpm-4.13.x-pythondistdeps-Makefile.patch deleted file mode 100644 index dfdaf00..0000000 --- a/rpm-4.13.x-pythondistdeps-Makefile.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- rpm-4.13.0-rc1/scripts/Makefile.am.orig 2015-09-01 19:45:43.896822977 +0200 -+++ rpm-4.13.0-rc1/scripts/Makefile.am 2016-06-13 15:46:34.281390084 +0200 -@@ -11,7 +11,7 @@ - check-files check-prereqs \ - check-buildroot check-rpaths check-rpaths-worker \ - find-debuginfo.sh find-lang.sh \ -- perl.prov perl.req pythondeps.sh \ -+ perl.prov perl.req pythondeps.sh pythondistdeps.py \ - rpmdb_loadcvt rpm.daily rpm.log rpm.supp rpm2cpio.sh \ - tgpg vpkg-provides.sh \ - find-requires find-provides \ -@@ -30,7 +30,7 @@ - check-files check-prereqs \ - check-buildroot check-rpaths check-rpaths-worker \ - find-lang.sh find-requires find-provides \ -- perl.prov perl.req pythondeps.sh \ -+ perl.prov perl.req pythondeps.sh pythondistdeps.py \ - mono-find-requires mono-find-provides \ - pkgconfigdeps.sh libtooldeps.sh \ - ocaml-find-requires.sh ocaml-find-provides.sh \ diff --git a/rpm-4.13.x-pythondistdeps-fileattr.patch b/rpm-4.13.x-pythondistdeps-fileattr.patch deleted file mode 100644 index 72ab9e6..0000000 --- a/rpm-4.13.x-pythondistdeps-fileattr.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- rpm-4.13.0-rc1/fileattrs/python.attr.orig 2016-06-13 15:49:10.072832164 +0200 -+++ rpm-4.13.0-rc1/fileattrs/python.attr 2016-06-13 15:50:46.687106846 +0200 -@@ -1,4 +1,4 @@ --%__python_provides %{_rpmconfigdir}/pythondeps.sh --provides -+%__python_provides %{_rpmconfigdir}/pythondistdeps.py --provides --majorver-provides - %__python_requires %{_rpmconfigdir}/pythondeps.sh --requires --%__python_path ^((/usr/lib(64)?/python[[:digit:]]\\.[[:digit:]]/.*\\.(py[oc]?|so))|(%{_bindir}/python[[:digit:]]\\.[[:digit:]]))$ -+%__python_path ^((/usr/lib(64)?/python[[:digit:]]\\.[[:digit:]]/.*))|(%{_bindir}/python[[:digit:]]\\.[[:digit:]]))$ - %__python_magic [Pp]ython.*(executable|byte-compiled) diff --git a/rpm-4.13.x-pythondistdeps-python3.patch b/rpm-4.13.x-pythondistdeps-python3.patch deleted file mode 100644 index eb4c6ae..0000000 --- a/rpm-4.13.x-pythondistdeps-python3.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff -uNr rpm-4.13.0.orig/scripts/pythondistdeps.py rpm-4.13.0/scripts/pythondistdeps.py ---- rpm-4.13.0.orig/scripts/pythondistdeps.py 2016-12-18 12:25:21.287632679 +0100 -+++ rpm-4.13.0/scripts/pythondistdeps.py 2016-12-18 12:25:48.857479226 +0100 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python3 - # -*- coding: utf-8 -*- - # - # Copyright 2010 Per Øyvind Karlsen diff --git a/rpm-4.13.x-pythondistdeps.patch b/rpm-4.13.x-pythondistdeps.patch deleted file mode 100644 index 695393c..0000000 --- a/rpm-4.13.x-pythondistdeps.patch +++ /dev/null @@ -1,229 +0,0 @@ -diff --git a/scripts/pythondistdeps.py b/scripts/pythondistdeps.py -new file mode 100755 -index 0000000..8a2f43d ---- /dev/null -+++ b/scripts/pythondistdeps.py -@@ -0,0 +1,223 @@ -+#!/usr/bin/python -+# -*- coding: utf-8 -*- -+# -+# Copyright 2010 Per Øyvind Karlsen -+# Copyright 2015 Neal Gompa -+# -+# This program is free software. It may be redistributed and/or modified under -+# the terms of the LGPL version 2.1 (or later). -+# -+# RPM python dependency generator, using .egg-info/.egg-link/.dist-info data -+# -+ -+from __future__ import print_function -+from getopt import getopt -+from os.path import basename, dirname, isdir, sep -+from sys import argv, stdin, version -+from distutils.sysconfig import get_python_lib -+ -+ -+opts, args = getopt( -+ argv[1:], 'hPRrCEMLl:', -+ ['help', 'provides', 'requires', 'recommends', 'conflicts', 'extras', 'majorver-provides', 'legacy-provides' , 'legacy']) -+ -+Provides = False -+Requires = False -+Recommends = False -+Conflicts = False -+Extras = False -+Provides_PyMajorVer_Variant = False -+legacy_Provides = False -+legacy = False -+ -+for o, a in opts: -+ if o in ('-h', '--help'): -+ print('-h, --help\tPrint help') -+ print('-P, --provides\tPrint Provides') -+ print('-R, --requires\tPrint Requires') -+ print('-r, --recommends\tPrint Recommends') -+ print('-C, --conflicts\tPrint Conflicts') -+ print('-E, --extras\tPrint Extras ') -+ print('-M, --majorver-provides\tPrint extra Provides with Python major version only') -+ print('-L, --legacy-provides\tPrint extra legacy pythonegg Provides') -+ print('-l, --legacy\tPrint legacy pythonegg Provides/Requires instead') -+ exit(1) -+ elif o in ('-P', '--provides'): -+ Provides = True -+ elif o in ('-R', '--requires'): -+ Requires = True -+ elif o in ('-r', '--recommends'): -+ Recommends = True -+ elif o in ('-C', '--conflicts'): -+ Conflicts = True -+ elif o in ('-E', '--extras'): -+ Extras = True -+ elif o in ('-M', '--majorver-provides'): -+ Provides_PyMajorVer_Variant = True -+ elif o in ('-L', '--legacy-provides'): -+ legacy_Provides = True -+ elif o in ('-l', '--legacy'): -+ legacy = True -+ -+if Requires: -+ py_abi = True -+else: -+ py_abi = False -+py_deps = {} -+if args: -+ files = args -+else: -+ files = stdin.readlines() -+ -+for f in files: -+ f = f.strip() -+ lower = f.lower() -+ name = 'python(abi)' -+ # add dependency based on path, versioned if within versioned python directory -+ if py_abi and (lower.endswith('.py') or lower.endswith('.pyc') or lower.endswith('.pyo')): -+ if name not in py_deps: -+ py_deps[name] = [] -+ purelib = get_python_lib(standard_lib=1, plat_specific=0).split(version[:3])[0] -+ platlib = get_python_lib(standard_lib=1, plat_specific=1).split(version[:3])[0] -+ for lib in (purelib, platlib): -+ if lib in f: -+ spec = ('==', f.split(lib)[1].split(sep)[0]) -+ if spec not in py_deps[name]: -+ py_deps[name].append(spec) -+ -+ # XXX: hack to workaround RPM internal dependency generator not passing directories -+ lower_dir = dirname(lower) -+ if lower_dir.endswith('.egg') or \ -+ lower_dir.endswith('.egg-info') or \ -+ lower_dir.endswith('.egg-link') or \ -+ lower_dir.endswith('.dist-info'): -+ lower = lower_dir -+ f = dirname(f) -+ # Determine provide, requires, conflicts & recommends based on egg/dist metadata -+ if lower.endswith('.egg') or \ -+ lower.endswith('.egg-info') or \ -+ lower.endswith('.egg-link') or \ -+ lower.endswith('.dist-info'): -+ # This import is very slow, so only do it if needed -+ from pkg_resources import Distribution, FileMetadata, PathMetadata -+ dist_name = basename(f) -+ if isdir(f): -+ path_item = dirname(f) -+ metadata = PathMetadata(path_item, f) -+ else: -+ path_item = f -+ metadata = FileMetadata(f) -+ dist = Distribution.from_location(path_item, dist_name, metadata) -+ if (Provides_PyMajorVer_Variant or legacy_Provides or legacy) and Provides: -+ # Get the Python major version -+ pyver_major = dist.py_version.split('.')[0] -+ if Provides: -+ # If egg/dist metadata says package name is python, we provide python(abi) -+ if dist.key == 'python': -+ name = 'python(abi)' -+ if name not in py_deps: -+ py_deps[name] = [] -+ py_deps[name].append(('==', dist.py_version)) -+ if not legacy: -+ name = 'python{}dist({})'.format(dist.py_version, dist.key) -+ if name not in py_deps: -+ py_deps[name] = [] -+ if Provides_PyMajorVer_Variant: -+ pymajor_name = 'python{}dist({})'.format(pyver_major, dist.key) -+ if pymajor_name not in py_deps: -+ py_deps[pymajor_name] = [] -+ if legacy or legacy_Provides: -+ legacy_name = 'pythonegg({})({})'.format(pyver_major, dist.key) -+ if legacy_name not in py_deps: -+ py_deps[legacy_name] = [] -+ if dist.version: -+ spec = ('==', dist.version) -+ if spec not in py_deps[name]: -+ if not legacy: -+ py_deps[name].append(spec) -+ if Provides_PyMajorVer_Variant: -+ py_deps[pymajor_name].append(spec) -+ if legacy or legacy_Provides: -+ py_deps[legacy_name].append(spec) -+ if Requires or (Recommends and dist.extras): -+ name = 'python(abi)' -+ # If egg/dist metadata says package name is python, we don't add dependency on python(abi) -+ if dist.key == 'python': -+ py_abi = False -+ if name in py_deps: -+ py_deps.pop(name) -+ elif py_abi and dist.py_version: -+ if name not in py_deps: -+ py_deps[name] = [] -+ spec = ('==', dist.py_version) -+ if spec not in py_deps[name]: -+ py_deps[name].append(spec) -+ deps = dist.requires() -+ if Recommends: -+ depsextras = dist.requires(extras=dist.extras) -+ if not Requires: -+ for dep in reversed(depsextras): -+ if dep in deps: -+ depsextras.remove(dep) -+ deps = depsextras -+ # add requires/recommends based on egg/dist metadata -+ for dep in deps: -+ if legacy: -+ name = 'pythonegg({})({})'.format(pyver_major, dep.key) -+ else: -+ name = 'python{}dist({})'.format(dist.py_version, dep.key) -+ for spec in dep.specs: -+ if spec[0] != '!=': -+ if name not in py_deps: -+ py_deps[name] = [] -+ if spec not in py_deps[name]: -+ py_deps[name].append(spec) -+ if not dep.specs: -+ py_deps[name] = [] -+ # Unused, for automatic sub-package generation based on 'extras' from egg/dist metadata -+ # TODO: implement in rpm later, or...? -+ if Extras: -+ deps = dist.requires() -+ extras = dist.extras -+ print(extras) -+ for extra in extras: -+ print('%%package\textras-{}'.format(extra)) -+ print('Summary:\t{} extra for {} python package'.format(extra, dist.key)) -+ print('Group:\t\tDevelopment/Python') -+ depsextras = dist.requires(extras=[extra]) -+ for dep in reversed(depsextras): -+ if dep in deps: -+ depsextras.remove(dep) -+ deps = depsextras -+ for dep in deps: -+ for spec in dep.specs: -+ if spec[0] == '!=': -+ print('Conflicts:\t{} {} {}'.format(dep.key, '==', spec[1])) -+ else: -+ print('Requires:\t{} {} {}'.format(dep.key, spec[0], spec[1])) -+ print('%%description\t{}'.format(extra)) -+ print('{} extra for {} python package'.format(extra, dist.key)) -+ print('%%files\t\textras-{}\n'.format(extra)) -+ if Conflicts: -+ # Should we really add conflicts for extras? -+ # Creating a meta package per extra with recommends on, which has -+ # the requires/conflicts in stead might be a better solution... -+ for dep in dist.requires(extras=dist.extras): -+ name = dep.key -+ for spec in dep.specs: -+ if spec[0] == '!=': -+ if name not in py_deps: -+ py_deps[name] = [] -+ spec = ('==', spec[1]) -+ if spec not in py_deps[name]: -+ py_deps[name].append(spec) -+names = list(py_deps.keys()) -+names.sort() -+for name in names: -+ if py_deps[name]: -+ # Print out versioned provides, requires, recommends, conflicts -+ for spec in py_deps[name]: -+ print('{} {} {}'.format(name, spec[0], spec[1])) -+ else: -+ # Print out unversioned provides, requires, recommends, conflicts -+ print(name) diff --git a/rpm-4.13.x-pythondistdeps.py-add-forgotten-import.patch b/rpm-4.13.x-pythondistdeps.py-add-forgotten-import.patch deleted file mode 100644 index 2a0b121..0000000 --- a/rpm-4.13.x-pythondistdeps.py-add-forgotten-import.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 30d472c8af086df077e6cf047a87fdaf93c9b21b Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Wed, 24 Aug 2016 15:37:16 +0200 -Subject: [PATCH] pythondistdeps.py: add forgotten import - -Signed-off-by: Igor Gnatenko ---- - scripts/pythondistdeps.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/scripts/pythondistdeps.py b/scripts/pythondistdeps.py -index 76017f3..e4b99e2 100755 ---- a/scripts/pythondistdeps.py -+++ b/scripts/pythondistdeps.py -@@ -15,6 +15,7 @@ from getopt import getopt - from os.path import basename, dirname, isdir, sep - from sys import argv, stdin, version - from distutils.sysconfig import get_python_lib -+from warnings import warn - - - opts, args = getopt( -@@ -108,7 +109,7 @@ for f in files: - dist = Distribution.from_location(path_item, dist_name, metadata) - # Check if py_version is defined in the file - if not dist.py_version: -- warnings.warn("Version for {!r} has not been found".format(dist), RuntimeWarning) -+ warn("Version for {!r} has not been found".format(dist), RuntimeWarning) - continue - if (Provides_PyMajorVer_Variant or legacy_Provides or legacy) and Provides: - # Get the Python major version --- -2.9.3 - diff --git a/rpm-4.13.x-pythondistdeps.py-fix-processing-wheels.patch b/rpm-4.13.x-pythondistdeps.py-fix-processing-wheels.patch deleted file mode 100644 index 7aa5eb3..0000000 --- a/rpm-4.13.x-pythondistdeps.py-fix-processing-wheels.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ff395f4a820497a443baa6cd0198c49b06207c3f Mon Sep 17 00:00:00 2001 -From: Tomas Orsava -Date: Thu, 16 Feb 2017 11:36:29 +0100 -Subject: [PATCH] Fix pythondistdeps.py --provides for Python wheels - -As Python wheels do not contain targetted Python version in the directory/file -name of their metadata like Python eggs do, and since the Python version is not -contained in the metadata either, it is necessary to get it from elsewhere. - -Here it is parsed from the path the metadata resides at -(e.g. /usr/lib/pythonX.Y/site-packages/...) ---- - scripts/pythondistdeps.py | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/scripts/pythondistdeps.py b/scripts/pythondistdeps.py -index e4b99e2..d44210c 100644 ---- a/scripts/pythondistdeps.py -+++ b/scripts/pythondistdeps.py -@@ -107,10 +107,17 @@ for f in files: - path_item = f - metadata = FileMetadata(f) - dist = Distribution.from_location(path_item, dist_name, metadata) -- # Check if py_version is defined in the file -+ # Check if py_version is defined in the metadata file/directory name - if not dist.py_version: -- warn("Version for {!r} has not been found".format(dist), RuntimeWarning) -- continue -+ # Try to parse the Python version from the path the metadata -+ # resides at (e.g. /usr/lib/pythonX.Y/site-packages/...) -+ import re -+ res = re.search(r"/python(?P\d+\.\d)/", path_item) -+ if res: -+ dist.py_version = res.group('pyver') -+ else: -+ warn("Version for {!r} has not been found".format(dist), RuntimeWarning) -+ continue - if (Provides_PyMajorVer_Variant or legacy_Provides or legacy) and Provides: - # Get the Python major version - pyver_major = dist.py_version.split('.')[0] --- -2.11.0 - diff --git a/rpm-4.13.x-pythondistdeps.py-show-warning-if-version-is-not-fou.patch b/rpm-4.13.x-pythondistdeps.py-show-warning-if-version-is-not-fou.patch deleted file mode 100644 index 0db2977..0000000 --- a/rpm-4.13.x-pythondistdeps.py-show-warning-if-version-is-not-fou.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 2f51022e1586a9b3ac8036b23995074b00910475 Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Mon, 22 Aug 2016 12:55:50 +0200 -Subject: [PATCH 2/3] pythondistdeps.py: show warning if version is not found - in metadata - -In 49197c930bb6090d0fca4089ea75ec9d10e62f99 we introduced skipping -metadata which has no version, but it's better to show some warning. - -Signed-off-by: Igor Gnatenko ---- - scripts/pythondistdeps.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/scripts/pythondistdeps.py b/scripts/pythondistdeps.py -index 54905c3..d7226e0 100755 ---- a/scripts/pythondistdeps.py -+++ b/scripts/pythondistdeps.py -@@ -110,6 +110,7 @@ for f in files: - dist = Distribution.from_location(path_item, dist_name, metadata) - # Check if py_version is defined in the file - if not dist.py_version: -+ warnings.warn("Version for {!r} has not been found".format(dist), RuntimeWarning) - continue - if (Provides_PyMajorVer_Variant or legacy_Provides or legacy) and Provides: - # Get the Python major version --- -2.9.3 - diff --git a/rpm-4.13.x-pythondistdeps.py-skip-.egg-link-files.patch b/rpm-4.13.x-pythondistdeps.py-skip-.egg-link-files.patch deleted file mode 100644 index a555ed5..0000000 --- a/rpm-4.13.x-pythondistdeps.py-skip-.egg-link-files.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 83e4d44b802d39dfbd407488c0d9f629799b809c Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Mon, 22 Aug 2016 12:56:05 +0200 -Subject: [PATCH 3/3] pythondistdeps.py: skip .egg-link files - -From setuptools's documentation: -These files are not eggs, strictly speaking. They simply provide a way -to reference an egg that is not physically installed in the desired -location. They exist primarily as a cross-platform alternative to -symbolic links, to support "installing" code that is being developed in -a different location than the desired installation location. - -If we read .egg-link using pkg_resources.Distribution it will -never have version as it is just list of directories which should be -taken into account. - -We could change into that directories and add eggs from those locations -for parsing, but RPM's dependency generator already passing all files -from built RPM so it just does not make any sense to traverse those -directories. - -After all written above, let's just ignore .egg-link files. - -Signed-off-by: Igor Gnatenko ---- - scripts/pythondistdeps.py | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/scripts/pythondistdeps.py b/scripts/pythondistdeps.py -index d7226e0..76017f3 100755 ---- a/scripts/pythondistdeps.py -+++ b/scripts/pythondistdeps.py -@@ -89,14 +89,12 @@ for f in files: - lower_dir = dirname(lower) - if lower_dir.endswith('.egg') or \ - lower_dir.endswith('.egg-info') or \ -- lower_dir.endswith('.egg-link') or \ - lower_dir.endswith('.dist-info'): - lower = lower_dir - f = dirname(f) - # Determine provide, requires, conflicts & recommends based on egg/dist metadata - if lower.endswith('.egg') or \ - lower.endswith('.egg-info') or \ -- lower.endswith('.egg-link') or \ - lower.endswith('.dist-info'): - # This import is very slow, so only do it if needed - from pkg_resources import Distribution, FileMetadata, PathMetadata --- -2.9.3 - diff --git a/rpm-4.13.x-pythondistdeps.py-skip-distribution-metadata-if-ther.patch b/rpm-4.13.x-pythondistdeps.py-skip-distribution-metadata-if-ther.patch deleted file mode 100644 index 4279f9c..0000000 --- a/rpm-4.13.x-pythondistdeps.py-skip-distribution-metadata-if-ther.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 49197c930bb6090d0fca4089ea75ec9d10e62f99 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Neal=20Gompa=20=28=E3=83=8B=E3=83=BC=E3=83=AB=E3=83=BB?= - =?UTF-8?q?=E3=82=B3=E3=82=99=E3=83=B3=E3=83=8F=E3=82=9A=29?= - -Date: Sat, 20 Aug 2016 11:01:06 -0400 -Subject: [PATCH 1/3] pythondistdeps.py: skip distribution metadata if there is - no version - -For example, reading .egg-link using pkg_resources.Distribution returns -actual metadata, but it does not contain version. It returns traceback like: - -File "/usr/lib/rpm/pythondistdeps.py", line 113, in - pyver_major = dist.py_version.split('.')[0] -AttributeError: 'NoneType' object has no attribute 'split' -Traceback (most recent call last): - File "/usr/lib/rpm/pythondistdeps.py", line 113, in - pyver_major = dist.py_version.split('.')[0] -AttributeError: 'NoneType' object has no attribute 'split' - -Let's just skip such errors as we can't do much about that. - -Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1368673 -Reported-and-tested-by: Igor Gnatenko ---- - scripts/pythondistdeps.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/scripts/pythondistdeps.py b/scripts/pythondistdeps.py -index 8a2f43d..54905c3 100755 ---- a/scripts/pythondistdeps.py -+++ b/scripts/pythondistdeps.py -@@ -108,6 +108,9 @@ for f in files: - path_item = f - metadata = FileMetadata(f) - dist = Distribution.from_location(path_item, dist_name, metadata) -+ # Check if py_version is defined in the file -+ if not dist.py_version: -+ continue - if (Provides_PyMajorVer_Variant or legacy_Provides or legacy) and Provides: - # Get the Python major version - pyver_major = dist.py_version.split('.')[0] --- -2.9.3 - diff --git a/rpm.spec b/rpm.spec index 3368393..3ef91c1 100644 --- a/rpm.spec +++ b/rpm.spec @@ -33,7 +33,7 @@ Summary: The RPM package management system Name: rpm Version: %{rpmver} -Release: %{?snapver:0.%{snapver}.}21%{?dist} +Release: %{?snapver:0.%{snapver}.}22%{?dist} Group: System Environment/Base Url: http://www.rpm.org/ Source0: http://ftp.rpm.org/releases/%{srcdir}/%{name}-%{srcver}.tar.bz2 @@ -58,22 +58,9 @@ Patch5: rpm-4.12.0-rpm2cpio-hack.patch # Patches already upstream: Patch100: rpm-4.13.0-python-rpmsign.patch -Patch133: rpm-4.13.x-pythondistdeps.patch -Patch134: rpm-4.13.x-pythondistdeps-Makefile.patch -Patch135: rpm-4.13.x-pythondistdeps-fileattr.patch -Patch136: rpm-4.13.x-pythondistdeps.py-skip-distribution-metadata-if-ther.patch -Patch137: rpm-4.13.x-pythondistdeps.py-show-warning-if-version-is-not-fou.patch -Patch138: rpm-4.13.x-pythondistdeps.py-skip-.egg-link-files.patch -Patch139: rpm-4.13.x-pythondistdeps.py-add-forgotten-import.patch Patch140: rpm-4.13.x-brp-python-bytecompile-Python3-only.patch -# Upstream PR: https://github.com/rpm-software-management/rpm/pull/154 -# rhbz#1421776 -Patch141: rpm-4.13.x-pythondistdeps.py-fix-processing-wheels.patch Patch142: rpm-4.13.x-fix-refcount-for-spec_type.patch -# Fedora-specific (python3) patch (RHBZ #1405483) -Patch200: rpm-4.13.x-pythondistdeps-python3.patch - # debuginfo backports (#1427970) Patch250: 0001-Add-build-id-links-to-rpm-for-all-ELF-files.patch Patch251: 0002-Make-it-possible-to-have-unique-build-ids-across-bui.patch @@ -248,10 +235,6 @@ Requires: /usr/bin/gdb-add-index # "just work" while allowing for alternatives, depend on a virtual # provide, typically coming from redhat-rpm-config. Requires: system-rpm-config -# Techincally rpmbuild doesn't require python3 (and setuptools), but -# pythondistdeps generator expects it. -# See: https://bugzilla.redhat.com/show_bug.cgi?id=1410631 -Requires: python3-setuptools %description build The rpm-build package contains the scripts and executable programs @@ -457,9 +440,9 @@ done find $RPM_BUILD_ROOT -name "*.la"|xargs rm -f -# These live in perl-generators now -rm -f $RPM_BUILD_ROOT/%{rpmhome}/{perldeps.pl,perl.*} -rm -f $RPM_BUILD_ROOT/%{_fileattrsdir}/perl* +# These live in perl-generators and python-rpm-generators now +rm -f $RPM_BUILD_ROOT/%{rpmhome}/{perldeps.pl,perl.*,python*} +rm -f $RPM_BUILD_ROOT/%{_fileattrsdir}/{perl*,python*} # Axe unused cruft rm -f $RPM_BUILD_ROOT/%{rpmhome}/{tcl.req,osgideps.pl} @@ -610,6 +593,9 @@ exit 0 %doc doc/librpm/html/* %changelog +* Tue May 23 2017 Panu Matilainen - 4.13.0.1-22 +- Python dependency generators live in python-rpm-generators now (#1444925) + * Tue May 23 2017 Panu Matilainen - 4.13.0.1-21 - Fix rpmsign python module import failing (#1393659)