From 4fc8ee60d5983ec7509b6c4e468dbb3959fe19cb Mon Sep 17 00:00:00 2001 From: weiyaping Date: Tue, 19 Dec 2023 11:09:58 +0800 Subject: [PATCH] Don't count vendored code into coverage Signed-off-by: weiyaping --- ...est-cache-directory-to-gitignore-244.patch | 27 + ...anges-for-the-documentation-overhaul.patch | 908 ++++++++++++++++++ 0001-Use-https-for-link-in-docs-240.patch | 22 + python-wheel.spec | 9 +- 4 files changed, 965 insertions(+), 1 deletion(-) create mode 100644 0001-Add-new-Pytest-cache-directory-to-gitignore-244.patch create mode 100644 0001-Initial-changes-for-the-documentation-overhaul.patch create mode 100644 0001-Use-https-for-link-in-docs-240.patch diff --git a/0001-Add-new-Pytest-cache-directory-to-gitignore-244.patch b/0001-Add-new-Pytest-cache-directory-to-gitignore-244.patch new file mode 100644 index 0000000..a0c6371 --- /dev/null +++ b/0001-Add-new-Pytest-cache-directory-to-gitignore-244.patch @@ -0,0 +1,27 @@ +From 56022bcd023b10de355349dc68c8f5357826c1b8 Mon Sep 17 00:00:00 2001 +From: Jon Dufresne +Date: Mon, 16 Jul 2018 14:01:38 -0700 +Subject: [PATCH] Add new Pytest cache directory to gitignore (#244) + +Starting with Pytest 3.4.0 (2018-01-30), Pytest's cache directory was +renamed to .pytest_cache. + +https://docs.pytest.org/en/latest/changelog.html#pytest-3-4-0-2018-01-30 +--- + .gitignore | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.gitignore b/.gitignore +index 9a49a38..4a94d64 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -6,5 +6,6 @@ dist + docs/_build + __pycache__ + .coverage ++.pytest_cache/ + .tox + .idea +-- +2.42.0.windows.2 + diff --git a/0001-Initial-changes-for-the-documentation-overhaul.patch b/0001-Initial-changes-for-the-documentation-overhaul.patch new file mode 100644 index 0000000..004c410 --- /dev/null +++ b/0001-Initial-changes-for-the-documentation-overhaul.patch @@ -0,0 +1,908 @@ +From ab4acb2ef1c93747b1808d15331126fa483ce7da Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= +Date: Sun, 1 Oct 2017 22:11:27 +0300 +Subject: [PATCH] Initial changes for the documentation overhaul + +Fixes #122. +--- + README.rst | 52 +++---- + docs/development.rst | 33 ++++ + docs/index.rst | 286 +++-------------------------------- + docs/installing.rst | 24 +++ + CHANGES.txt => docs/news.rst | 196 ++++++++++++------------ + docs/quickstart.rst | 2 + + docs/reference/index.rst | 15 ++ + docs/user_guide.rst | 2 + + setup.py | 3 +- + 9 files changed, 212 insertions(+), 401 deletions(-) + create mode 100644 docs/development.rst + create mode 100644 docs/installing.rst + rename CHANGES.txt => docs/news.rst (89%) + create mode 100644 docs/quickstart.rst + create mode 100644 docs/reference/index.rst + create mode 100644 docs/user_guide.rst + +diff --git a/README.rst b/README.rst +index 3b8133c..0a3fac7 100644 +--- a/README.rst ++++ b/README.rst +@@ -1,43 +1,29 @@ +-Wheel ++wheel + ===== + +-A built-package format for Python. ++This library is the reference implementation of the Python wheel packaging ++standard, as defined in `PEP 427`_. + +-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. Many packages will be properly installed with only the "Unpack" +-step (simply extracting the file onto sys.path), and the unpacked archive +-preserves enough information to "Spread" (copy data and scripts to their +-final locations) at any later time. ++It has two different roles: + +-The wheel project provides a `bdist_wheel` command for setuptools +-(requires setuptools >= 0.8.0). Wheel files can be installed with a +-newer `pip` from https://github.com/pypa/pip or with wheel's own command +-line utility. ++#. A setuptools_ extension for building wheels that provides the ++ ``bdist_wheel`` setuptools command ++#. A command line tool for working with wheel files + +-The wheel documentation is at https://wheel.readthedocs.io/. The file format is +-documented in PEP 427 (https://www.python.org/dev/peps/pep-0427/). ++Links: + +-The reference implementation is at https://github.com/pypa/wheel ++* `Installation `_ ++* `Documentation `_ ++* `Changelog `_ ++* `GitHub Page `_ ++* `Issue Tracking `_ ++* `User mailing list `_ ++* `Dev mailing list `_ ++* User IRC: #pypa on Freenode ++* Dev IRC: #pypa-dev on Freenode + +-Why not egg? +------------- +- +-Python's egg format predates the packaging related standards we have +-today, the most important being PEP 376 "Database of Installed Python +-Distributions" which specifies the .dist-info directory (instead of +-.egg-info) and PEP 426 "Metadata for Python Software Packages 2.0" +-which specifies how to express dependencies (instead of requires.txt +-in .egg-info). +- +-Wheel implements these things. It also provides a richer file naming +-convention that communicates the Python implementation and ABI as well +-as simply the language version used in a particular package. +- +-Unlike .egg, wheel will be a fully-documented standard at the binary +-level that is truly easy to install even if you do not want to use the +-reference implementation. ++.. _PEP 427: https://www.python.org/dev/peps/pep-0427/ ++.. _setuptools: https://pypi.org/project/setuptools/ + + + Code of Conduct +diff --git a/docs/development.rst b/docs/development.rst +new file mode 100644 +index 0000000..b94ade1 +--- /dev/null ++++ b/docs/development.rst +@@ -0,0 +1,33 @@ ++Development ++=========== ++ ++Pull Requests ++------------- ++ ++- Submit Pull Requests against the `master` branch. ++- Provide a good description of what you're doing and why. ++- Provide tests that cover your changes and try to run the tests locally first. ++ ++**Example**. Assuming you set up GitHub account, forked wheel repository from ++https://github.com/pypa/wheel to your own page via web interface, and your ++fork is located at https://github.com/yourname/wheel ++ ++:: ++ ++ $ git clone git@github.com:pypa/wheel.git ++ $ cd wheel ++ # ... ++ $ git diff ++ $ git add ... ++ $ git status ++ $ git commit ++ ++You may reference relevant issues in commit messages (like #1259) to ++make GitHub link issues and commits together, and with phrase like ++"fixes #1259" you can even close relevant issues automatically. Now ++push the changes to your fork:: ++ ++ $ git push git@github.com:yourname/wheel.git ++ ++Open Pull Requests page at https://github.com/yourname/wheel/pulls and ++click "New pull request". That's it. +diff --git a/docs/index.rst b/docs/index.rst +index 053e324..8a8bd9d 100644 +--- a/docs/index.rst ++++ b/docs/index.rst +@@ -1,273 +1,31 @@ +-.. wheel documentation master file, created by +- sphinx-quickstart on Thu Jul 12 00:14:09 2012. +- You can adapt this file completely to your liking, but it should at least +- contain the root `toctree` directive. ++wheel ++===== + +-.. include:: ../README.rst ++`User list `_ | ++`Dev list `_ | ++`Github `_ | ++`PyPI `_ | ++User IRC: #pypa | ++Dev IRC: #pypa-dev + +-Usage +------ ++This library is the reference implementation of the Python wheel packaging ++standard, as defined in `PEP 427`_. + +-The current version of wheel can be used to speed up repeated +-installations by reducing the number of times you have to compile your +-software. When you are creating a virtualenv for each revision of your +-software the savings can be dramatic. This example packages pyramid +-and all its dependencies as wheels, and then installs pyramid from the +-built packages:: ++It has two different roles: + +- # Make sure you have the latest pip that supports wheel +- pip install --upgrade pip ++#. A setuptools_ extension for building wheels that provides the ++ ``bdist_wheel`` setuptools command ++#. A command line tool for working with wheel files + +- # Install wheel +- pip install wheel +- +- # Build a directory of wheels for pyramid and all its dependencies +- pip wheel --wheel-dir=/tmp/wheelhouse pyramid +- +- # Install from cached wheels +- pip install --no-index --find-links=/tmp/wheelhouse pyramid +- +- # Install from cached wheels remotely +- pip install --no-index --find-links=https://wheelhouse.example.com/ pyramid +- +- +-For lxml, an up to 3-minute "search for the newest version and compile" +-can become a less-than-1 second "unpack from wheel". +- +-As a side effect the wheel directory, "/tmp/wheelhouse" in the example, +-contains installable copies of the exact versions of your application's +-dependencies. By installing from those cached wheels +-you can recreate that environment quickly and with no surprises. +- +-To build an individual wheel, run ``python setup.py bdist_wheel``. Note that +-``bdist_wheel`` only works with setuptools (``import setuptools``); plain +-``distutils`` does not support pluggable commands like ``bdist_wheel``. On +-the other hand ``pip`` always runs ``setup.py`` with setuptools enabled. +- +-Wheel also includes its own installer that can only install wheels (not +-sdists) from a local file or folder, but has the advantage of working +-even when setuptools or pip has not been installed. +- +-Wheel's builtin utility can be invoked directly from wheel's own wheel:: +- +- $ python wheel-0.21.0-py2.py3-none-any.whl/wheel -h +- usage: wheel [-h] +- +- {keygen,sign,unsign,verify,unpack,install,install-scripts,convert,help} +- ... +- +- positional arguments: +- {keygen,sign,unsign,verify,unpack,install,install-scripts,convert,help} +- commands +- keygen Generate signing key +- sign Sign wheel +- unsign Remove RECORD.jws from a wheel by truncating the zip +- file. RECORD.jws must be at the end of the archive. +- The zip file must be an ordinary archive, with the +- compressed files and the directory in the same order, +- and without any non-zip content after the truncation +- point. +- verify Verify a wheel. The signature will be verified for +- internal consistency ONLY and printed. Wheel's own +- unpack/install commands verify the manifest against +- the signature and file contents. +- unpack Unpack wheel +- install Install wheels +- install-scripts Install console_scripts +- convert Convert egg or wininst to wheel +- help Show this help +- +- optional arguments: +- -h, --help show this help message and exit +- +-Setuptools scripts handling +---------------------------- +- +-Setuptools' popular `console_scripts` and `gui_scripts` entry points can +-be used to generate platform-specific scripts wrappers. Most usefully +-these wrappers include `.exe` launchers if they are generated on a +-Windows machine. +- +-As of 0.23.0, `bdist_wheel` no longer places pre-generated versions of these +-wrappers into the `*.data/scripts/` directory of the archive (non-setuptools +-scripts are still present, of course). +- +-If the scripts are needed, use a real installer like `pip`. The wheel tool +-`python -m wheel install-scripts package [package ...]` can also be used at +-any time to call setuptools to write the appropriate scripts wrappers. +- +-Defining the Python version +---------------------------- +- +-The `bdist_wheel` command automatically determines the correct tags to use for +-the generated wheel. These are based on the Python interpreter used to +-generate the wheel and whether the project contains C extension code or not. +-While this is usually correct for C code, it can be too conservative for pure +-Python code. The bdist_wheel command therefore supports two flags that can be +-used to specify the Python version tag to use more precisely:: +- +- --universal Specifies that a pure-python wheel is "universal" +- (i.e., it works on any version of Python). This +- equates to the tag "py2.py3". +- --python-tag XXX Specifies the precise python version tag to use for +- a pure-python wheel. +- --py-limited-api {cp32|cp33|cp34|...} +- Specifies Python Py_LIMITED_API compatibility with +- the version of CPython passed and later versions. +- The wheel will be tagged cpNN.abi3.{arch} on CPython 3. +- This flag does not affect Python 2 builds or alternate +- Python implementations. +- +- To conform to the limited API, all your C +- extensions must use only functions from the limited +- API, pass Extension(py_limited_api=True) and e.g. +- #define Py_LIMITED_API=0x03020000 depending on +- the exact minimun Python you wish to support. +- +-The --universal and --python-tag flags have no effect when used on a +-project that includes C extension code. +- +-The default for a pure Python project (if no explicit flags are given) is "pyN" +-where N is the major version of the Python interpreter used to build the wheel. +-This is generally the correct choice, as projects would not typically ship +-different wheels for different minor versions of Python. +- +-A reasonable use of the `--python-tag` argument would be for a project that +-uses Python syntax only introduced in a particular Python version. There are +-no current examples of this, but if wheels had been available when Python 2.5 +-was released (the first version containing the `with` statement), wheels for a +-project that used the `with` statement would typically use `--python-tag py25`. +-However, unless a separate version of the wheel was shipped which avoided the +-use of the new syntax, there is little benefit in explicitly marking the tag in +-this manner. +- +-Typically, projects would not specify Python tags on the command line, but +-would use `setup.cfg` to set them as a project default:: +- +- [bdist_wheel] +- universal=1 +- +-or:: +- +- [bdist_wheel] +- python-tag = py32 +- +-Defining conditional dependencies +---------------------------------- +- +-In wheel, the only way to have conditional dependencies (that might only be +-needed on certain platforms) is to use environment markers as defined by +-:pep:`508`. +- +-As of wheel 0.24.0, the recommended way to do this is in the setuptools +-``extras_require`` parameter. A ``:`` separates the extra name from the marker. +-Wheel's own setup.py has an example:: +- +- extras_require={ +- 'signatures': ['keyring'], +- 'signatures:sys_platform!="win32"': ['pyxdg'], +- 'faster-signatures': ['ed25519ll'] +- }, +- +-Leaving out the name of the extra (like with "argparse" here) means that only +-the conditions after ``:`` determine whether the dependencies will be installed +-or not. +- +-As of setuptools 36.2.1, you can pass extras as part of ``install_requires``. +-The above requirements could thus be written like this:: +- +- install_requires=[ +- 'keyring; extra=="signatures"', +- 'pyxdg; extra=="signatures" and sys_platform!="win32"', +- 'ed25519ll; extra=="faster-signatures"' +- ] +- +-Alternatively (as of setuptools 36.2.7), you can specify your requirements in +-the ``[options]`` section of your setup.cfg: +- +-.. code-block:: cfg +- +- [options] +- install_requires = +- argparse; python_version=="2.6" +- keyring; extra=="signatures" +- pyxdg; extra=="signatures" and sys_platform!="win32" +- ed25519ll; extra=="faster-signatures" +- +-.. warning:: Specifying extras via ``install_requires`` does not yet work with +- pip (v9.0.1 as of this writing). +- +-Including the license in the generated wheel file +-------------------------------------------------- +- +-Several open source licenses require the license text to be included in every +-distributable artifact of the project. Currently, the only way to to do this +-with "wheel" is to specify the ``license_file`` key in the ``[metadata]`` +-section of the project's ``setup.cfg``: +- +-.. code-block:: cfg +- +- [metadata] +- license_file = LICENSE.txt +- +-The file path should be relative to the project root. The file will be +-packaged as ``LICENSE.txt`` (regardless of the original name) in the +-``.dist-info`` directory in the wheel. +- +-There is currently no way to include multiple license related files, but +-this is going to change in the near future. You can track the progress +-by subscribing to `issue 138`_ on Github. +- +-.. _issue 138: https://github.com/pypa/wheel/issues/138 +- +-Automatically sign wheel files +------------------------------- +- +-Wheel contains an experimental digital signatures scheme based on Ed25519 +-signatures; these signatures are unrelated to pgp/gpg signatures and do not +-include a trust model. +- +-`python setup.py bdist_wheel` will automatically sign wheel files if +-the environment variable `WHEEL_TOOL` is set to the path of the `wheel` +-command line tool.:: +- +- # Install wheel with dependencies for generating signatures +- $ pip install wheel[signatures] +- # Generate a signing key (only once) +- $ wheel keygen +- +- $ export WHEEL_TOOL=/path/to/wheel +- $ python setup.py bdist_wheel +- +-Signing is done in a subprocess because it is not convenient for the +-build environment to contain bindings to the keyring and cryptography +-libraries. The keyring library may not be able to find your keys (choosing +-a different key storage back end based on available dependencies) unless +-you run it from the same environment used for keygen. +- +-.. warning:: This functionality has been scheduled for removal before the +- v1.0.0 release. +- +-.. note:: You can also include the ``faster-signatures`` extra when +- installing "wheel" to improve the performance of wheel signing. +- +-Format +------- +- +-The wheel format is documented as PEP 427 "The Wheel Binary Package +-Format..." (https://www.python.org/dev/peps/pep-0427/). +- +-Slogans +-------- +- +-Wheel +- +-* Because ‘newegg’ was taken. +-* Python packaging - reinvented. +-* A container for cheese. +-* It makes it easier to roll out software. ++.. _PEP 427: https://www.python.org/dev/peps/pep-0427/ ++.. _setuptools: https://pypi.org/project/setuptools/ + + .. toctree:: + :maxdepth: 2 + +- story ++ quickstart ++ installing ++ user_guide ++ reference/index ++ development ++ news +\ No newline at end of file +diff --git a/docs/installing.rst b/docs/installing.rst +new file mode 100644 +index 0000000..d616608 +--- /dev/null ++++ b/docs/installing.rst +@@ -0,0 +1,24 @@ ++Installation ++============ ++ ++You can use pip_ to install wheel:: ++ ++ pip install wheel ++ ++If you do not have pip_ installed, see its documentation for `installation instructions`_. ++ ++If you prefer using your system package manager to install Python packages, you can typically ++find the wheel package under one of the following package names: ++ ++* python-wheel ++* python2-wheel ++* python3-wheel ++ ++.. _pip: https://pip.pypa.io/en/stable/ ++.. _installation instructions: https://pip.pypa.io/en/stable/installing/ ++ ++Python and OS Compatibility ++--------------------------- ++ ++wheel should work on any Python implementation and operating system and is compatible with Python ++version 2.7 and upwards of 3.4. +diff --git a/CHANGES.txt b/docs/news.rst +similarity index 89% +rename from CHANGES.txt +rename to docs/news.rst +index a2e5b0a..263b026 100644 +--- a/CHANGES.txt ++++ b/docs/news.rst +@@ -1,9 +1,12 @@ +-0.31.1 +-====== ++Release Notes ++============= ++ ++**0.31.1** ++ + - Fixed arch as ``None`` when converting eggs to wheels + +-0.31.0 +-====== ++**0.31.0** ++ + - Fixed displaying of errors on Python 3 + - Fixed single digit versions in wheel files not being properly recognized + - Fixed wrong character encodings being used (instead of UTF-8) to read and +@@ -16,34 +19,34 @@ + - Deprecated all wheel signing and signature verification commands + - Removed the (already defunct) ``tool`` extras from setup.py + +-0.30.0 +-====== ++**0.30.0** ++ + - Added py-limited-api {cp32|cp33|cp34|...} flag to produce cpNN.abi3.{arch} + tags on CPython 3. + - Documented the ``license_file`` metadata key +-- Improved Python, abi tagging for `wheel convert`. Thanks Ales Erjavec. +-- Fixed `>` being prepended to lines starting with "From" in the long description ++- Improved Python, abi tagging for ``wheel convert``. Thanks Ales Erjavec. ++- Fixed ``>`` being prepended to lines starting with "From" in the long description + - Added support for specifying a build number (as per PEP 427). + Thanks Ian Cordasco. + - Made the order of files in generated ZIP files deterministic. + Thanks Matthias Bach. + - Made the order of requirements in metadata deterministic. Thanks Chris Lamb. +-- Fixed `wheel install` clobbering existing files ++- Fixed ``wheel install`` clobbering existing files + - Improved the error message when trying to verify an unsigned wheel file + - Removed support for Python 2.6, 3.2 and 3.3. + +-0.29.0 +-====== ++**0.29.0** ++ + - Fix compression type of files in archive (Issue #155, Pull Request #62, + thanks Xavier Fernandez) + +-0.28.0 +-====== ++**0.28.0** ++ + - Fix file modes in archive (Issue #154) + +-0.27.0 +-====== +-- Support forcing a platform tag using `--plat-name` on pure-Python wheels, as ++**0.27.0** ++ ++- Support forcing a platform tag using ``--plat-name`` on pure-Python wheels, as + well as nonstandard platform tags on non-pure wheels (Pull Request #60, Issue + #144, thanks Andrés Díaz) + - Add SOABI tags to platform-specific wheels built for Python 2.X (Pull Request +@@ -56,16 +59,16 @@ + - Use the file context manager when checking if dependency_links.txt is empty, + fixes problems building wheels under PyPy on Windows (Issue #150, thanks + Cosimo Lupo) +-- Don't attempt to (recursively) create a build directory ending with `..` ++- Don't attempt to (recursively) create a build directory ending with ``..`` + (invalid on all platforms, but code was only executed on Windows) (Issue #91) + - Added the PyPA Code of Conduct (Pull Request #56) + +-0.26.0 +-====== ++**0.26.0** ++ + - Fix multiple entrypoint comparison failure on Python 3 (Issue #148) + +-0.25.0 +-====== ++**0.25.0** ++ + - Add Python 3.5 to tox configuration + - Deterministic (sorted) metadata + - Fix tagging for Python 3.5 compatibility +@@ -73,8 +76,8 @@ + - Treat data-only wheels as pure + - Write to temporary file and rename when using wheel install --force + +-0.24.0 +-====== ++**0.24.0** ++ + - The python tag used for pure-python packages is now .pyN (major version + only). This change actually occurred in 0.23.0 when the --python-tag + option was added, but was not explicitly mentioned in the changelog then. +@@ -87,8 +90,8 @@ + should work the same whether the package is installed by wheel or + by setup.py. + +-0.23.0 +-====== ++**0.23.0** ++ + - Compatibility tag flags added to the bdist_wheel command + - sdist should include files necessary for tests + - 'wheel convert' can now also convert unpacked eggs to wheel +@@ -101,15 +104,15 @@ + command can be used to generate the scripts in such cases. + - Thank you contributors + +-0.22.0 +-====== ++**0.22.0** ++ + - Include entry_points.txt, scripts a.k.a. commands, in experimental + pydist.json + - Improved test_requires parsing + - Python 2.6 fixes, "wheel version" command courtesy pombredanne + +-0.21.0 +-====== ++**0.21.0** ++ + - Pregenerated scripts are the default again. + - "setup.py bdist_wheel --skip-scripts" turns them off. + - setuptools is no longer a listed requirement for the 'wheel' +@@ -117,100 +120,89 @@ + to work. + - "python -m wheel" avoids importing pkg_resources until it's necessary. + +-0.20.0 +-====== ++**0.20.0** ++ + - No longer include console_scripts in wheels. Ordinary scripts (shell files, + standalone Python files) are included as usual. + - Include new command "python -m wheel install-scripts [distribution + [distribution ...]]" to install the console_scripts (setuptools-style + scripts using pkg_resources) for a distribution. + +-0.19.0 +-====== ++**0.19.0** ++ + - pymeta.json becomes pydist.json + +-0.18.0 +-====== ++**0.18.0** ++ + - Python 3 Unicode improvements + +-0.17.0 +-====== ++**0.17.0** ++ + - Support latest PEP-426 "pymeta.json" (json-format metadata) + +-0.16.0 +-====== +-- Python 2.6 compatibility bugfix (thanks John McFarlane) +-- Non-prerelease version number ++**0.16.0** + +-1.0.0a2 +-======= ++- Python 2.6 compatibility bugfix (thanks John McFarlane) + - Bugfix for C-extension tags for CPython 3.3 (using SOABI) +- +-1.0.0a1 +-======= + - Bugfix for bdist_wininst converter "wheel convert" + - Bugfix for dists where "is pure" is None instead of True or False +- +-1.0.0a0 +-======= +-- Update for version 1.0 of Wheel (PEP accepted). + - Python 3 fix for moving Unicode Description to metadata body + - Include rudimentary API documentation in Sphinx (thanks Kevin Horn) + +-0.15.0 +-====== ++**0.15.0** ++ + - Various improvements + +-0.14.0 +-====== ++**0.14.0** ++ + - Changed the signature format to better comply with the current JWS spec. + Breaks all existing signatures. + - Include ``wheel unsign`` command to remove RECORD.jws from an archive. + - Put the description in the newly allowed payload section of PKG-INFO + (METADATA) files. + +-0.13.0 +-====== ++**0.13.0** ++ + - Use distutils instead of sysconfig to get installation paths; can install + headers. + - Improve WheelFile() sort. + - Allow bootstrap installs without any pkg_resources. + +-0.12.0 +-====== ++**0.12.0** ++ + - Unit test for wheel.tool.install + +-0.11.0 +-====== ++**0.11.0** ++ + - API cleanup + +-0.10.3 +-====== ++**0.10.3** ++ + - Scripts fixer fix + +-0.10.2 +-====== ++**0.10.2** ++ + - Fix keygen + +-0.10.1 +-====== ++**0.10.1** ++ + - Preserve attributes on install. + +-0.10.0 +-====== ++**0.10.0** ++ + - Include a copy of pkg_resources. Wheel can now install into a virtualenv + that does not have distribute (though most packages still require + pkg_resources to actually work; wheel install distribute) + - Define a new setup.cfg section [wheel]. universal=1 will + apply the py2.py3-none-any tag for pure python wheels. + +-0.9.7 +-===== ++**0.9.7** ++ + - Only import dirspec when needed. dirspec is only needed to find the + configuration for keygen/signing operations. + +-0.9.6 +-===== ++**0.9.6** ++ + - requires-dist from setup.cfg overwrites any requirements from setup.py + Care must be taken that the requirements are the same in both cases, + or just always install from wheel. +@@ -218,8 +210,8 @@ + - improved command line utility, adds 'wheel convert [egg or wininst]' to + convert legacy binary formats to wheel + +-0.9.5 +-===== ++**0.9.5** ++ + - Wheel's own wheel file can be executed by Python, and can install itself: + ``python wheel-0.9.5-py27-none-any/wheel install ...`` + - Use argparse; basic ``wheel install`` command should run with only stdlib +@@ -228,78 +220,78 @@ + dependencies in setup.py, but will only be interpreted when installing + from wheel, not from sdist. Can be qualified with environment markers. + +-0.9.4 +-===== ++**0.9.4** ++ + - Fix wheel.signatures in sdist + +-0.9.3 +-===== ++**0.9.3** ++ + - Integrated digital signatures support without C extensions. + - Integrated "wheel install" command (single package, no dependency + resolution) including compatibility check. + - Support Python 3.3 + - Use Metadata 1.3 (PEP 426) + +-0.9.2 +-===== ++**0.9.2** ++ + - Automatic signing if WHEEL_TOOL points to the wheel binary + - Even more Python 3 fixes + +-0.9.1 +-===== ++**0.9.1** ++ + - 'wheel sign' uses the keys generated by 'wheel keygen' (instead of generating + a new key at random each time) + - Python 2/3 encoding/decoding fixes + - Run tests on Python 2.6 (without signature verification) + +-0.9 +-=== ++**0.9** ++ + - Updated digital signatures scheme + - Python 3 support for digital signatures + - Always verify RECORD hashes on extract + - "wheel" command line tool to sign, verify, unpack wheel files + +-0.8 +-=== ++**0.8** ++ + - none/any draft pep tags update + - improved wininst2wheel script + - doc changes and other improvements + +-0.7 +-=== ++**0.7** ++ + - sort .dist-info at end of wheel archive + - Windows & Python 3 fixes from Paul Moore + - pep8 + - scripts to convert wininst & egg to wheel + +-0.6 +-=== ++**0.6** ++ + - require distribute >= 0.6.28 + - stop using verlib + +-0.5 +-=== ++**0.5** ++ + - working pretty well + +-0.4.2 +-===== ++**0.4.2** ++ + - hyphenated name fix + +-0.4 +-=== ++**0.4** ++ + - improve test coverage + - improve Windows compatibility + - include tox.ini courtesy of Marc Abramowitz + - draft hmac sha-256 signing function + +-0.3 +-=== ++**0.3** ++ + - prototype egg2wheel conversion script + +-0.2 +-=== ++**0.2** ++ + - Python 3 compatibility + +-0.1 +-=== ++**0.1** ++ + - Initial version +diff --git a/docs/quickstart.rst b/docs/quickstart.rst +new file mode 100644 +index 0000000..764b157 +--- /dev/null ++++ b/docs/quickstart.rst +@@ -0,0 +1,2 @@ ++Quickstart ++========== +diff --git a/docs/reference/index.rst b/docs/reference/index.rst +new file mode 100644 +index 0000000..21fdbeb +--- /dev/null ++++ b/docs/reference/index.rst +@@ -0,0 +1,15 @@ ++Reference Guide ++=============== ++ ++.. toctree:: ++ :maxdepth: 2 ++ ++ wheel ++ wheel_keygen ++ wheel_sign ++ wheel_unsign ++ wheel_verify ++ wheel_unpack ++ wheel_install ++ wheel_install_scripts ++ wheel_convert +diff --git a/docs/user_guide.rst b/docs/user_guide.rst +new file mode 100644 +index 0000000..62b8c5a +--- /dev/null ++++ b/docs/user_guide.rst +@@ -0,0 +1,2 @@ ++User Guide ++========== +diff --git a/setup.py b/setup.py +index 10716db..f6a6b5e 100644 +--- a/setup.py ++++ b/setup.py +@@ -8,7 +8,6 @@ from setuptools import setup, find_packages + + here = os.path.abspath(os.path.dirname(__file__)) + README = io.open(os.path.join(here, 'README.rst'), encoding='utf8').read() +-CHANGES = io.open(os.path.join(here, 'CHANGES.txt'), encoding='utf8').read() + + with io.open(os.path.join(here, 'wheel', '__init__.py'), encoding='utf8') as version_file: + metadata = dict(re.findall(r"""__([a-z]+)__ = "([^"]+)""", version_file.read())) +@@ -16,7 +15,7 @@ with io.open(os.path.join(here, 'wheel', '__init__.py'), encoding='utf8') as ver + setup(name='wheel', + version=metadata['version'], + description='A built-package format for Python.', +- long_description=README + '\n\n' + CHANGES, ++ long_description=README, + classifiers=[ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", +-- +2.42.0.windows.2 + diff --git a/0001-Use-https-for-link-in-docs-240.patch b/0001-Use-https-for-link-in-docs-240.patch new file mode 100644 index 0000000..2a28350 --- /dev/null +++ b/0001-Use-https-for-link-in-docs-240.patch @@ -0,0 +1,22 @@ +From 3c7b6a0d13ee036ea8f6488ab4ecddd9826c00db Mon Sep 17 00:00:00 2001 +From: Jon Dufresne +Date: Mon, 16 Jul 2018 14:41:15 -0700 +Subject: [PATCH] Use https:// for link in docs (#240) + +--- + manpages/wheel.rst | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/manpages/wheel.rst b/manpages/wheel.rst +index 2dd3b93..2669098 100644 +--- a/manpages/wheel.rst ++++ b/manpages/wheel.rst +@@ -60,4 +60,4 @@ Options + -h, --help show this help message and exit + + +-.. _`PEP 427`: http://legacy.python.org/dev/peps/pep-0427/ ++.. _`PEP 427`: https://www.python.org/dev/peps/pep-0427/ +-- +2.42.0.windows.2 + diff --git a/python-wheel.spec b/python-wheel.spec index efd6ecd..fb9e519 100644 --- a/python-wheel.spec +++ b/python-wheel.spec @@ -2,7 +2,7 @@ Name: python-wheel Version: 0.31.1 Release: 5 -Epoch: 1 +Epoch: 2 Summary: Built-package format for Python License: MIT URL: https://github.com/pypa/wheel @@ -11,6 +11,10 @@ BuildArch: noarch Patch0000: remove-keyrings.alt-dependency.patch Patch0001: 0001-Enabled-Intersphinx-linking-to-Python-documentation.patch +Patch0002: 0001-Add-new-Pytest-cache-directory-to-gitignore-244.patch +#Patch0003: 0001-Initial-changes-for-the-documentation-overhaul.patch +#Patch0004: 0001-Use-https-for-link-in-docs-240.patch + %description A built-package format for Python. @@ -117,6 +121,9 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-3 -v --ignore build %endif %changelog +* Tue Dec 19 2023 liubo - 1:0.31.1-6 +- Don't count vendored code into coverage + * Mon Nov 27 2023 liubo - 1:0.31.1-5 - Enabled Intersphinx linking to Python documentation -- Gitee