FS#70107 - [gtk4] split out demo apps

Attached to Project: Arch Linux
Opened by Philip Müller (philm) - Sunday, 21 March 2021, 11:31 GMT
Last edited by Jan Alexander Steffens (heftig) - Friday, 09 April 2021, 23:37 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 6
Private No

Details

Description:

Seems as 'gtk4' is currently built, we have Demo Apps included. Those should be split out.

Additional info:
* package version(s): 1:4.0.3-1

Steps to reproduce:

* install gtk4
* you will have those demo apps available

The following apps are included:

usr/bin/gtk4-builder-tool
usr/bin/gtk4-demo
usr/bin/gtk4-demo-application
usr/bin/gtk4-encode-symbolic-svg
usr/bin/gtk4-icon-browser
usr/bin/gtk4-launch
usr/bin/gtk4-print-editor
usr/bin/gtk4-query-settings
usr/bin/gtk4-widget-factory

We should check which are needed for 'gtk4' as a framework and split optional apps split out to 'gtk4-utils' or something:

usr/share/applications/org.gtk.Demo4.desktop
usr/share/applications/org.gtk.IconBrowser4.desktop
usr/share/applications/org.gtk.PrintEditor4.desktop
usr/share/applications/org.gtk.WidgetFactory4.desktop
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Friday, 09 April 2021, 23:37 GMT
Reason for closing:  Fixed
Additional comments about closing:  gtk4 1:4.2.0-3
Comment by Jan Alexander Steffens (heftig) - Sunday, 21 March 2021, 16:15 GMT
I don't see any significant benefit to splitting these.
Comment by Eli Schwartz (eschwartz) - Sunday, 21 March 2021, 18:43 GMT
Arch doesn't typically split anything unless there are serious size consequences, which I don't see here.
Comment by ringo de kroon (ringo32) - Sunday, 21 March 2021, 21:29 GMT
Dont understand Btw. Was there a question regards as in gtk3 like this?


gtk4 should be manage te same as gtk3....
Comment by Jonathon (jonathon) - Sunday, 21 March 2021, 21:43 GMT
gtk3 isn't split:

```
$ pacman -Ql gtk3 | grep demo
gtk3 /usr/bin/gtk3-demo
gtk3 /usr/bin/gtk3-demo-application
gtk3 /usr/share/applications/gtk3-demo.desktop
...
```
Comment by Philip Müller (philm) - Sunday, 21 March 2021, 21:53 GMT
'/usr/share/applications/gtk3-demo.desktop` has a no-display=true

https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/demos/gtk-demo/gtk3-demo.desktop

This way you don't see those apps, which is not present in GTK4:

https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-4.0/demos/gtk-demo/org.gtk.Demo4.desktop
Comment by Fabian (Tids) - Thursday, 08 April 2021, 08:30 GMT
For once I'm with philm on this. I think it's worth because of 2 things

1. Arch does have the pkg:gnome-software-packagekit-plugin and even if it's not supported as installation tool, it's in the repo. Now if installed, gnome-software will find the 'gtk icon browser' marked as "installed". This one is part of pkg:gtk4. If you try to uninstall it, it will uninstall pkg:gtk4 alongside pkg:gnome-shell and pkg:gdm. This is bad and even if considered as user error and easy to fix it's something that can happen but should not be possible.

As a user, I wouldn't know where to report this "bug"?
For me it's clearly a misconception in between how upstream sets the defaults and how upstream expects downstream to build the packages.

2. Is more a general opinion of mine. For, in quotes, "frameworks", such as gtk, Qt[, …] I think Arch should go the same way as upstream packages them for flatpak. (https://gitlab.gnome.org/GNOME/gtk/-/tree/master/build-aux/flatpak). (in the way of 'whats split up', not in the way of 'as huge single runtime package') Thats because upstream tests them and builds them that way. I think the whole point that the demo apps are enabled by default is because downstream is expected to act on its own.

This said, I have opened a report on upstream gtk for disabling the demos as per default: https://gitlab.gnome.org/GNOME/gtk/-/issues/3843
Comment by Paul Bryan (pbryan) - Thursday, 08 April 2021, 15:05 GMT
Judging by the response in the upstream GTK report, their current expectation is for the distro to package the demo apps separately. I suggest adding `no-display=true` to the desktop file, as was the case with GTK3.
Comment by Eli Schwartz (eschwartz) - Thursday, 08 April 2021, 15:40 GMT
That's a very inaccurate way of describing the response.

> My expectation is that distros would package the demos in a devel package, together with docs and headers, which should keep them off enduser systems in most cases.


Well... Arch does package them together with the headers. The docs are split out only because they're 70mb.
Comment by Paul Bryan (pbryan) - Thursday, 08 April 2021, 15:57 GMT
@eschwartz: Inaccurate in what way?
Comment by Fabian (Tids) - Thursday, 08 April 2021, 18:43 GMT
@pbryan After that little talk with Matthias Clasen of GTK, I think hiding the apps is the worst option here. In the end it's up the Arch people to decide if and what to do.
The option I would prefer is to split the demo apps out into an own gtk4-demos (as the meson build option "option('demos')"). I think thats in line with what GTK expect them to be the most. This would also keep them in reach for people who actually need them while stop to annoy everyone else (and would fix my "1." bug as well).


Comment by Philip Müller (philm) - Thursday, 08 April 2021, 21:24 GMT
Well the hidden desktop files idea comes from the gtk3 package. So it would be best to unhide those in gtk3 and also distribute them as gtk3-demos if you guys go for that with gtk4 package.

Loading...