-
Notifications
You must be signed in to change notification settings - Fork 865
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
Add Flatpak, AppImage, or Snap support #36
Comments
I am already converting Chromium snapshots from https://download-chromium.appspot.com/dl/Linux_x64?type=snapshots to AppImages in a fully automated way using Travis CI. It would be easy to do for ungoogled-chromium if there are deb packages, too. AppImage has the advantage that it runs on most (also older) distributions. |
Can you provide ones for debian oldstable or trusty? That way the resulting AppImage could run on more but the very newest distros. |
@probonopd Can Chromium even build on those platforms? Do your Chromium AppImages run on those systems? Are there enough people that use distributions that old? This is a good idea, but it will take quite a bit of work. The Debian and Ubuntu package building process is based off of Debian's build of Chromium, so it has more system dependencies than Google's build of Chromium. This includes building with the system's Ninja builder, clang compiler, and linking against the system's FFmpeg libraries (which are all sensitive to the versions, except maybe Ninja). If we are to get this work by modifying the Debian build process, there are several things that will have to be done. The meta-build configuration flags and patches to work with system libraries will have to be removed/disabled, the Unfortunately, I don't have enough time to execute what I've just stated. I am planning on upgrading these patches to the latest version of Chromium, and I have priorities outside of this project that are taking up my time. However, I will have some time to provide help and implement a process into buildlib. So if anyone wants to take up the task, go right ahead. |
"Are there enough people that use distributions that old?" - I cannot answer that but I do know that projects like Firefox and LibreOffice put a lot of care to build on old systems to maximize compatibility. |
@probonopd Well those seem to be the earliest versions that Chrome supports, so I guess it can be done somehow. |
Since AppImage can handle updating the package as well, this approach might be suited to be the "official" way to provide the app. In addition to less work building for different distros, this also minimizes the bugs related to dependencies hell (e.g. #107). I'm suggesting this especially since you're not able to support the project as much as you used to. I personally use Ubuntu so having this application on APT (#37) would be nice. Imho though, focusing more on unGoogling chromium should be the highest priority and where the majority of the fine work be. If someone sees the convenience of installation/updating as a higher priority, they can always install chromium/chrome. |
@sahal2080 You have some solid reasoning. That may not be a bad idea. |
Can you get it to build on Travis CI? |
@probonopd I haven't tried it yet, but I've had this concern in the past. |
Would be great to see flatpak or appimage replace all the existing builds. Now that the stand-alone build is possible this should be easy I think. I always thought flatpak had better integration features than appimage but not sure. FP has sandboxing which I don't think AI has (by default?). Sandboxing would probably be a good idea for an additional layer of security. |
Providing an AppImage would have, among others, these advantages:
Here is an overview of projects that are already distributing upstream-provided, official AppImages. FP has sandboxing built in but FP needs to be installed on the target system first. |
Works for most Linux distributions - so does Flatpak |
Sorry @Swiftpaw but some of your claims are simply not correct (e.g., FP needs to be installed first, scatters files into the filesystem, and does not work on Live systems, just to name 3). In order not to further spam this thread, let's close this here though. |
Uh what? Did you even read (and comprehend) anything I wrote? Or do you try to shut down anyone whom you think is biased even though I was simply listing the features of each package system that I know about? You were the one who sounded biased by listing several features that you made sound exclusive to AI over FP which is totally incorrect as my original reply pointed out. "FP needs to be installed first"...while AI doesn't, is how you were intending that? This wasn't a bullet point mentioned, but that's correct if that's what you meant. If you're referring to "works for most Linux distros", both FP and AI are compatible with most Linux distributions, but FP isn't available out-of-the-box, not until it comes standard. It's easy to install on all those distros, though. So yeah, AI is a little better in this regard, so what's your problem here? Explain yourself. "Scatters files into the filesystem", I was arguing that FP probably does this while AI might not? Given that FP needs to be installed first, and that FP "installs programs", I assume AI doesn't need to copy files elsewhere while FP does. My point was that this isn't necessarily a bad thing. I like installing packages and not having to keep the package file around on my desktop if I want to run the same app again in the future. So, what are you trying to say about this part? "Does not work on Live systems", the only thing you mentioned was "FP", so I assume you're talking about FP here? Regardless, I was saying that FP does work in Linux environments, and that both will do so. You can run anything in a live environment because it's just a RAM disk. There is nothing particularly special about putting program data into a RAM disk instead of a HDD. You can even download, install, and run games in a live environment as long as that live environment enabled sufficient graphics drivers to do so. So, explain yourself here again too, what about this do you disagree with? Since that's the defensive attitude you're showing. Both FP and AI have some features that the other doesn't have, but overall they are fairly comparable and they are both step ups above the old static binary method and either solution would be better than trying to make repos for every distro out there. I'm in favor of both, but you, probonopd, acted like the things you listed are exclusive features of AI over FP, and that's definitely wrong, hence my original response. |
@Swiftpaw @probonopd Hey guys, please stay to the original topic of adding Flatpak or AppImage support. (Adding support for both will be fine too). |
I will accept a pull request to add Flatpak or AppImage support (or both) into |
Things have changed for version 64. One can use the The existing packaging types are pretty simple and should work as a good reference for these ones. If anyone is interested in this, feel free to submit a PR. |
Flatpak support would be great, as it runs this here in a sandbox then. |
How does one use the linux_portable base bundle to build? |
@probonopd I have implemented a new packaging system (in the |
Who else could be the uploader? And where would those files be hosted? Can the name of the uploader be determined dynamically? How?
Like so?
This currently gives me https://github.com/Eloston/ungoogled-chromium-binaries/releases/download/68.0.3440.106-1/ungoogled-chromium_68.0.3440.106-1_linux.tar.xz but that file does not exist, there are only debs. So looking at I have not quite understood what the problem is in the current method of getting the most recent available |
|
Would this be a good strategy?
|
@probonopd At that rate you might as well do a shallow clone of the |
Well, AppImage suppport is in now. Thanks @probonopd for implementing it. If anyone wants to add Flatpak or Snap support, please open separate issues for them. |
is pushing an appimage binary to download section planned ? |
@intika I don't have any plans to do it. If it's appropriate to do so, then I'd be willing to merge a PR. |
@Eloston that'd be of course awesome, as it would a) be much easier for users b) "official" (never trust applications downloaded from random sites - especially browsers!), and c) would allow the application to be listed in the AppImageHub central directory of available AppImages. |
Please don't forget to update on how to get it. |
@probonopd why don't you just PR https://github.com/ungoogled-software/ungoogled-chromium-binaries with the appimage you did ? |
yes 👍 |
@probonopd Why must I be the builder and publisher of the AppImage? Can't anyone do it? If all it takes to be "official" is be on |
Who ensures how that we can trust those binaries? |
@probonopd Who's to say I'm more trustworthy than any other contributor here? I believe that everyone who has been contributing binaries are doing so out of their own good will, mainly because of the following factors:
Once binary reproducibility becomes a reality, then we could go by independent replication of the build process to verify if the binaries are valid. It's not as good as understanding and building the source code by oneself, but at least the trust is more distributed rather than centralized on single individuals. |
Yes, I'm highly interested in peer-producing a web-of-trust! |
Its very cool and important to see devs working on that, opensource world is unique
mee too :D But at the end of the day who is willing to provide the appimage binary ? |
Perhaps with a script there's a way to automatically produce appimage binaries as soon as @Eloston builds ungoogled-chromium with little to no maintenance on his part? |
a build from @Eloston is not a must have, according to this project policy about binary distribution system, also all linux distro packages are not build by the same person... so... in the other hand it's a waste of time regarding the time consumption of dev for this project... following the idea of @picsi & @Eloston i think adding the appimage build script to the sources with a PR (and a PR to build instructions) will be the way to go and once merged i guess we will at least have one build from @Eloston or not lol 👍 but at least we will have a build |
...hence I was wondering if we could/should use Travis CI or something like it for the builds (not just the AppImage) |
Just landed an AppImage build based on my portable build |
Done https://github.com/ungoogled-software/ungoogled-chromium-binaries/pulls |
Now TODO :
@Eloston do you think we should add appimage script to the project or just using it from @probonopd git is enough ? may be for maintenance and updates its better to leave things as it is no ? |
Done everything is landed Build instructions :
Just run Note 1 : @probonopd the script is git cloning my fort of AppImage awaiting the merging of my pr ;) |
Could you add a flatpak o appimage format
http://flatpak.org/
http://appimage.org/
The text was updated successfully, but these errors were encountered: