"Add/Remove Applications" alternative for Trisquel 9?

24 réponses [Dernière contribution]
chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

Trisquel's "Add/Remove Applications" program, gnome-app-install, has
been discontinued upstream for a while and maintained independently by
Trisquel. It has several issues:

* It gets its list of installable applications from the app-install-data
package, which is based on the packages which were available in Ubuntu
15.10. Unless we come up with a way to generate our own application
data, it will become increasingly out-of-date with each Trisquel
release.

* It depends on gksu, which is deprecated, and as of Ubuntu 18.04 is no
longer present upstream, so in order to work in Trisquel 9 it needs to
be modified to use pkexec instead.

* It depends on GTK2, which means that eventually, possibly for Trisquel
10, it will need to be ported to GTK3.

Given the amount of work which will be needed in order to maintain the
quality of this package, it would be preferable to find
regularly-maintained replacement.

The obvious candidate is gnome-software, which appears to be the
successor to gnome-app-install. However, it also has issues, some
minor, some major:

* It is a buggy piece of crap. On every version of every distro I've
tried it with, it has never worked out of the box without trying several
workarounds, if at all. I just installed it on Trisquel 9, and it could
not find any application data. If Ubuntu 18.04 has gnome-software
configured to work out of the box, we can look into how they do it, but
it would be nice to have something that worked reliably.

* It recommends software from third party repositories. In Ubuntu
18.04, Snap and Flatpak integration is separated out into plugins, so
this should be easier to disable than in the past. However,
gnome-software also recommends software from PPAs the user has added,
without making it clear that the software is from a third party repo.
This means that if a user adds a PPA containing non-free software, they
will see that non-free software in gnome-software, and may assume that
Trisquel is recommending it and expect it to be free. We'll need to
modify gnome-software, or whatever backend it uses for appstream data,
to limit its recommendations to software in Trisquel's repositories.

* It uses client-side decorations, which at this time Trisquel's GTK
theme does not handle well. This is not a bug in gnome-software, but in
Trisquel's GTK 3 theme, so this is really only a strike against
gnome-software in that it will require us to deal with a known problem
sooner. (Side note: if anyone is good with editing GTK 3 themes, help
with this would be great.)

Before I get to work on cleaning up gnome-software, can anyone recommend
any alternative to gnome-app-install and gnome-software which might be
better? It does not necessarily have to be packaged in Ubuntu. If
another Debian-based distro has its own apt frontend which works better
we may be able to import that to Trisquel.

andyprough
Hors ligne
A rejoint: 02/12/2015

mx-packageinstaller:
https://github.com/MX-Linux/mx-packageinstaller

Runs well. Since it's just a gui front-end to apt, it doesn't run into all the problems that gnome-software does. It's GPL3 licensed.

It uses easily reproducible "*.pm" files in a /usr/share/mx-packageinstaller-pkglist directory to populate its list of "popular" packages. The github for pkglist is here, with all the current .pm files:
https://github.com/MX-Linux/mx-packageinstaller-pkglist

It also has a direct link to the Debian repos on the system, which in your case would be set up to link to the Trisquel repo.

It does have a flatpak dependency which I would think you would want to get rid of if possible. But I assume that that's just to link to available flatpak packages, and not something that's truly integral to the program.

Screenshot-23.png Screenshot-22.png Screenshot-21.png Screenshot-24.png
andyprough
Hors ligne
A rejoint: 02/12/2015

Here's some screenshots of the kind of data and pics you get if you click on the little "info" button next to the "Popular" apps.

Screenshot-27.png Screenshot-26.png Screenshot-25.png
chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> mx-packageinstaller: https://github.com/MX-Linux/mx-packageinstaller

Thanks andyprough. I'll look into this. Is it for installing packages
generally (including things like libraries and drivers, like synaptic)
or is it focused on applications (things like LibreOffice and VLC, as
gnome-app-install and gnome-software are)?

> Runs well. Since it's just a gui front-end to apt, it doesn't run into
> all the problems that gnome-software does. It's GPL3 licensed.

A front-end to apt might still recommend software from third-party apt
repos added by the user, so we'll still need to make sure that it
doesn't make recommendations for third-party software that appear to be
recommended by Trisquel, but that's not a strike against since it's also
an issue with gnome-software.

