Initial import rhbz#1035770
This commit is contained in:
parent
bbc64a621e
commit
62eec5b56e
1
.gitignore
vendored
1
.gitignore
vendored
@ -0,0 +1 @@
|
||||
/wheel-0.22.0.tar.gz
|
341
pydist-schema.json
Normal file
341
pydist-schema.json
Normal file
@ -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]*)*$"
|
||||
}
|
||||
}
|
||||
}
|
142
python-wheel.spec
Normal file
142
python-wheel.spec
Normal file
@ -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 <bkabrda@redhat.com> - 0.22.0-1
|
||||
- Initial package.
|
BIN
test-1.0-py2.py3-none-win32.whl
Normal file
BIN
test-1.0-py2.py3-none-win32.whl
Normal file
Binary file not shown.
11
wheel-0.22-add-test-files-to-manifest.path
Normal file
11
wheel-0.22-add-test-files-to-manifest.path
Normal file
@ -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
|
19
wheel-0.22-fix-tests-broken-by-keyring-fix.patch
Normal file
19
wheel-0.22-fix-tests-broken-by-keyring-fix.patch
Normal file
@ -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:
|
19
wheel-0.22-legacy-keyring-compatibility.patch
Normal file
19
wheel-0.22-legacy-keyring-compatibility.patch
Normal file
@ -0,0 +1,19 @@
|
||||
changeset: 313:e59e807a91a8
|
||||
tag: tip
|
||||
user: Pierre Jaury <pierre@jaury.eu>
|
||||
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__)
|
||||
|
Loading…
Reference in New Issue
Block a user