From 62eec5b56e854bdb8eb0e3f3373024d23eea65d8 Mon Sep 17 00:00:00 2001 From: Slavek Kabrda Date: Tue, 3 Dec 2013 10:16:56 +0100 Subject: [PATCH] Initial import rhbz#1035770 --- .gitignore | 1 + pydist-schema.json | 341 ++++++++++++++++++ python-wheel.spec | 142 ++++++++ sources | 1 + test-1.0-py2.py3-none-win32.whl | Bin 0 -> 5226 bytes wheel-0.22-add-test-files-to-manifest.path | 11 + ...0.22-fix-tests-broken-by-keyring-fix.patch | 19 + wheel-0.22-legacy-keyring-compatibility.patch | 19 + 8 files changed, 534 insertions(+) create mode 100644 pydist-schema.json create mode 100644 python-wheel.spec create mode 100644 test-1.0-py2.py3-none-win32.whl create mode 100644 wheel-0.22-add-test-files-to-manifest.path create mode 100644 wheel-0.22-fix-tests-broken-by-keyring-fix.patch create mode 100644 wheel-0.22-legacy-keyring-compatibility.patch diff --git a/.gitignore b/.gitignore index e69de29..d0e5913 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/wheel-0.22.0.tar.gz diff --git a/pydist-schema.json b/pydist-schema.json new file mode 100644 index 0000000..fc350bf --- /dev/null +++ b/pydist-schema.json @@ -0,0 +1,341 @@ +{ + "id": "http://www.python.org/dev/peps/pep-0426/", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Metadata for Python Software Packages 2.0", + "type": "object", + "properties": { + "metadata_version": { + "description": "Version of the file format", + "type": "string", + "pattern": "^(\\d+(\\.\\d+)*)$" + }, + "generator": { + "description": "Name and version of the program that produced this file.", + "type": "string", + "pattern": "^[0-9A-Za-z]([0-9A-Za-z_.-]*[0-9A-Za-z])( \\(.*\\))?$" + }, + "name": { + "description": "The name of the distribution.", + "type": "string", + "$ref": "#/definitions/distribution_name" + }, + "version": { + "description": "The distribution's public version identifier", + "type": "string", + "pattern": "^(\\d+(\\.\\d+)*)((a|b|c|rc)(\\d+))?(\\.(post)(\\d+))?(\\.(dev)(\\d+))?$" + }, + "source_label": { + "description": "A constrained identifying text string", + "type": "string", + "pattern": "^[0-9a-z_.-+]+$" + }, + "source_url": { + "description": "A string containing a full URL where the source for this specific version of the distribution can be downloaded.", + "type": "string", + "format": "uri" + }, + "summary": { + "description": "A one-line summary of what the distribution does.", + "type": "string" + }, + "document_names": { + "description": "Names of supporting metadata documents", + "type": "object", + "properties": { + "description": { + "type": "string", + "$ref": "#/definitions/document_name" + }, + "changelog": { + "type": "string", + "$ref": "#/definitions/document_name" + }, + "license": { + "type": "string", + "$ref": "#/definitions/document_name" + } + }, + "additionalProperties": false + }, + "keywords": { + "description": "A list of additional keywords to be used to assist searching for the distribution in a larger catalog.", + "type": "array", + "items": { + "type": "string" + } + }, + "license": { + "description": "A string indicating the license covering the distribution.", + "type": "string" + }, + "classifiers": { + "description": "A list of strings, with each giving a single classification value for the distribution.", + "type": "array", + "items": { + "type": "string" + } + }, + "contacts": { + "description": "A list of contributor entries giving the recommended contact points for getting more information about the project.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/contact" + } + }, + "contributors": { + "description": "A list of contributor entries for other contributors not already listed as current project points of contact.", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/contact" + } + }, + "project_urls": { + "description": "A mapping of arbitrary text labels to additional URLs relevant to the project.", + "type": "object" + }, + "extras": { + "description": "A list of optional sets of dependencies that may be used to define conditional dependencies in \"may_require\" and similar fields.", + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/extra_name" + } + }, + "meta_requires": { + "description": "A list of subdistributions made available through this metadistribution.", + "type": "array", + "$ref": "#/definitions/dependencies" + }, + "run_requires": { + "description": "A list of other distributions needed to run this distribution.", + "type": "array", + "$ref": "#/definitions/dependencies" + }, + "test_requires": { + "description": "A list of other distributions needed when this distribution is tested.", + "type": "array", + "$ref": "#/definitions/dependencies" + }, + "build_requires": { + "description": "A list of other distributions needed when this distribution is built.", + "type": "array", + "$ref": "#/definitions/dependencies" + }, + "dev_requires": { + "description": "A list of other distributions needed when this distribution is developed.", + "type": "array", + "$ref": "#/definitions/dependencies" + }, + "provides": { + "description": "A list of strings naming additional dependency requirements that are satisfied by installing this distribution. These strings must be of the form Name or Name (Version)", + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/provides_declaration" + } + }, + "modules": { + "description": "A list of modules and/or packages available for import after installing this distribution.", + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/qualified_name" + } + }, + "namespaces": { + "description": "A list of namespace packages this distribution contributes to", + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/qualified_name" + } + }, + "commands": { + "description": "Command line interfaces provided by this distribution", + "type": "object", + "$ref": "#/definitions/commands" + }, + "exports": { + "description": "Other exported interfaces provided by this distribution", + "type": "object", + "$ref": "#/definitions/exports" + }, + "obsoleted_by": { + "description": "A string that indicates that this project is no longer being developed. The named project provides a substitute or replacement.", + "type": "string", + "$ref": "#/definitions/requirement" + }, + "supports_environments": { + "description": "A list of strings specifying the environments that the distribution explicitly supports.", + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/environment_marker" + } + }, + "install_hooks": { + "description": "The install_hooks field is used to define various operations that may be invoked on a distribution in a platform independent manner.", + "type": "object", + "properties": { + "postinstall": { + "type": "string", + "$ref": "#/definitions/export_specifier" + }, + "preuninstall": { + "type": "string", + "$ref": "#/definitions/export_specifier" + } + } + }, + "extensions": { + "description": "Extensions to the metadata may be present in a mapping under the 'extensions' key.", + "type": "object", + "$ref": "#/definitions/extensions" + } + }, + + "required": ["metadata_version", "name", "version", "summary"], + "additionalProperties": false, + + "definitions": { + "contact": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "email": { + "type": "string" + }, + "url": { + "type": "string" + }, + "role": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false + }, + "dependencies": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/dependency" + } + }, + "dependency": { + "type": "object", + "properties": { + "extra": { + "type": "string", + "$ref": "#/definitions/extra_name" + }, + "environment": { + "type": "string", + "$ref": "#/definitions/environment_marker" + }, + "requires": { + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/requirement" + } + } + }, + "required": ["requires"], + "additionalProperties": false + }, + "commands": { + "type": "object", + "properties": { + "wrap_console": { + "type": "object", + "$ref": "#/definitions/command_map" + }, + "wrap_gui": { + "type": "object", + "$ref": "#/definitions/command_map" + }, + "prebuilt": { + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/relative_path" + } + } + }, + "additionalProperties": false + }, + "exports": { + "type": "object", + "patternProperties": { + "^[A-Za-z][0-9A-Za-z_]*([.][0-9A-Za-z_]*)*$": { + "type": "object", + "patternProperties": { + ".": { + "type": "string", + "$ref": "#/definitions/export_specifier" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "extensions": { + "type": "object", + "patternProperties": { + "^[A-Za-z][0-9A-Za-z_]*([.][0-9A-Za-z_]*)*$": {} + }, + "additionalProperties": false + }, + "command_map": { + "type": "object", + "patternProperties": { + "^[0-9A-Za-z]([0-9A-Za-z_.-]*[0-9A-Za-z])?$": { + "type": "string", + "$ref": "#/definitions/export_specifier" + } + }, + "additionalProperties": false + }, + "distribution_name": { + "type": "string", + "pattern": "^[0-9A-Za-z]([0-9A-Za-z_.-]*[0-9A-Za-z])?$" + }, + "requirement": { + "type": "string" + }, + "provides_declaration": { + "type": "string" + }, + "environment_marker": { + "type": "string" + }, + "document_name": { + "type": "string" + }, + "extra_name" : { + "type": "string", + "pattern": "^[0-9A-Za-z]([0-9A-Za-z_.-]*[0-9A-Za-z])?$" + }, + "relative_path" : { + "type": "string" + }, + "export_specifier": { + "type": "string", + "pattern": "^([A-Za-z_][A-Za-z_0-9]*([.][A-Za-z_][A-Za-z_0-9]*)*)(:[A-Za-z_][A-Za-z_0-9]*([.][A-Za-z_][A-Za-z_0-9]*)*)?(\\[[0-9A-Za-z]([0-9A-Za-z_.-]*[0-9A-Za-z])?\\])?$" + }, + "qualified_name" : { + "type": "string", + "pattern": "^[A-Za-z_][A-Za-z_0-9]*([.][A-Za-z_][A-Za-z_0-9]*)*$" + }, + "prefixed_name" : { + "type": "string", + "pattern": "^[A-Za-z_][A-Za-z_0-9]*([.][A-Za-z_0-9]*)*$" + } + } +} diff --git a/python-wheel.spec b/python-wheel.spec new file mode 100644 index 0000000..0cd57ae --- /dev/null +++ b/python-wheel.spec @@ -0,0 +1,142 @@ +# Created by pyp2rpm-1.0.1 +%global pypi_name wheel +%global with_python3 1 + +Name: python-%{pypi_name} +Version: 0.22.0 +Release: 1%{?dist} +Summary: A built-package format for Python + +License: MIT +URL: http://bitbucket.org/dholth/wheel/ +Source0: https://pypi.python.org/packages/source/w/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +# Some test files are not present in tarball, so we include them separately. +# Upstream pull request to include the files in tarball: +# https://bitbucket.org/dholth/wheel/pull-request/34 (Patch0 below) +# (version 0.22 doesn't have a tag, so we're using commit hash to point to the +# correct testing wheel) +Source1: https://bitbucket.org/dholth/wheel/src/099352e/wheel/test/test-1.0-py2.py3-none-win32.whl +Source2: https://bitbucket.org/dholth/wheel/raw/099352e/wheel/test/pydist-schema.json +Patch0: wheel-0.22-add-test-files-to-manifest.path +Patch1: wheel-0.22-legacy-keyring-compatibility.patch +Patch2: wheel-0.22-fix-tests-broken-by-keyring-fix.patch +BuildArch: noarch + +BuildRequires: python-devel +BuildRequires: python-setuptools + +BuildRequires: pytest +BuildRequires: python-jsonschema +BuildRequires: python-keyring + +%if %{?with_python3} +BuildRequires: python3-devel +BuildRequires: python3-setuptools +%endif # if with_python3 + + +%description +A built-package format for Python. + +A wheel is a ZIP-format archive with a specially formatted filename and the +.whl extension. It is designed to contain all the files for a PEP 376 +compatible install in a way that is very close to the on-disk format. + +%if 0%{?with_python3} +%package -n python3-%{pypi_name} +Summary: A built-package format for Python + +%description -n python3-%{pypi_name} +A built-package format for Python. + +A wheel is a ZIP-format archive with a specially formatted filename and the +.whl extension. It is designed to contain all the files for a PEP 376 +compatible install in a way that is very close to the on-disk format. + +This is package contains Python 3 version of the package. +%endif # with_python3 + + +%prep +%setup -q -n %{pypi_name}-%{version} + +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +# copy test files in place +cp %{SOURCE1} %{pypi_name}/test/ +cp %{SOURCE2} %{pypi_name}/test/ +# header files just has to be there, even empty +touch %{pypi_name}/test/headers.dist/header.h + +# remove unneeded shebangs +sed -ie '1d' %{pypi_name}/{egg2wheel,wininst2wheel}.py + +%if 0%{?with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +%endif # with_python3 + + +%build +%{__python} setup.py build + +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py build +popd +%endif # with_python3 + + +%install +# Must do the subpackages' install first because the scripts in /usr/bin are +# overwritten with every setup.py install (and we want the python2 version +# to be the default for now). +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py install --skip-build --root %{buildroot} +popd +pushd %{buildroot}%{_bindir} +for f in $(ls); do mv $f python3-$f; done +popd +%endif # with_python3 + +%{__python} setup.py install --skip-build --root %{buildroot} + + +%check +# remove setup.cfg that makes pytest require pytest-cov (unnecessary dep) +rm setup.cfg +py.test --ignore build +# no test for Python 3, no python3-jsonschema yet +%if 0 +pushd %{py3dir} +rm setup.cfg +py.test-%{python3_version} --ignore build +popd +%endif # with_python3 + + +%files +%doc LICENSE.txt CHANGES.txt README.txt +%{_bindir}/egg2wheel +%{_bindir}/wheel +%{_bindir}/wininst2wheel +%{python_sitelib}/%{pypi_name}* +%exclude %{python_sitelib}/%{pypi_name}/test +%if 0%{?with_python3} + +%files -n python3-%{pypi_name} +%doc LICENSE.txt CHANGES.txt README.txt +%{_bindir}/python3-egg2wheel +%{_bindir}/python3-wheel +%{_bindir}/python3-wininst2wheel +%{python3_sitelib}/%{pypi_name}* +%exclude %{python3_sitelib}/%{pypi_name}/test +%endif # with_python3 + + +%changelog +* Thu Nov 28 2013 Bohuslav Kabrda - 0.22.0-1 +- Initial package. diff --git a/sources b/sources index e69de29..ffb19c8 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +16bb8eb3bdd3d93813295463bb949705 wheel-0.22.0.tar.gz diff --git a/test-1.0-py2.py3-none-win32.whl b/test-1.0-py2.py3-none-win32.whl new file mode 100644 index 0000000000000000000000000000000000000000..dfd307037d1954471a6eab339b103bd6f781ae07 GIT binary patch literal 5226 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 UGV<@2QW1ZyM5B2B{Z$G0KaW8C?EnA( literal 0 HcmV?d00001 diff --git a/wheel-0.22-add-test-files-to-manifest.path b/wheel-0.22-add-test-files-to-manifest.path new file mode 100644 index 0000000..2f10a21 --- /dev/null +++ b/wheel-0.22-add-test-files-to-manifest.path @@ -0,0 +1,11 @@ +diff -r e59e807a91a8 MANIFEST.in +--- a/MANIFEST.in Mon Sep 23 10:46:53 2013 +0200 ++++ b/MANIFEST.in Thu Nov 28 12:47:15 2013 +0100 +@@ -1,4 +1,7 @@ + include wheel/*.txt *.txt *.sh + recursive-include wheel/test *.py ++include wheel/test/test-1.0-py2.py3-none-win32.whl ++include wheel/test/headers.dist/header.h ++include wheel/test/pydist-schema.json + prune wheel/test/*/dist + prune wheel/test/*/build diff --git a/wheel-0.22-fix-tests-broken-by-keyring-fix.patch b/wheel-0.22-fix-tests-broken-by-keyring-fix.patch new file mode 100644 index 0000000..2a61c49 --- /dev/null +++ b/wheel-0.22-fix-tests-broken-by-keyring-fix.patch @@ -0,0 +1,19 @@ +diff -r e59e807a91a8 wheel/test/test_tool.py +--- a/wheel/test/test_tool.py Mon Sep 23 10:46:53 2013 +0200 ++++ b/wheel/test/test_tool.py Thu Nov 28 13:38:04 2013 +0100 +@@ -3,13 +3,14 @@ + def test_keygen(): + def get_keyring(): + WheelKeys, keyring = tool.get_keyring() +- + class WheelKeysTest(WheelKeys): + def save(self): + pass + + class keyringTest: + backend = keyring.backend ++ class backends: ++ file = keyring.backends.file + @classmethod + def get_keyring(cls): + class keyringTest2: diff --git a/wheel-0.22-legacy-keyring-compatibility.patch b/wheel-0.22-legacy-keyring-compatibility.patch new file mode 100644 index 0000000..219915d --- /dev/null +++ b/wheel-0.22-legacy-keyring-compatibility.patch @@ -0,0 +1,19 @@ +changeset: 313:e59e807a91a8 +tag: tip +user: Pierre Jaury +date: Mon Sep 23 10:46:53 2013 +0200 +summary: Fix #85 regarding backward compatibility with python-keyring <= 3.0 + +diff -r bae6c45073bd -r e59e807a91a8 wheel/tool/__init__.py +--- a/wheel/tool/__init__.py Sun Sep 15 18:08:42 2013 -0400 ++++ b/wheel/tool/__init__.py Mon Sep 23 10:46:53 2013 +0200 +@@ -47,7 +47,7 @@ + kr = keyring.get_keyring() + kr.set_password("wheel", vk, sk) + sys.stdout.write("Created Ed25519 keypair with vk={0}\n".format(vk)) +- if isinstance(kr, keyring.backend.BasicFileKeyring): ++ if isinstance(kr, keyring.backends.file.BaseKeyring): + sys.stdout.write("in {0}\n".format(kr.file_path)) + else: + sys.stdout.write("in %r\n" % kr.__class__) +