Skip to content
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 and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ship wheels for Linux #793

Closed
techtonik opened this issue May 6, 2018 · 16 comments
Closed

Ship wheels for Linux #793

techtonik opened this issue May 6, 2018 · 16 comments
Labels

Comments

@techtonik
Copy link
Contributor

This is a follow up to #563.

I am trying to pack gitless as a snap, and absence of Linux wheel makes the process really painful. It could help if https://github.com/pypa/manylinux wheels were already available.

@jdavid
Copy link
Member

jdavid commented Jun 2, 2018

Issue #563 done and closed.

For reference @beniwohli started this, beniwohli/mygit2@ed4aa030b

@feisuzhu
Copy link

@jdavid

Thank you for pointing #563 out, but I can only see win32 & win_amd64 wheels, not linux ones.

@jdavid
Copy link
Member

jdavid commented Jun 29, 2018

yes because #563 is only about windows wheels

I won't have time to work on linux wheels in the near future

@webknjaz
Copy link
Contributor

Any clue why @beniwohli didn't submit his branch as a PR?

@jdavid
Copy link
Member

jdavid commented Dec 22, 2018

Don't know. For reference webknjaz@8222c85

@webknjaz
Copy link
Contributor

So basically I've made it work here: #869. But this PR doesn't yet have wheels publishing logic...

@webknjaz
Copy link
Contributor

Hey @jdavid, I may have found some issues with #869 so I'll try to address that in a separate PR.

Have you tried those wheels on your machine? (after running the build script like travis/build-all-manylinux1-wheels.sh "pygit2" "0.27")

@webknjaz
Copy link
Contributor

webknjaz commented Feb 16, 2019

@techtonik @feisuzhu @beniwohli could you please try that out as well? I'm currently having several extra minor commits on top of that branch which I didn't push but the wheels I get segfault... I just want to verify that the merged version is fine. And I'll probably have to ensure that there's no *.pyc files which can confuse the interpreter...

@jdavid
Copy link
Member

jdavid commented Feb 16, 2019

just tested, no segfault, but some tests fail with ssl related errors such as
the SSL certificate is invalid

@webknjaz
Copy link
Contributor

Ah... I must've broken smth in my env then...

I also saw those SSL errors. I assume that it's configured to look at certain locations in fs by default but when you run in under different OS it looks to some non-existent places.

Oh and another thing is that I was getting smth like "unknown URL scheme" with ssh:// which I didn't address as well.

Any ideas on troubleshooting that?

@webknjaz
Copy link
Contributor

Oh, and segfault proof: https://travis-ci.com/webknjaz/pygit2/jobs/178301715#L3389-L3390

It will become visible after you merge #874

@webknjaz
Copy link
Contributor

It looks like link to libz is broken...

ldd pygit2-0.27.4/pygit2/.libs/lib*
pygit2-0.27.4/pygit2/.libs/libcurl-e8503455.so.4.5.0:
ldd: warning: you do not have execution permission for `pygit2-0.27.4/pygit2/.libs/libcurl-e8503455.so.4.5.0'
        linux-vdso.so.1 (0x00007ffc110a2000)
        libz-a147dcb0.so.1.2.3 => not found
        librt.so.1 => /lib64/librt.so.1 (0x00007f15a56ba000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f15a54b6000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f15a5295000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f15a4ec4000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f15a5d77000)
pygit2-0.27.4/pygit2/.libs/libgit2-d5fa10de.so.0.27.8:
ldd: warning: you do not have execution permission for `pygit2-0.27.4/pygit2/.libs/libgit2-d5fa10de.so.0.27.8'
        linux-vdso.so.1 (0x00007fffe4701000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f40dd310000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f40dd0ef000)
        libcurl-e8503455.so.4.5.0 => not found
        libz-a147dcb0.so.1.2.3 => not found
        libc.so.6 => /lib64/libc.so.6 (0x00007f40dcd1e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f40ddc54000)
