[3.4] bpo-29591, bpo-30694: Upgrade Modules/expat to libexpat 2.2.1 (#2164) by vstinner · Pull Request #2203 · python/cpython (original) (raw)

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation6 Commits4 Checks0 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

vstinner

Remove the configuration (Modules/expat/*config.h) of unsupported
platforms:

The XML_HAS_SET_HASH_SALT define of Modules/expat/expat.h became
useless since our local expat copy was upgrade to expat 2.1 (it's now
expat 2.2.0).

(cherry picked from commit 23ec4b5)

@vstinner

Oh... Travis CI and AppVeyor are not configured on the 3.4 branch :-(

@vstinner vstinner changed the title[3.4] bpo-29591: Upgrade Modules/expat to libexpat 2.2 (#2164) [3.4] bpo-29591: Upgrade Modules/expat to libexpat 2.2.1 (#2164)

Jun 23, 2017

@vstinner

I updated my PR to now upgrade libexpat from 2.1.1 to 2.2.1 (previously, it was to upgrade to 2.2.0). I also included PCbuild/_elementtree.vcxproj changes to fix compiler warnings.

@larryhastings

I asked some questions on bpo. I expect to accept this PR once these three things are true:

@vstinner

Remove the configuration (Modules/expat/*config.h) of unsupported platforms:

The XML_HAS_SET_HASH_SALT define of Modules/expat/expat.h became useless since our local expat copy was upgrade to expat 2.1 (it's now expat 2.2.0).

(cherry picked from commit 23ec4b5)

@vstinner

New file: Modules/expat/siphash.h. (cherry picked from commit 5ff7132)

@vstinner @jkloth

bpo-30726, bpo-29591: libexpat 2.2.1 of Modules/expat/ now uses a winconfig.h configuration file which already defines:

Remove these defines from PCbuild/_elementtree.vcxproj to prevent compiler warnings.

Co-Authored-By: Jeremy Kloth jeremy.kloth@gmail.com (cherry picked from commit c8fb58b)

@segevfiner @vstinner

…2319)

Caused by usage of getenv which should be safe. And a few integer truncations which should also be ok.

(cherry picked from commit 87c6555)

@vstinner vstinner changed the title[3.4] bpo-29591: Upgrade Modules/expat to libexpat 2.2.1 (#2164) [3.4] bpo-29591, bpo-30694: Upgrade Modules/expat to libexpat 2.2.1 (#2164)

Jul 11, 2017

@vstinner

I converted NEWS entries to NEWS.d files using blurb and I rebased the PR.

I revalidated with my rebuild_expat_dir.sh script attached to http://bugs.python.org/issue30694 that Modules/expat/ is a copy of libexpat 2.1.1 with a single line of change, add ``#include "pyexpatns.h"```.

I also tested after git clean -fdx that test_pyexpat still pass.

I confirm that the change has been sufficiently reviewed,

This PR is made of 4 commits which are straighforward backports, the two major backported commits (expat 2.2.0 and 2.2.1) were reviewed by @tiran and @gpshead.

@larryhastings

Merged.

One minor note: blurb sorts the entries from NEWS.d based on filename, which contains the time. Right now the generated NEWS file will list the "upgrade expat from 2.1.1 to 2.2.0" first, then list the "upgrade expat from 2.2.0 to 2.2.1". Since everybody knows NEWS entries are strictly sorted chronologically with newest entries first ;-) this might look a bit strange.

To fix it, just rename one of the two blurbs so they sort in the opposite order. Or you could just leave it, nbd.

@vstinner

Thanks!

I don't think that the NEWS order of these two fixes matter much ;-)