[PATCH STABLE] packaging: add make target for linux wheels
raf at durin42.com
Thu Apr 27 12:58:08 EDT 2017
On Thu, Apr 27, 2017 at 12:53 PM, Boris Feld <boris.feld at octobus.net> wrote:
> On 27/04/2017 16:17, Augie Fackler wrote:
> On Wed, Apr 26, 2017 at 07:01:37PM +0200, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1493131801 -7200
> # Tue Apr 25 16:50:01 2017 +0200
> # Branch stable
> # Node ID 9605a99df098d4e6e3b0943982a21fea6a9421f9
> # Parent 6e0368b6e0bb2aa5210daec091c0200583553a78
> packaging: add make target for linux wheels
> Having linux wheels is going to helps system without compiler or python-dev
> plus speed up the installation for everyone.
> I followed the manylinux example repository
> to add a make target (build-linux-wheels) using
> official docker image to build python 2 linux wheels
> for mercurial. It generates Python 2.6 and Python 2.7 for both
> 32 and 64 bits architectures.
> I had to blacklist several test cases for various reasons:
> * test-http-bad-server.t, readline(65537) was transformed in readline(-1)
> This is already fixed, so just rebasing your patch should resolve this one.
> It works after rebas, thx.
> * test-convert-git.t and test-subrepo-git.t because of the git version
> * test-patchbomb-tls.t because of warning using tls 1.0
> It's likely because the docker image is based on centos 5.0 and
> openssl is outdated.
> These two make total sense.
> * test-clonebundles.t and test-http-proxy.t because of the following
> output line that changed:
> - error fetching bundle: (.* refused.*|Protocol not supported) (re)
> + error fetching bundle: Cannot assign requested address
> Sigh. Can you send us a patch that adds the extra case the regex match
> for docker? There's no reason these tests shouldn't pass there.
> I'd gladly take this for 4.2 and try to add building of linux wheels
> to our release discipline, assuming they work correctly. How much did
> you test the wheels by hand once installed?
> I fixed both tests in the v2 version of my patch.
> For testing the generated wheels, they are first installed in the docker
> container after building and tests are runner with the version installed
> from the wheel. I've also tried to install the wheel locally in a fresh
> python 2.7 virtualenv and cloned this repository without bugs. Finally, I've
> installed the wheel in a "Python:2.7" docker container and clone the same
> repository, the output is here:
> I'm not sure how much tests we can do to validate the wheels.
The only other things I can think of that we should test are:
1) Does `hg help` seem to work?
2) Does an extension work (maybe try children since it's a trivial extension?)
3) Do localizations seem to work?
More information about the Mercurial-devel