-
Notifications
You must be signed in to change notification settings - Fork 102
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
Bookworm as AppImage : Arc-theme support and distro-agnosticism #46
Comments
Thanks for opening this issue...yes a few others have asked if it can be made distro agnostic...I will definitely try to do that once all the features and format support for Bookworm are done (will take me quite a while though)...
|
This is great news. Thank you for being supportive to other operating systems.
Solus is not Ubuntu-based but a completely independent operating system. The easiest for me (and for many others coming from non-Ubuntu distros) is probably if you add a Flatpak (http://flatpak.org/) or AppImage (http://appimage.org/) to your GitHub releases. This would significantly increase feedback to your application as users unable to compile from source will be able to report bugs and raise feature requests. |
@baimafeima thanks for the update. I have played around with snap for my other app (Nutty). Have not looked at Flatpak yet, will do so when I have a logical completion point in Bookworm |
Glad to see supporting Linux distributions other than eOS is on the way. There are, for example, more than 20 million Ubuntu desktop users, and I reckon a good % would love to be able to use this app because there's little else like it available. With Ubuntu switching back to upstream GNOME it might be worth using cross-distro standards rather than those only available on Elementary. Great work 👏 |
Providing an AppImage would have, among others, these advantages:
Here is an overview of projects that are already distributing upstream-provided, official AppImages. |
@probonopd Thanks for this suggestion...AppImage looks promising - will read up on the same to see how I can set it up for bookworm. Hopefully there is integration with GitHub to build automatically when updates are made or a release is made... |
Yes, it can be set up to build new AppImages on GitHub every time you Alternatively you can use the Open Build Service, described at https://git.io/obs-ai. That way, your AppImage would get rebuilt even if one of its ingredient depdendencies gets updated. |
@probonopd I have got TravisCI working with this .travis.yml file.... |
Yes, but make sure to replace APPNAME two times. Let me know how it goes. Alternatively, I can do it real quick for you. |
Thanks let me give it a go...will let you know how it went |
@probonopd |
The real error must be earlier... yes:
instead of
|
Also make sure that the |
@probonopd many thanks for the pointers... Also how do I represent the utilities like unrar, unzip, etc. which are required by bookworm to run... |
Since you are building the app for AppImage outside of the Docker container, you need to install the build dependencies outside of the Docker container, too. Does the app really use the command line tools or just the libraries for the package formats? You would also have to bundle the |
@probonopd |
@babluboy can you or any of the core devs confirm that this app can be built on Ubuntu trusty 14.04? Then I will give it a try. |
@probonopd I'm the only dev for this app :-) ...I dont think it can be built on Ubuntu Trusty 14.04... |
@probonopd As expected the build failed on Trusty due to an issue with "libgranite-dev" |
Please ask the developers of |
@probonopd Since the app uses some granite widgets for look and feel and is primarily targeted at elementary OS, i would have to check if I can remove the granite dependency. I will also check if libgranite can be made available for Trusty....guess AppImage is dependent on the app being built successfully for Trusty... |
libgranite 0.1.0 is available for trusty. If you can make your app compile against that version, then it shall work. |
ok...will try to find a PPA for libgranite 0.1.0 and try a launchpad build...will update back here shortly...thanks a lot for your time and help... |
No ppa needed: |
@probonopd Yes, I managed to get over the libgranite-dev issue, but got stuck with webkit.
However, the build failed on Trusty as it is looking for the libwebkit2gtk-4.0 |
Build fails with
So I guess that the |
@probonopd You were right, the CMakeLists.txt was indeed the culprit and I did the following to get the application to compile: The above allowed me to compile the application, but looks like gtk3 does not have the key API which bookworm uses:
I'm thinking that the vapi I picked up has not been compiled against webkit2 and hence the above errors. Will check further on how to create a vapi file against webkit2 |
Please ping me once it builds on trusty, then I'll have a look at it. |
@probonopd No bookworm is not backwards compatible with Trusty due to the dependence on Webkit2. |
Yes, it would be possible to achieve the travis build to create an AppImage for Bookworm in the current format with Xenial and upwards compatibility with the ability to package required binaries. But if you use Xenial ingredients for the AppImage, then the AppImage will only run on very new distributions (e.g., not on Debian stable or CentOS). This is why I recommend to "backport" it first. |
@probonopd agree with your thoughts however it will be a substantial effort to write additional functions into WebKit1 which is already available in webkit2.... |
|
@baimafeima good pointer. No use getting compatibility for webkit1. Unfortunately it looks like AppImage needs to be webkit1 compatible so will not be building bookworm as a AppImage. I have anyways got bookworm as a Flatpak for cross distro installation. |
What makes you think that?
The point with AppImages is that they need no installation and are "one app = one file". |
@probonopd apologies...what I wanted to say was based on your comment here to backport to older versions like Trusty, it would require me to backport the code to use Webkit1 (since Webkit2 is not available for Trusty). It would be too much effort to backport to webkit1 when it is already fated... If you can help me get bookworm in its current form (Xenial and upwards) into AppImage then I will be grateful...as I could not do it myself after giving it a try... |
Qt 5.10 (the very latest one) from qt.io runs on Trusty. Would that not be sufficient to build bookworm? |
As I said Bookworm will not build on Trusty (due to unavailability of WebKit2)...however if you are able to get Qt 5.10 work to build a AppImage it will be great.... |
What do you mean by "WebKit2" - isn't that a component of Qt? I have to admit that I am somewhat confused by the different "Web*" components of Qt these days. |
A quick google seems you are correct: Based on the above hopefully we should be fine for bookworm as AppImage...next steps on how to set up a AppImage build on Travis? |
Basically you should be able to use the Travis CI example from the |
@probonopd The application depends on webkit2gtk, which is the gtk port of the webkit engine(similar to qtwebkit, which is the QT counterpart). Looking at the Cmakelists file, it looks like it depends on There used to be a Webkit stable ppa, which is not updated any more. P.S. If I wan't clear, there is no QT involved here, so I don't know how that matters. |
Ah, sorry, I somehow was assuming this to be a Qt application. In any case, linuxdeployqt generally works on non-Qt apps too, so the "only" issue is where to get webkit2gtk for Trusty from. |
I think, yes. What do you think @babluboy ? Will this build with older versions of Gtk+ and Granite, if there is a compatible webkit2gtk version available on Trusty? |
I agree - if we can find a version of webkit2gtk and granite0.5 on Trusty then Bookworm can build on Trusty....though I think that's not possible. Here are the Ubuntu Releases which support webkit2gtk and as expected it is Xenial and up: Can we conclude then that AppImage in its current stage will not support Bookworm? |
@babluboy You can still create an AppImage, but it will only work on Xenial and up. TBH I'm happy with how Flatpak works, so I will probably not use it. However, plenty of people on modern OSs who don't want to install Flatpak will definitely appreciate it I think :) |
No. We can conclude that Bookworm in its current stage will not support the oldest still-supported Ubuntu LTS release, which at this point is 14.04 (trusty). AppImage is just a self-mounting filesystem. AppImage does not determine which versions a set of binaries do, or do not, support. The situation would be exactly the same if you would distribute the binaries, say, as a zip file. |
Agree. Hoping there might be people who will still benefit from an AppImage for Xenial and up. I have updated the .travis.yml with the linuxdeployqt script as suggested. However, the build on Travis has failed, can you please take a look at the Travis build log here and suggest tweaking of the yml script. |
You need to use trusty, not xenial, if you want to install that Qt. |
ok...let me make that change and see if it succeeds, hopefully it wont hit other webkit2gtk dependency issues. |
Still failed with the same error: https://travis-ci.org/babluboy/bookworm/builds/331154760?utm_source=email&utm_medium=notification Any chance you can take a look at the travis.yml and submit a PR ? I am not that conversant with AppImage and might make some mistakes which might be silly for you :-) |
You are now trying to install packages from precise ppas? As a rule of thumb, you can only install ppas for the version of the OS that you are using.
Due to time constraints, I am currently focusing on software that is supported on all supported versions of Ubuntu reaching back to the oldest still-supported LTS release. |
Well it looks like a catch 22: linuxdeployqt will not work without Trusty and Bookworm will not work on Trusty (due to dependencies not available in Trusty). Appreciate you are busy with other work, I will revert back the .travis file until the time you or some else can figure out how to build an AppImage for Bookworm using Travis builds |
Is there an appimage of bookworm (even an experimental one) by now? |
Since the application cannot be compiled on the oldest still-supported version of Ubuntu according to @babluboy it is currently not possible to produce an AppImage that would run on all still-supported versions of Ubuntu, at least not without bundling everything.
|
Well, you can easily note the supported distributions by the appimage below the download-link or even add that info to the appimage-filename: bookwork-1.1.0-Xerus-to-Cuttlefish.appImage |
It's a matter of which distributions to a developer wants to target. I am encouraging developers to develop against all still-supported Linux distribution releases rather than just targeting the latest and greatest. Similar, on the Mac it is not a good idea to assume everyone is running the latest version of the OS. Likewise, on Windows. Of course the author of an application who makes an AppImage can decide what to put inside. If a developer wants to target only newer distributions, that's entirely fine. The only caveats are:
|
Bookworm looks extremely promising and I hope that it will quickly gain popularity beyond your main target operating system. I happen to prefer Solus instead of elementary OS. Is there any chance that you can look into making your application look great with the arc-theme and perhaps make it more distro-agnostic? See: https://github.com/horst3180/arc-theme
The text was updated successfully, but these errors were encountered: