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

18.04 compatibility #82

Closed
clefebvre opened this issue Aug 3, 2019 · 18 comments
Closed

18.04 compatibility #82

clefebvre opened this issue Aug 3, 2019 · 18 comments
Labels
elementary OS issues related to the support of Elementary OS enhancement ideas to improve existing features Linux Mint traditional layouts, LTS dependencies, and other issues packaging problems or question about the creation/maintenance of packages

Comments

@clefebvre
Copy link

Hi @maoschanz,

We're shipping with GIMP by default in Linux Mint. Although it's a wonderful tool, it has a few issues... it doesn't integrate properly in a GTK environment (HiDPI, icons etc..), and it's a really advanced tool for casual users.

We've been looking for alternatives and your project looks very interesting. I noticed it doesn't support the current stable version of Ubuntu LTS though. Would you be open to loosening the requirements on meson and the libraries you're using? If we were to implement compatibility with 18.04 and meson 0.45, would you be OK with preserving that compatibility until 2020?

Let me know how you feel about this, and many thanks for your work so far (people are already enjoying your app thanks to Flatpak).

@clefebvre clefebvre added the enhancement ideas to improve existing features label Aug 3, 2019
@maoschanz maoschanz added the packaging problems or question about the creation/maintenance of packages label Aug 3, 2019
@maoschanz
Copy link
Owner

The app is using Gtk.Template which exists only since the version 3.30 of python-gi (changelog (#52)), other dependencies just have a minimal version number corresponding to the same period.

Removing it is not hard (it was compatible before b0a0f30 i just didn't realize this commit would break compatibility). I'll not do it on master, but it can be done on the branch 0.4 (and later when it will exist on the branch 0.6, etc.)

@probonopd
Copy link

Please always target the oldest LTS release of Ubuntu when developing software, so that all still-supported versions of Ubuntu can use the application. Currently this would be xenial. Thanks!

@maoschanz
Copy link
Owner

But i don't care about Xenial, and i will never introduce regressions because people refuse to upgrade. I target the current GNOME flatpak runtime, the rest is trivialities. I agreed to support 18.04 because it's easy, not because i absolutely want people from the past to have deb packages

@probonopd
Copy link

probonopd commented Aug 4, 2019

Please always develop against the least common denominator if you care about what your users are running. A developer developing for Windows would also never only develop for the very latest and greatest version of Windows. Same goes for the Mac. Same goes for Android. Same goes for iOS.

I never understand why it is so hard for developers in the Linux world to understand this simple principle.

Every Android developer will think about which Android versions to target, and "the latest and greatest" is practically never the answer.

flatpak

Does not run everywhere. E.g., on my systems.

@gnomelibre
Copy link

@probonopd Thanks to Flatpak, who solved this kind of problem, developers can develop modern applications that can be used on old systems.

@probonopd
Copy link

probonopd commented Aug 4, 2019

It's not a solution. It's a workaround at best. It will not use the native Gtk that came with the system. Besides, as I wrote above, it does not work everywhere.

@maoschanz
Copy link
Owner

maoschanz commented Aug 4, 2019

Please always develop against the least common denominator

flatpak exists for 16.04 so targeting the last stable GNOME runtime is the least common denominator in my opinion.

I will not provide a package i'm not able to test

It will not use the native Gtk that came with the system.

and I didn't test the app with the native GTK from 2016, so it looks like a perfect solution.

It's not a solution. It's a workaround at best.

Running an app safely and up-to-date with all standard package management features is a solution. A workaround would be asking the user to manually manage a bunch of archives piling up in ~/Downloads

A developer developing for Windows would also never only develop for the very latest and greatest version of Windows

The devs who are paid probably don't do that, yes. Currently at least, but wait until the EOL of Windows 7 in a few months. And we're only talking about "win32" apps, not about the Windows Store, where things are already targeting specific machines and versions.

The version 0.4.3 will be compatible with 18.04 (thus with @ericoporto snap i guess?), maybe if we're lucky it will work with 16.04 too?

@probonopd
Copy link

probonopd commented Aug 4, 2019

Thanks for your answers. I don't think we will find agreement on this one, yet I think it is beneficial to see both sides of the discussion.

the least common denominator

The least common denominator for Gnome is the Gnome that comes with the oldest still-supported releases of Ubuntu and with debian (old)stable. Same goes for Gtk and other system libraries.

flatpak

Does not change this, because it is shipping its own Gnome rather than using the one that came with the system. It is merely a workaround.

I will not provide a package i'm not able to test

Why would you not be able to test such an application? (Besides lack of time, maybe)

I didn't test the app with the native GTK from 2016, so it looks like a perfect solution.

That is what I mean - please develop your app against Gtk/Gnome no newer than what comes with the oldest still-supported releases of Ubuntu and with debian (old)stable. Of course now you have probably already introduced dependencies on bleeding-edge features which makes it harder than necessary to get your app running on the Gtk/Gnome that comes with those types of systems.

And we're only talking about "win32" apps

I am talking of the .exe files that one can download from application author's download pages.

@maoschanz
Copy link
Owner

maoschanz commented Aug 4, 2019

That is what I mean - please develop your app against Gtk/Gnome no newer than what comes with the oldest still-supported releases of Ubuntu and with debian (old)stable.

I develop against what i use, and i will not use an almost 4 years old system just because a few guys don't want to upgrade AND refuse to install flatpak.

Besides lack of time

Lack of time, lack of RAM to launch VMs, lack of patience concerning installation processes: i use debian Sid and i have a partition with elementary Juno (which is 18.04), as far as i know the guy doing the PPA has 19.04 only, and i will not divide my disk into dozens of partitions just for this, i'm developing this because i like UI design, i have no moral obligation to provide native deb files to each existing deb-based distro still alive (and sadly, dumpsters like noobslab even provide installation instructions for unsupported ubuntu releases so i'll have their bugs too)

@probonopd
Copy link

i have no moral obligation

Of course not. I am developing software in my spare time just for fun, too. Was just curious why one would develop something without at least trying to maximize reach by keeping system requirements moderate. No offense ;-)

@svastian99
Copy link

svastian99 commented Aug 6, 2019

thanks for the app it's very intuitive!
PS: Is it normal that it requires so much space in a system based on Ubuntu 18.04?

_ ID Arch Branch Remote Download
-1 org.gnome.Platform x86_64 3.32 flathub < 373,2 MB
-2 org.gnome.Platform.Locale x86_64 3.32 flathub < 319,9 MB (partial)
-3 com.github.maoschanz.drawing x86_64 stable flathub < 1,2 MB
-4 com.github.maoschanz.drawing.Locale x86_64 stable flathub < 46,0 kB (partial)

@maoschanz
Copy link
Owner

maoschanz commented Aug 6, 2019

Well it requires 1.2MB.

And then, there is just the normal runtime? All GNOME apps share the same runtime, so if you install several apps it uses less space than if each app bundled its dependencies

Not the point of the issue anyway

@bkanuka
Copy link

bkanuka commented Aug 8, 2019

Out of curiosity (and understanding your dev style) why patch 0.4.x without updating master? This would make sense to me if releses after 0.4.x plan to drop support for 18.04, but you said above that this can be done on 0.4 and later.

@maoschanz
Copy link
Owner

The support for GtkTemplate in previous versions was using a bunch of legacy code i didn't write myself, i'm not comfortable with the idea that i might forget to remove it later

maoschanz added a commit that referenced this issue Aug 11, 2019
revert most changes from b0a0f30
@maoschanz
Copy link
Owner

I still have to change the control file, then it should be fine

@maoschanz
Copy link
Owner

holy shit Ambiance is really hideous Capture d’écran de 2019-08-19 19-03-17

@sk1project
Copy link

@maoschanz curiously Ambiance is a best theme for crossplatform apps because it compatible with MS Win and macOS layouts. Unlike Adwaita which is adopted for tablets.

@clefebvre
Copy link
Author

Hi @maoschanz,

Many thanks for the 0.4 branch and the compatibility with 18.04!

@maoschanz maoschanz added the elementary OS issues related to the support of Elementary OS label Feb 1, 2020
@maoschanz maoschanz added the Linux Mint traditional layouts, LTS dependencies, and other issues label Feb 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
elementary OS issues related to the support of Elementary OS enhancement ideas to improve existing features Linux Mint traditional layouts, LTS dependencies, and other issues packaging problems or question about the creation/maintenance of packages
Projects
None yet
Development

No branches or pull requests

7 participants