pygit2-0.27.4/pygit2/.libs/libz-a147dcb0.so.1.2.3:
ldd: warning: you do not have execution permission for `pygit2-0.27.4/pygit2/.libs/libz-a147dcb0.so.1.2.3'
        linux-vdso.so.1 (0x00007ffc4fb5b000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f3ed126c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3ed1852000)

@webknjaz
Copy link
Contributor

It seems to be an upstream problem: pypa/manylinux#60

@jdavid
Copy link
Member

jdavid commented Feb 17, 2019

It's not only libz:

$ ldd  ./pygit2/.libs/libgit2-fada2a44.so.0.27.8 | grep not
	libcurl-e8503455.so.4.5.0 => not found
	libz-a147dcb0.so.1.2.3 => not found
	libssh2-ff375f42.so.1.0.1 => not found

@webknjaz
Copy link
Contributor

True, depending on how I compiled it I also saw only libcurl in the list, in some cases...

Do you know a way of embedding those into libgit2.so?

@webknjaz
Copy link
Contributor

@jdavid so what can we do about it?

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Mar 20, 2019
Add test target.

0.28.0 (2019-03-19)
-------------------------

- Upgrade to libgit2 0.28
  `#878 <https://github.com/libgit2/pygit2/issues/878>`_

- Add binary wheels for Linux
  `#793 <https://github.com/libgit2/pygit2/issues/793>`_
  `#869 <https://github.com/libgit2/pygit2/pull/869>`_
  `#874 <https://github.com/libgit2/pygit2/pull/874>`_
  `#875 <https://github.com/libgit2/pygit2/pull/875>`_
  `#883 <https://github.com/libgit2/pygit2/pull/883>`_

- New ``pygit2.Mailmap``, see documentation
  `#804 <https://github.com/libgit2/pygit2/pull/804>`_

- New ``Repository.apply(...)`` wraps ``git_apply(..)``
  `#841 <https://github.com/libgit2/pygit2/issues/841>`_
  `#843 <https://github.com/libgit2/pygit2/pull/843>`_

- Now ``Repository.merge_analysis(...)`` accepts an optional reference parameter
  `#888 <https://github.com/libgit2/pygit2/pull/888>`_
  `#891 <https://github.com/libgit2/pygit2/pull/891>`_

- Now ``Repository.add_worktree(...)`` accepts an optional reference parameter
  `#814 <https://github.com/libgit2/pygit2/issues/814>`_
  `#889 <https://github.com/libgit2/pygit2/pull/889>`_

- Now it's possible to set SSL certificate locations
  `#876 <https://github.com/libgit2/pygit2/issues/876>`_
  `#879 <https://github.com/libgit2/pygit2/pull/879>`_
  `#884 <https://github.com/libgit2/pygit2/pull/884>`_
  `#886 <https://github.com/libgit2/pygit2/pull/886>`_

- Test and documentation improvements
  `#873 <https://github.com/libgit2/pygit2/pull/873>`_
  `#887 <https://github.com/libgit2/pygit2/pull/887>`_

Breaking changes:

- Now ``worktree.path`` returns the path to the worktree directory, not to the
  `.git` file within
  `#803 <https://github.com/libgit2/pygit2/issues/803>`_

- Remove undocumented ``worktree.git_path``
  `#803 <https://github.com/libgit2/pygit2/issues/803>`_


0.27.4 (2019-01-19)
-------------------------

- New ``pygit2.LIBGIT2_VER`` tuple
  `#845 <https://github.com/libgit2/pygit2/issues/845>`_
  `#848 <https://github.com/libgit2/pygit2/pull/848>`_

- New objects now support (in)equality comparison and hash
  `#852 <https://github.com/libgit2/pygit2/issues/852>`_
  `#853 <https://github.com/libgit2/pygit2/pull/853>`_

- New references now support (in)equality comparison
  `#860 <https://github.com/libgit2/pygit2/issues/860>`_
  `#862 <https://github.com/libgit2/pygit2/pull/862>`_

- New ``paths`` optional argument in ``Repository.checkout()``
  `#858 <https://github.com/libgit2/pygit2/issues/858>`_
  `#859 <https://github.com/libgit2/pygit2/pull/859>`_

- Fix speed and windows package regression
  `#849 <https://github.com/libgit2/pygit2/issues/849>`_
  `#857 <https://github.com/libgit2/pygit2/issues/857>`_
  `#851 <https://github.com/libgit2/pygit2/pull/851>`_

- Fix deprecation warning
  `#850 <https://github.com/libgit2/pygit2/pull/850>`_

- Documentation fixes
  `#855 <https://github.com/libgit2/pygit2/pull/855>`_

- Add Python classifiers to setup.py
  `#861 <https://github.com/libgit2/pygit2/pull/861>`_

- Speeding up tests in Travis
  `#854 <https://github.com/libgit2/pygit2/pull/854>`_

Breaking changes:

- Remove deprecated `Reference.get_object()`, use `Reference.peel()` instead


0.27.3 (2018-12-15)
-------------------------