> It also has a direct link to the Debian repos on the system, which in
> your case would be set up to link to the Trisquel repo.

Yeah, that's probably a simple change.

> It does have a flatpak dependency which I would think you would want
> to get rid of if possible. But I assume that that's just to link to
> available flatpak packages, and not something that's truly integral to
> the program.

Flatpak itself is not a problem. It's really the Flathub repository,
which contains non-free software, which we need to avoid. I don't mind
modifying the program to address freedom issues. That's necessary
anyway with gnome-software. If it just f***ing works, it will be an
improvement over gnome-software. The important thing is that it's a
real gnome-software replacement (application based) and not a synaptic
replacement (package based). I'll take a look this weekend.

andyprough
Hors ligne
A rejoint: 02/12/2015

> Is it for installing packages
generally (including things like libraries and drivers, like synaptic)
or is it focused on applications (things like LibreOffice and VLC, as
gnome-app-install and gnome-software are)?

It can do both. On the "Popular" tab, you list out the big software programs that you think your users will want. But then you have a "Stable Repo" tab and a "Debian Backports" tab (I think I added backports myself to sources.list to get a newer LibreOffice, and so it showed up in mx-packageinstaller). On those tabs, you get all the libraries and everything like in Synaptic. Those repo tabs have a checkbox to hide libraries and developer packages, so the user doesn't have to see a million libraries if they don't want to.

Other than the "Popular" tab, it acts like a Synaptic clone, with fewer options. I think it would be very easy to modify it to your needs. I tried removing a few of the ".pm" files for popular packages in /usr/share/mx-packageinstaller-pkglist, and they did disappear in the mx-packageinstaller GUI. So it's pretty easy to get it to show the "Popular" packages that you want it to.

Other than that, you would only be pointing to the Trisquel repo, so it wouldn't suggest any non-free software if you controlled your "Popular" apps and got rid of the Flathub tab and linkage. Or if you could find some way of getting Flathub to not show non-free packages.

I'm leaving a bunch of screenshots on these messages, so you may want to go to the forum website and have a look for yourself.

Screenshot-28.png
Beko
Hors ligne
A rejoint: 08/31/2019

I'm still a newb when it comes to GNU Linux software but I think that GUIX has a pretty cool package manager. I saw at a live forum where a debian contributor was praising it highly.

chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> I'm still a newb when it comes to GNU Linux software but I think that
> GUIX has a pretty cool package manager. I saw at a live forum where a
> debian contributor was praising it highly.

Guix has a *very* cool package manager. It's slow, although I hear
they're working on this, and it lacks a graphical frontend, but I think
it has a ton of long-term potential. What I'm looking for right now
though is a new graphical frontend to apt, Trisquel's current
package manager.

evilive
Hors ligne
A rejoint: 08/12/2019

"Guix has a *very* cool package manager."
GUIX is a package manager :) In fact it's the other way around, the GUIX package manager has an OS based on it. I think it's so original that it turns previous definitions of what constitutes an OS and where "borders" of an OS lie on their heads.
By the way, speaking of a graphical frontend, check out https://emacs-guix.gitlab.io/website/screenshots.html (I know it's not "graphical" per se, but looks cool anyway)

chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> I think it's so original that it turns previous definitions of what
> constitutes an OS and where "borders" of an OS lie on their heads.

Well, it takes after the NixOS package manager in many ways, but is also
pretty interesting in its own right, and more freedom-minded.

> By the way, speaking of a graphical frontend, check out
> https://emacs-guix.gitlab.io/website/screenshots.html (I know it's not
> "graphical" per se, but looks cool anyway)

I'm aware of the emacs-guix. It does not count as a graphical frontend.
:)

evilive
Hors ligne
A rejoint: 08/12/2019

It has a principal difference though, it's based on a general-purpose language, unlike Nix with its limited approach. This alone can make it rather revolutionary.

chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> It has a principal difference though, it's based on a general-purpose
> language, unlike Nix with its limited approach. This alone can make it
> rather revolutionary.

Oh, yeah. With that I agree.

evilive
Hors ligne
A rejoint: 08/12/2019

