onionshare icon indicating copy to clipboard operation
onionshare copied to clipboard

Support i386 (and other architectures) in snap, flatpak

Open micahflee opened this issue 2 years ago • 7 comments

I got a report that the snap package fails on i386 architecture. We should ensure it works.

micahflee avatar Aug 18 '21 16:08 micahflee

Why did you fail

fyhan83 avatar Aug 19 '21 04:08 fyhan83

Here's snapcraft docs: https://snapcraft.io/docs/architectures

Here's flatpak docs: https://docs.flatpak.org/en/latest/multiarch.html

micahflee avatar Aug 20 '21 21:08 micahflee

I'm working on the snapcraft package. Rather than making the snap myself, I'm making it so snapcraft.io's build system automatically makes a new edge release whenever anything is pushed to develop. This way it can build separate releases in CI for each platform.

And looking at the flatpak docs, it looks quite difficult, and it looks like it's only possible to build for amd64 and i386, but not ARM processors. At least, the docs don't mention it. I think, for the time being, I'll just make the snap work with multiple architectures.

micahflee avatar Sep 13 '21 02:09 micahflee

Ack, so it turns out Qt stopped providing pre-built 32-bit binaries with version 5.6.0: https://www.qt.io/blog/2016/02/23/qt-5-6-0-release-candidate-available#comment-4600816554

We're using 5.15.2. When trying to install with pip install pyside2 in 32-bit:

ERROR: Could not find a version that satisfies the requirement pyside2==5.15.2 (from versions: none)
ERROR: No matching distribution found for pyside2==5.15.2
[13/Sep/2021:02:17:09 +0000] "CONNECT pypi.org:443 HTTP/1.0" 200 19961 "-" "-"
Failed to run "/build/onionshare/stage/usr/bin/python3 -m pip download --disable-pip-version-check --dest /build/onionshare/parts/onionshare/python-packages psutil 'pyside2 == 5.15.2' qrcode": Exited with code 1.
Build failed

This makes supporting 32-bit with snap much more difficult. It might still be possible though, by building pyside2 from source instead of adding pyside2 == 5.15.2 under python-packages.

micahflee avatar Sep 13 '21 02:09 micahflee

This is trickier than I first thought, so I removed the 2.4 milestone so I can go ahead and make a 2.4 dev release quicker.

micahflee avatar Sep 17 '21 21:09 micahflee

How is progress going? I'm interested in armhf and aarch64 releases for my widely-popular Raspberry Pi app store.

Botspot avatar Sep 22 '21 17:09 Botspot

@Botspot OnionShare is now supported for amd64, arm64, and armhf in Snapcraft (and x86_64 and arm64 on Flatpak)

https://micahflee.com/2022/10/new-censorship-circumvention-features-come-to-onionshare-26/

mig5 avatar Oct 10 '22 02:10 mig5