- Move to pytest, drop support for Python 3.3 and cffi 0.x
  `#824 <https://github.com/libgit2/pygit2/issues/824>`_
  `#826 <https://github.com/libgit2/pygit2/pull/826>`_
  `#833 <https://github.com/libgit2/pygit2/pull/833>`_
  `#834 <https://github.com/libgit2/pygit2/pull/834>`_

- New support comparing signatures for (in)equality

- New ``Submodule.head_id``
  `#817 <https://github.com/libgit2/pygit2/pull/817>`_

- New ``Remote.prune(...)``
  `#825 <https://github.com/libgit2/pygit2/pull/825>`_

- New ``pygit2.reference_is_valid_name(...)``
  `#827 <https://github.com/libgit2/pygit2/pull/827>`_

- New ``AlreadyExistsError`` and ``InvalidSpecError``
  `#828 <https://github.com/libgit2/pygit2/issues/828>`_
  `#829 <https://github.com/libgit2/pygit2/pull/829>`_

- New ``Reference.raw_name``, ``Reference.raw_shorthand``, ``Tag.raw_name``,
  ``Tag.raw_message`` and ``DiffFile.raw_path``
  `#840 <https://github.com/libgit2/pygit2/pull/840>`_

- Fix decode error in commit messages and signatures
  `#839 <https://github.com/libgit2/pygit2/issues/839>`_

- Fix, raise error in ``Repository.descendant_of(...)`` if commit doesn't exist
  `#822 <https://github.com/libgit2/pygit2/issues/822>`_
  `#842 <https://github.com/libgit2/pygit2/pull/842>`_

- Documentation fixes
  `#821 <https://github.com/libgit2/pygit2/pull/821>`_

Breaking changes:

- Remove undocumented ``Tag._message``, replaced by ``Tag.raw_message``
EnTeQuAk pushed a commit to mozilla/addons-server that referenced this issue Mar 25, 2019
This PR updates [pygit2](https://pypi.org/project/pygit2) from **0.27.4** to **0.28.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 0.28.0
   ```
   -------------------------

- Upgrade to libgit2 0.28
  `878 &lt;https://github.com/libgit2/pygit2/issues/878&gt;`_

- Add binary wheels for Linux
  `793 &lt;https://github.com/libgit2/pygit2/issues/793&gt;`_
  `869 &lt;https://github.com/libgit2/pygit2/pull/869&gt;`_
  `874 &lt;https://github.com/libgit2/pygit2/pull/874&gt;`_
  `875 &lt;https://github.com/libgit2/pygit2/pull/875&gt;`_
  `883 &lt;https://github.com/libgit2/pygit2/pull/883&gt;`_

- New ``pygit2.Mailmap``, see documentation
  `804 &lt;https://github.com/libgit2/pygit2/pull/804&gt;`_

- New ``Repository.apply(...)`` wraps ``git_apply(..)``
  `841 &lt;https://github.com/libgit2/pygit2/issues/841&gt;`_
  `843 &lt;https://github.com/libgit2/pygit2/pull/843&gt;`_

- Now ``Repository.merge_analysis(...)`` accepts an optional reference parameter
  `888 &lt;https://github.com/libgit2/pygit2/pull/888&gt;`_
  `891 &lt;https://github.com/libgit2/pygit2/pull/891&gt;`_

- Now ``Repository.add_worktree(...)`` accepts an optional reference parameter
  `814 &lt;https://github.com/libgit2/pygit2/issues/814&gt;`_
  `889 &lt;https://github.com/libgit2/pygit2/pull/889&gt;`_

- Now it&#39;s possible to set SSL certificate locations
  `876 &lt;https://github.com/libgit2/pygit2/issues/876&gt;`_
  `879 &lt;https://github.com/libgit2/pygit2/pull/879&gt;`_
  `884 &lt;https://github.com/libgit2/pygit2/pull/884&gt;`_
  `886 &lt;https://github.com/libgit2/pygit2/pull/886&gt;`_

- Test and documentation improvements
  `873 &lt;https://github.com/libgit2/pygit2/pull/873&gt;`_
  `887 &lt;https://github.com/libgit2/pygit2/pull/887&gt;`_

Breaking changes:

- Now ``worktree.path`` returns the path to the worktree directory, not to the
  `.git` file within
  `803 &lt;https://github.com/libgit2/pygit2/issues/803&gt;`_

- Remove undocumented ``worktree.git_path``
  `803 &lt;https://github.com/libgit2/pygit2/issues/803&gt;`_
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pygit2
  - Changelog: https://pyup.io/changelogs/pygit2/
  - Repo: http://github.com/libgit2/pygit2
</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants