bpo-30368: Update build_ssl.py to restore Perl-less building#1805
bpo-30368: Update build_ssl.py to restore Perl-less building#1805vstinner merged 4 commits intopython:2.7from
Conversation
|
A couple of questions.
If (2) happens it would be a great time to fix (1) as well since changes for (2) require a "forced" OpenSSL rebuild on the buildbots, AFAIK. |
|
Your change has now conflicts and I have comments, but at least it works :-) I tested your change on Windows with Visual Studio 2008. Test 1 using build.bat: _ssl is correctly built Test 2 using VS GUI:
Oh, it seems like Perl is installed on my Windows. But without this change, I was unable to build _ssl for Python 2.7 in VS2008. |
PC/VS9.0/_hashlib.vcproj
Outdated
There was a problem hiding this comment.
I don't understand these changes: 9,00 replaced with 9.00. Revert them?
There was a problem hiding this comment.
That's changed by VisualStudio itself in accordance with machine's region settings. U.S. decimal point vs. European? decimal.
PCbuild/prepare_ssl.py
Outdated
There was a problem hiding this comment.
Please just write "# coding: utf8" to avoid issues.
There was a problem hiding this comment.
I opted for the Emacs/VI style mode-line to allow for trailing comment as to not have those editors complain. If that is a non-issue for them, even better.
There was a problem hiding this comment.
The this is recommended form of the encoding declaration per:
https://docs.python.org/3/reference/lexical_analysis.html#encoding-declarations
unless you are referring to the trailing comment.
The trailing comment is there to keep the line from being deleted again.
There was a problem hiding this comment.
The recommanded format is "# -- coding: --", not "# -- coding: -- for <2.7>/PC/VS9.0/build_ssl.py". I'm concerned by the trailing comment.
There was a problem hiding this comment.
I firmly believe that a comment is needed as this encoding decl has been removed once already. Not to mention that, with it removed, there will be no discernible issues with its removal until an updated OpenSSL is pushed to the buildbots. Especially due to the fact this is in a seldom used corner of the Python build process.
There was a problem hiding this comment.
"this encoding decl has been removed once already" I don't understand why someone would removing this encoding declaration, the file is encoded to UTF-8.
If you want to keep a comment, just put it on the following line, no?
There was a problem hiding this comment.
prepare_ssl.py is (currently) only used when pushing a new OpenSSL to the externals repo. Its purportedly to be run by python3 (see shebang), as all Python (Windows) releases use the same externals.
I generally prefer inline comments for "notes", especially compared to following comments, but not strongly enough to hold up this inclusion.
|
OK, I'm at wits end. Git is giving me fits trying to resolve this. I always end up with an error on push about fast-forwards. This should be SO much easier than this. All that changed was line-endings. |
|
What happened to this PR? Now you modified 197 files :-) |
OpenSSL 1.0.2 releases changed how files are copied in the makefile, thus causing Perl to be required even for Python's "prepared" OpenSSL. Now build_ssl.py does the requisite copies before running nmake.
* Updates SSL-linking projects to use the new include{suffix} directory
* build_ssl.py now only copies those files not handled by prepare_ssl.py
* Update SSL-linking projects to use the new include{suffix} directory
|
After sleeping on it and, apparently, the right google-fu, the command needed to merge changes made to EOL is: git pull --rebase -s recursive -X renormalize I believe that this should be mentioned somewhere in the devguide alongside a note about changes to .gitattributes wrt eol changes. This caused some serious hair-pulling. Update: missed the --rebase on the first attempt :) |
|
I always use just In rare cases, if the PR still was not reviewed, I can use |
|
I did those steps, however on pushing to origin, I ended up with errors regarding non-fast-forwards. |
|
Regarding the build tests, your test 2 (w/GUI) missed the step of |
OpenSSL 1.0.2 releases changed how files are copied in the makefile,
thus causing Perl to be required even for Python's "prepared" OpenSSL.
Now build_ssl.py does the requisite copies before running nmake.