Dropped python 2.6 support

and deprecate all versions of python 2, with a big-fat warning.
Python2 support will be fully removed in a later release.
This commit is contained in:
Davide Andreoli 2021-12-05 16:13:22 +01:00
parent 9dce9ccad4
commit 3ca71a067e
4 changed files with 55 additions and 31 deletions

57
CODING
View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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 ===