"It does not count as a graphical frontend."
you can lead people to believe it is a graphical frontend, and trick them into using emacs (^:

chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> "It does not count as a graphical frontend."
> you can lead people to believe it is a graphical frontend, and trick them
> into using emacs (^:

lol :)

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

If I remember correctly, Ubuntu MATE uses its own "Software Center". I could try it in a VM and see what happens. Of course, it will surely recommend non-free junks like gnome-software does in Ubuntu, so it must be purified.

I personally don't like gnome-software very much. It (at least as used in Ubuntu) used ambiguous term "free" to denote either free software or gratis non-free software. It also has other freedom issues mentioned above. Even if I sometimes use Gnome 3 as desktop environment, I never used gnome-software. Instead, I uninstall gnome-software as soon as I finish installing the system.

Bret Busby
Hors ligne
A rejoint: 11/02/2019

On 02/11/2019, name at domain <name at domain> wrote:
> If I remember correctly, Ubuntu MATE uses its own "Software Center". I could
>
> try it in a VM and see what happens. Of course, it will surely recommend
> non-free junks like gnome-software does in Ubuntu, so it must be purified.
>
> I personally don't like gnome-software very much. It (at least as used in
> Ubuntu) used ambiguous term "free" to denote either free software or gratis
>
> non-free software. It also has other freedom issues mentioned above. Even if
>
> I sometimes use Gnome 3 as desktop environment, I never used gnome-software.
>
> Instead, I uninstall gnome-software as soon as I finish installing the
> system.
>

The Ubuntu Software Centre is in UbuntuMATE 16.04.x, upon which, I
understand Trisquel 8 to be based, but is removed (and replaced with
an inferior thing) in Ubuntu 18.04.x, upon which, I understand
Trisquel 9 to be based.

My preference, that I now use within UbuntuMATE, for adding software,
is synaptic, which is already part of Trisquel, as I regard synaptic
as far superior, and, more user friendly, than the software managers
(or things that add and remove software) from UbuntuMATE 18.04,
onward.

--
Bret Busby
Armadale
West Australia
..............

"So once you do know what the question actually is,
you'll know what the answer means."
- Deep Thought,
Chapter 28 of Book 1 of
"The Hitchhiker's Guide to the Galaxy:
A Trilogy In Four Parts",
written by Douglas Adams,
published by Pan Books, 1992

....................................................

chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> My preference, that I now use within UbuntuMATE, for adding software,
> is synaptic, which is already part of Trisquel, as I regard synaptic
> as far superior, and, more user friendly, than the software managers
> (or things that add and remove software) from UbuntuMATE 18.04,
> onward.

We are definitely keeping Synaptic. It is great for users who know
exactly what they want to install but prefer a graphical interface over
the command line. For beginners though, it is overwhelming to be
presented with libraries, drivers, *-data, *-dbg, and a bunch of other
packages that they don't understand and probably do not need to install,
alongside the end user applications that they are looking for. In
addition to Synaptic, we need also need a package manager with better
hierarchy of discoverability to facilitate beginning users finding what
they're looking for. The problem, as you note, is that many attempts at
doing this are crap, especially gnome-software. I'm trying to find the
least crappy one.

chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> If I remember correctly, Ubuntu MATE uses its own
> "Software Center". I could try it in a VM and see what
> happens. Of course, it will surely recommend non-free
> junks like gnome-software does in Ubuntu, so it must be
> purified.

Thanks, I'll take a look.

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

Thank you very much for replying. Besides synaptic, I found the following things that may be relevant to software/package management:

GDebi, sounds like a front end of dpkg
Software & Updates, used for configurating repositories
Software Updater, used for updating existing packages
Software Boutique, something unique to Ubuntu MATE, and I guess this is what I reminded.

Surely, it recommends non-free software like Skype, so it must be purified before use.

VirtualBox_ubuntu_03_11_2019_10_32_16.png
chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> GDebi, sounds like a front end of dpkg
> Software & Updates, used for configurating repositories
> Software Updater, used for updating existing packages

These are great for what they each do, and are already included in
Trisquel.

> Software Boutique, something unique to Ubuntu MATE, and I guess this is
> what I reminded.
>
> Surely, it recommends non-free software like Skype, so it must be
> purified before use.

