[PATCH 7 of 8] scripts/make-release: fix PyPI upload by using twine

Thomas De Schampheleire patrickdepinguin at gmail.com
Mon Mar 18 22:09:32 UTC 2019


# HG changeset patch
# User Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
# Date 1552946660 -3600
#      Mon Mar 18 23:04:20 2019 +0100
# Node ID 90ef58bf2e05a2c93c484211195d0f9e6e4581ab
# Parent  e1c96fb590cd101b0bd001f6729826401103472c
scripts/make-release: fix PyPI upload by using twine

Upload via 'python2 setup.py sdist upload' is deprecated.
Worse, it did not work from the default branch due to a unicode character in the README.rst file,
even though it was the same case on stable.

Following output is given:

    WARNING: Uploading via this command is deprecated, use twine to upload
    instead (https://pypi.org/p/twine/)
    Traceback (most recent call last):
      File "setup.py", line 160, in <module>
        """,
      File "/tmp/kallithea-release-JtnfD/lib/python2.7/site-packages/setuptools/__init__.py",
    line 145, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
        dist.run_commands()
      File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
        self.run_command(cmd)
      File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "/tmp/kallithea-release-JtnfD/lib/python2.7/site-packages/setuptools/command/upload.py",
    line 26, in run
        orig.upload.run(self)
      File "/usr/lib64/python2.7/distutils/command/upload.py", line 62, in run
        self.upload_file(command, pyversion, filename)
      File "/tmp/kallithea-release-JtnfD/lib/python2.7/site-packages/setuptools/command/upload.py",
    line 136, in upload_file
        value = str(value).encode('utf-8')
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position
    825: ordinal not in range(128)


Fix both points by using 'twine' to do the upload.

diff --git a/scripts/make-release b/scripts/make-release
--- a/scripts/make-release
+++ b/scripts/make-release
@@ -20,7 +20,7 @@ virtualenv -p python2 "$venv"
 
 echo "Install/verify tools needed for building and uploading stuff"
 pip install --upgrade -e .
-pip install --upgrade -r dev_requirements.txt
+pip install --upgrade -r dev_requirements.txt twine
 
 echo "Cleanup and update copyrights ... and clean checkout"
 scripts/run-all-cleanup
@@ -75,6 +75,5 @@ curl -X POST http://readthedocs.org/buil
 xdg-open https://readthedocs.org/builds/kallithea/
 xdg-open http://docs.kallithea-scm.org/en/latest/ # or whatever the branch is
 
-extraargs=${EMAIL:+--identity=$EMAIL}
-python2 setup.py sdist upload --sign $extraargs
+twine upload dist/*
 xdg-open https://pypi.python.org/pypi/Kallithea


More information about the kallithea-general mailing list