diff --git a/CODING b/CODING index a91447f..0f9f1ef 100644 --- a/CODING +++ b/CODING @@ -99,42 +99,45 @@ Release process instructions ============================ * use "api_coverage.py --python elementary" to see the missing bindings -* Announce at enlightenment-release@lists.sourceforge.net and - enlightenment-devel@lists.sourceforge.net that you are planning for the release -* Change versions in efl/__init__.py (ex: 1.9.0) + +* Change versions in efl/__init__.py (ex: 1.9.0), if needed also update + EFL_MIN_VER in setup.py + * Update the ChangeLog file: - setup.py build_doc -b changes ...and manually merge from the html file -* Git push and wait jenkins to generate the tarballs and the documentation - JENKIS IS DEAD :( these are the manual instructions: - * setup.py sdist --formats gztar,xztar - * (cd dist) sha256sum python-efl-1.9.0.tar.xz > python-efl-1.9.0.tar.xz.sha256 - * setup.py build_doc (check that inheritance graphs are there) + setup.py build_doc -b changes ...and manually merge from the html file + +* Generate the source and binary distribution: + - make maintainer-clean (just to be sure nothing is cached) + - make dist + * Test the generated tarballs -* scp tarballs & md5sums to: - download.enlightenment.org:/srv/web/download.enlightenment.org/pre-releases/ -* Announce at enlightenment-release@lists.sourceforge.net and - enlightenment-devel@lists.sourceforge.net that tarballs are ready for testing + - the tar.gz should work by extracting and running: python setup.py install + - the wheel should be installable using: pip install dist/python-efl-xxxx.whl -... wait 24 hours, fix any issues found. In the mean time you can prepare the - release announcement for phame/ml. +* Publish the two tarballs on e.org: + - scp tarballs & md5sums to: + download.enlightenment.org:/srv/web/download.enlightenment.org/rel/bindings/python/ + - update download link on the wiki (www.enlightenment.org/download) + +* Pubish the .tar.gz archive to pypi: + - python setup.py sdist upload (need ~/.pypirc) + - TODO !!!!!!! + +* Documentation: + - make doc (check that inheritance graphs are there) + - scp the generated html documentation to: + download.enlightenment.org:/srv/web/docs.enlightenment.org/python-efl/1.9.0/ + - update the 'current' link on the server (ssh) -* ssh to download.enlightenment.org and mv tarballs & md5sums to: - /srv/web/download.enlightenment.org/rel/bindings/python/ -* Upload the .tar.gz archive to pypi: - - NOTE: pypi is migrating to pypi.org domain, you must work on the new one - - python setup.py sdist upload (need ~/.pypirc) - - more info at https://packaging.python.org/guides/migrating-to-pypi-org/ * Create and push the tag for the release - git tag -a v1.9.0 && git push origin v1.9.0 + - git tag -a v1.9.0 && git push origin v1.9.0 + * Create and push the branch for stable backporting git branch python-efl-1.9 && git push origin python-efl-1.9 -* scp the jenkins generated html documentation to: - download.enlightenment.org:/srv/web/docs.enlightenment.org/python-efl/1.XX.0/ - and update the 'current' link on the server (ssh) -* Update download link on the wiki (www.enlightenment.org/download) -* Publish the blog post on phame (Official Announcements) + * Announce the release to release@lists.enlightenment.org and enlightenment-release@lists.sourceforge.net + * Change versions again in efl/__init__.py (ex: 1.9.99) more info at: diff --git a/ChangeLog b/ChangeLog index 8f0a7f7..44ecacb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +=================== +TO BE DONE v1.26.0 +=================== + +Changes: + * Switched to setuptools for the build system (can now install from pip again) + * Dropped py2.6 support, minimum is now 2.7 + * Deprecated python2 support, with a big-fat-slow warning + =================== 2020-09-24 v1.25.0 diff --git a/Makefile b/Makefile index 76d5bff..9d0a7d9 100644 --- a/Makefile +++ b/Makefile @@ -61,5 +61,8 @@ maintainer-clean: .PHONY: dist dist: $(PY) setup.py sdist --formats=gztar,xztar - - + $(PY) setup.py bdist_wheel + @cd dist/; for f in `ls *.tar.*` ; do \ + echo Generating sha256 for: $$f ; \ + sha256sum $$f > $$f.sha256; \ + done diff --git a/setup.py b/setup.py index 11b9968..8ec8118 100755 --- a/setup.py +++ b/setup.py @@ -3,6 +3,7 @@ import os import sys +import time import platform import subprocess import unittest @@ -55,9 +56,17 @@ sys.stdout.write('Python-EFL: %s\n' % RELEASE) sys.stdout.write('Checking for Python: ') py_ver = sys.version_info py_ver = '%s.%s.%s' % (py_ver[0], py_ver[1], py_ver[2]) -if sys.hexversion < 0x020600f0: - raise SystemExit('too old. Found: %s Need at least 2.6.0' % py_ver) +if sys.hexversion < 0x020700f0: + raise SystemExit('too old. Found: %s Need at least 2.7.0' % py_ver) sys.stdout.write('OK, found %s\n' % py_ver) +if sys.version_info.major == 2: + print( + '\n' + 'WARNING: Python 2 support is deprecated and will be removed soon.\n' + ' You should really upgrade to python 3, NOW !\n' + ' ...you have been warned, continue at your own risk.\n' + ) + time.sleep(5) # you really need to read the above message :P # === use cython or pre-generated C files ===