AppImageCommunity / zsync2

Rewrite of https://github.com/AppImage/zsync-curl, using modern C++, providing both a library and standalone tools.
Other
132 stars 25 forks source link

Build on Travis CI #1

Closed probonopd closed 6 years ago

probonopd commented 6 years ago

Don't merge before it builds "green". Help appreciated.

TheAssassin commented 6 years ago

Thanks for your contribution. This is blocked by #2.

TheAssassin commented 6 years ago

@probonopd while trying to make this release quality, I've noticed that @darealshinji's curl package doesn't support HTTPS apparently:

curl: (1) Protocol "https" not supported or disabled in libcurl

Source: https://travis-ci.org/TheAssassin/zsync2/builds/291812051#L1124

This will be an issue for this application. I'm not sure how to fix these problems. @darealshinji, do you think you could publish a build on Launchpad supporting HTTPS?

TheAssassin commented 6 years ago

Confirming that the built AppImage works fine when deleting the libcurl*.so from the extracted squashfs-root, whereas with it, it segfaults. That's really an issue, which has to be fixed.

https://transfer.sh/NkNj9/zsync2-x86_64.AppImage

TheAssassin commented 6 years ago

I've switched to building my own libcurl, which now has a dependency on the system OpenSSL. @probonopd do you think that'd be okay?

TheAssassin commented 6 years ago

Currently segfaults again when trying to fetch HTTPS URLs. Debugging this at the moment.

TheAssassin commented 6 years ago

Tried a bunch of other combinations (e.g., curl with mbedTLS, but their CMake config for that seems broken), which all failed to work. For now, I'm settling with the system (trusty) libcurl and avoid bundling OpenSSL. The combination of that libcurl and the system libssl works fine on my local system for now.

Testers welcome: https://transfer.sh/15sdAm/zsync2-x86_64.AppImage

probonopd commented 6 years ago

I've switched to building my own libcurl, which now has a dependency on the system OpenSSL.

Why is this necessary, and will it mean that it will not be possible to be packaged by distributions who use standard libcurl?

TheAssassin commented 6 years ago

@probonopd I thought I mentioned that above. With all the options I tried, I couldn't get a working AppImage. @darealshinji's curl doesn't support HTTPS which is a no-go, then I had a few segfaults with my self-built libcurl, so I went like this for a prototype. I'd appreciate if you could have a look, and maybe find out how we can improve the situation.

probonopd commented 6 years ago

@darealshinji's curl doesn't support HTTPS which is a no-go

Please report an issue on it, I think that's not intentional. Especially since he has done work to make SSL more portable across distros too, and having it find certificates in different locations.

TheAssassin commented 6 years ago

Since I want to merge this to get prototype AppImages, I've created an issue (#1) where we can continue the discussion. I'll rebase and merge this soon.

probonopd commented 6 years ago

Thank you!