We would definitely need to remove the snap integration. It also
appears to be based around manual curation, which I'm not sure how I
feel about. gnome-app-install allows sorting applications based on
popularity, but otherwise presents them neutrality, without promoting
any particular application over another. In order to take a
curation-based approach we'd need to commit to some ongoing labor and
decision-making.

davidpgil
Hors ligne
A rejoint: 08/26/2015

We could use the version of gnome-software that PureOS uses. I tested out PureOS 9 today and I noticed that it seemed to work quite nicely and did not recommend non-free software:

gnome-software:
https://software.pureos.net/search_pkg?term=gnome-software

PureOS 9 ISO:
https://pureos.net/

chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> We could use the version of gnome-software that PureOS uses. I noticed
> that it seemed to work quite nicely and did not recommend non-free
> software:

For some reason I can't find gnome-software in Purism's VCS,[1] so it is
not easy to see the exact modifications they have made to Debian's
gnome-software. Based on the changelog available here though,[2] it
appears that most of the modifications made are Librem 5-specific
changes that we don't want, including an added dependency on libhandy.
The only freedom-related item in the changelog that is the removal of
this patch,[3] which is trivial enough that it would be easier to start
upstream's gnome-software and make that small change ourselves, along
with other changes like preventing gnome-software from recommending
packages from PPAs added by the user, than to start with PureOS's and
revert their other changes.

[1]
https://source.puri.sm/search?utf8=%E2%9C%93&search=gnome-software&group_id=34&project_id=&repository_ref=&nav_source=navbar

[2]
https://repo.pureos.net/pureos/pool/main/g/gnome-software/gnome-software_3.34.0%2B7586%2Bgitd7b3a55a-1pureos0.debian.tar.xz

[3]
https://salsa.debian.org/gnome-team/gnome-software/blob/debian/master/debian/patches/0011-Support-snap-channels.patch

davidpgil
Hors ligne
A rejoint: 08/26/2015

> For some reason I can't find gnome-software in Purism's VCS,[1] so it is
> not easy to see the exact modifications they have made to Debian's
> gnome-software...

I managed to find it by searching with the "Any" filter. It was in the Librem 5 section:

https://source.puri.sm/Librem5/gnome-software

strypey
Hors ligne
A rejoint: 05/14/2015

What about having a web-based app store, like Mint does, or the Firefox addons site? Could you set up app info pages so that clicking "install" starts the default package manager and asks it to install the package(s) for that app (subject to user entering the correct admin password of course)? Then the "add/ remove applications" menu item could launch the default web browser into a searchable index of those app pages.

A web-based app store could also provide anonymous stats on how many times different apps get installed, prominent links for how users can contribute to app dev (with time, money, or otherwise), and so on.

chaosmonk

I am a member!

I am a translator!

Hors ligne
A rejoint: 07/07/2017

> What about having a web-based app store, like Mint does, or the
> Firefox addons site?

I spent several weeks migrating gnome-app-install from python2->python2,
gtk2->gtk3, and gksu->pkexec, and fixing a bunch of long-standing bugs,
so we're using it. :)

Since it's no longer maintained upstream, we're changing the name of our
fork to trisquel-app-install.

> A web-based app store could also provide anonymous stats on how many
> times different apps get installed,

We don't need a web-based app store to do that. We'd just need to setup
a popcon server like Ubuntu and Debian have. popcon is actually better,
because it measures not just how many times an app is installed, but
also how often it is actually used.

However, we have very few users compared to Ubuntu and Debian, and I
think many Trisquel users will be inclined to opt out of any data
collection, even if it's anonymized. For the amount of trouble it would
be to set up, I think we are better off just using Ubuntu's popcon data
and making substitutions (Firefox->Abrowser, Thunderbird->Icedove) where
appropriate.

> prominent links for how users can contribute to app dev (with time,
> money, or otherwise), and so on.

That's not a bad idea. First we'd need to write some clear and
accessible documentation on how to contribute, which I don't have the
energy to do right now but might think about after Etiona is ready.

Connochaetes
Hors ligne
A rejoint: 12/13/2017

>popcon is actually better, because it measures not just how many times an app is installed, but also how often it is actually used

That's good. I think it's a very bad idea to translate install count to popularity. I often install things I've never heard of, of which I have only a dim idea of what they might be supposed to do, only to discover I do not like them or can't get them to work. I would not want such installs to alter the package's popularity score.