User paper protoyping showed that non-technical users are often confused by the cluttered interface of synaptic, while technical users mostly use the command line. As a consequence, we thing that we should use GNOME Packagekit (debian package: gnome-packagekit [https://packages.debian.org/stable/gnome-packagekit]) instead of synaptic as the primary way to add Additional Software to Tails.
GNOME Packagekit seems not actively developped anymore as most efforts goes in GNOME Software. GNOME Software however doesn’t fulfill the objective, as " It’s designed to be an application management application. GNOME PackageKit lives on for people that know what a package is and want a pointy-clicky GUI, so I’m not interested in showing low level details for power users." ([https://blogs.gnome.org/hughsie/2013/03/05/gnome-software-overall-plan/]). In Debian, Software doesn’t show all software that my be of user interest (e.g. hyphenation data for you language, most fonts) and is not yet polished (shows “Sorry, something went wrong”)
GNOME Packagekot is still maintained, recieving bugfixes and translation updates, and having releases ([https://git.gnome.org/browse/gnome-packagekit/log/]). We may ask for confirmation that it will keep on being maintained for some time.
For some reason
tails-persistence-setup depends on
synaptic to use one of its icons. That should be fixed as part of this ticket.
|Bug #12372: Get software-properties-gtk starting / fix /etc/os-release||Confirmed||
|Bug #15263: Persistence-setup: stop depending on synaptic||Resolved||
|Bug #15384: Adding ASP fails when a package is installed from packagekitd||Resolved||
|Feature #15540: Hide the launcher for software-properties-gtk||Confirmed||
|Related to Tails - Feature #14544: Spend software developer time on smallish UX improvements||In Progress||2018-08-31|
|Related to Tails - Feature #15785: Consider showing Synaptic quick introduction||Confirmed||2018-08-12|
Related to Tails -
#1 Updated by intrigeri 2018-01-30 10:39:18
(Below I’m adding a data point and asking an important question: I have no strong opinion on this matter so far, but I want to make sure we take all the important factors into account before we make a decision on this front.)
> GNOME Packagekit is still maintained, recieving bugfixes and translation updates, and having releases ([https://git.gnome.org/browse/gnome-packagekit/log/]).
… that nobody bothers packaging for Debian: 3.24 was tagged upstream on 2017-03-20, 3.26 was tagged upstream on 2017-09-11, and none of those are in Debian.
Does GNOME PackageKit support Flatpak? (GNOME Software does.) Admittedly we don’t care right now, but the next iteration of desktop apps sandboxing will most likely be based on Flatpak, so investing effort now in a technical solution that does not support Flatpak would create technical debt someone has to handle later.
#2 Updated by alant 2018-02-04 22:23:37
You’ll find below quotation of emails we exchanged with GNOME PackageKit author Richard Hughes:
>>>> For how long will GNOME Packagekit going to be maintained?
>>> It’s really in maintainance mode. I don’t get any allocated time to
>>> work on it, so although I’ll gladly review patches and still do tarballs,
>>> other than that don’t expect much. Sorry if this isn’t the response you
>>> wanted to hear.
>>> Are there reasons you can’t use gnome software? That’s 100%
>>> maintained by a small gang these days. Most active projects have appdata
>> Well in Debian (which Tails is based on) it doesn’t display some
>> packages we’d like our users to be able to install, for instance
>> hyphenation data for their specific language or most fonts.
> That’s pretty easy to add; for Fedora it was just a case of merging in
> one metainfo.xml file into each package. As soon as you do that the
> package becomes available as a component in gnome-software. We support
> fonts and localization data already.
>> I’m also concerned by the “featured application” and “distribution
>> selection” on the home screen, which may not be relevant in the context
>> of Tails. I didn’t find documentation on how to tweak it.
> There are quite a few ways to set it:
> IMHO, I really think it’s going to be less work just polishing up
> gnome-software than trying to resurrect gnome-packagekit. There’s
> certainly a healthy ecosystem around the former.
#5 Updated by sajolida 2018-02-24 10:13:20
- Type of work changed from Code to Discuss
Given what intrigeri said regarding the status of GNOME Packages, Alan do you still think we should do that?
I’m personally not so sure anymore…
If GNOME Software is not good enough yet, for some reason, could we have both GNOME Software and Synaptic for some time?
I feel this ticket needs more discussion.
#7 Updated by intrigeri 2018-02-24 12:16:50
- Target version changed from Tails_3.9 to Tails_3.7
> I bet this won’t be ready for 3.6. The next major release is 3.9.
FTR all SponsorW_2017 ASP work must have at least a beta quality implementation ready by April 15 so either we drop the “Deliverable for” and parent task or this is 3.7 material.
#8 Updated by alant 2018-02-24 19:48:47
> Given what intrigeri said regarding the status of GNOME Packages, Alan do you still think we should do that?
> I’m personally not so sure anymore…
I think the best would be to have GNOME Software behave as we want, but that means some work, and I don’t think we’ll get enought time to do it. See https://labs.riseup.net/code/issues/15262#note-2 for my concerns and the maintainer’s answer.
> If GNOME Software is not good enough yet, for some reason, could we have both GNOME Software and Synaptic for some time?
We could, but it may add confusion.
> I feel this ticket needs more discussion.
I think GNOME software is the best long-term solution for sure, but in the current state of things GNOME Packagekit fits better our needs. I really belive that both are better than synaptic for basic usecases so keeping Synaptic because we can’t decide looks a shame to me.
#10 Updated by intrigeri 2018-02-26 09:30:07
> I think the best would be to have GNOME Software behave as we want, but that means some work, and I don’t think we’ll get enought time to do it.
Fair enough… assuming GNOME PackageKit requires less work.
> See https://labs.riseup.net/code/issues/15262#note-2 for my concerns and the maintainer’s answer.
… which does not really address the concerns I’ve raised in Feature #15262#note-1 but rather discourages us from shipping GNOME PackageKit.
> I think GNOME software is the best long-term solution for sure, but in the current state of things GNOME Packagekit fits better our needs. I really belive that both are better than synaptic for basic usecases so keeping Synaptic because we can’t decide looks a shame to me.
Understood. I see where you’re talking from. I’m talking from somewhere else so let me elaborate on a few aspects I’d like to see factored into this decision-making process:
- I agree that replacing Synaptic with GNOME PackageKit would likely improve things for users on the short term. But I want us to consider the long term cost/benefit as well. Switching to another piece of software has a cost for us (integration, test suite, documentation) and a UX cost (for users who have to change their habits and learn again); doing it once with good reasons is OK; doing it twice (because e.g. GNOME PackageKit finally dies upstream, stops working or gets removed from Debian) at least doubles this cost both for users and for us; so it’s not obvious to me that switching to GNOME PackageKit now, while we know it is not a sustainable long-term solution, is a net benefit on the long term.
- Switching to GNOME PackageKit also requires work:
- IIRC GNOME PackageKit automatically does APT update + upgrade and displays GUI bits about it; presumably we want to disable that.
- GNOME PackageKit probably also comes with its own set of bugs; we’ll need to discover them (considering probably none of us uses that software I would expect quite some bad surprises), assess their importance for Tails, and if needed fix/workaround them (see e.g. https://bugs.debian.org/852651 and https://bugs.debian.org/868122 that may happen in Tails in some corner cases); it’s likely that we’ll be on our own if anything goes wrong and even if upstream fixes the bug, I don’t think we can expect the fix to land in Debian without putting quite some effort ourselves (read: myself) into it.
- Synaptic gives poor UX and desktop integration but its maintenance cost for us is very low and, more importantly: it’s predictible (we’ve been able to support Synaptic in Tails for many years without major issues). OTOH shipping GNOME PackageKit looks like a ticking time-bomb to me: most likely GNOME PackageKit ll stop working at some point or will get removed from Debian, and then someone will have to either fix it, or maintain a Tails-specific package for it, or handle the migration to GNOME Software. We have no control on the timing of that future breakage and likely the corresponding work will have to be handled by the Foundations Team. The FT works with limited resources so dealing with this will prevent us from working on something else.
I won’t argue endlessly and I can live with whatever you folks decide as long as the above is taken into account and there’s a realistic plan to ensure that GNOME Software is good enough for our needs whenever we have to migrate to it (I would really hate discovering in 2 years, while porting Tails to Bullseye, that not only we have to migrate to GNOME Software but the issues we have with it haven’t been reported upstream or are stalled; if that’s the case we may have to switch back to Synaptic, which I’m sure you’ll agree would be a shame :)
#12 Updated by sajolida 2018-03-04 10:29:44
Reading intrigeri’s last comment, let’s think about what we could do if
we don’t add GNOME PackageKit.
We saw in the tests that the interface is cluttered and painful. But we
also saw that people find their way around it somehow. It’s painful but
people made it when we asked them to install Mumble.
But we didn’t ask people to find an application that they would like to
add to Tails and install it. I don’t know GNOME Software very much but
it might be much better at discovering relevant applications than
Synaptic. Synaptic might not work for that. From my personal experience,
something very complicated for people who are not used to Linux is to
know which application to install in the first place.
We will get more and stronger data about this when doing the next user
testing. I could also add a task about discovering which package to
install given a user goal (eg. “You want to install an application to
GNOME Software only
Let’s list the problems we have with GNOME Software or the additional
work we would have to do:
Not all packages are listed. Can we build a list of example and how
they would affect users in reality?
Alan said it doesn’t display hyphenation data and most fonts. Is this
for example hyphen-fr?
I tried asking LibreOffice to hyphenate automatically a text for me
but I couldn’t find how to do that. Otherwise I don’t think I’ve ever
installed or used such a package.
Regarding fonts, is it about having correct fonts for other alphabets
or having more fancy fonts for alphabets that we already support?
I personally install fancy fonts by dropping them in ~/.fonts :)
Any other missing packages? I’d be happy to investigate this further
once I get GNOME Software working in Tails…
Because right now I still can’t start it. See Bug #12372. Which is another
work we have to do if we want GNOME Software in Tails.
Synpatic is not mentioned much in our documentation so switching fully
to GNOME Software wouldn’t be much work. We would have to document
whatever application we will have in time for Additional Software, and
at first sight, GNOME Software seems easier to document than Synaptic.
Synaptic + GNOME Software
If we get GNOME Software running in Tails and if we identify serious
lacks in the packages that are missing in it, we could have both
installed for some time until GNOME Software is good enough for all use
That would require more documentation work for Additional Software
because we would have to document both Synaptic and GNOME Software and
explain people when to use which one.
It might be confusing for people to have two applications to do
basically the same thing.
All-in-all, I think I’m in favor of:
- Doing a bit more research work to see if switching to GNOME Software
would work for our users and is easy enough to fit in the budget we
have for this project.
- Otherwise stick to Synaptic only while keeping the work on GNOME
Software in the back burner but outside of this project. I don’t know
if it qualifies as Foundations team (it is somehow about migrating to
new core upstream technology). Depending on the success of Additional
Software it might qualify as an important UX improvement for the
#13 Updated by intrigeri 2018-03-05 09:47:25
> I’d be happy to investigate this further once I get GNOME Software working in Tails…
> * Because right now I still can’t start it. See Bug #12372.
See my test report and question on Bug #12372 :)
> All-in-all, I think I’m in favor of:
> * Doing a bit more research work to see if switching to GNOME Software would work for our users and is easy enough to fit in the budget we have for this project.
> * Otherwise stick to Synaptic only while keeping the work on GNOME Software in the back burner but outside of this project.
> I don’t know if it qualifies as Foundations team (it is somehow about migrating to new core upstream technology).
It’s in a grey area IMO:
- On the one hand, FT is mostly about doing these kind of migrations when we have no, or little other choice than doing so. In this case it would be part of the FT’s mission if Synaptic stopped working or started causing regressions, but this is not the case AFAIK.
- On the other hand, the FT role includes:
- “migrate code that would otherwise rely on obsolete technologies”: I think it would be far-stretched to pretend that it applies here since we have no code that relies on Synaptic
- “if time allows, do whatever code task the project sees as top-priority, such as fixing Holes in the Roof, important bugs, or implementing a feature that is needed to keep Tails relevant”: we’ll be in a better position to make a decision about this with the new FT setup (previously we had no clue of “if time allows”)
> Depending on the success of Additional Software it might qualify as an important UX improvement for the future.
#14 Updated by alant 2018-03-06 11:27:10
> > All-in-all, I think I’m in favor of:
> > * Doing a bit more research work to see if switching to GNOME Software would work for our users and is easy enough to fit in the budget we have for this project.
> > * Otherwise stick to Synaptic only while keeping the work on GNOME Software in the back burner but outside of this project.
I agree too.
> > Depending on the success of Additional Software it might qualify as an important UX improvement for the future.
#16 Updated by sajolida 2018-04-17 14:50:08
- Subject changed from Ship user friendly software installer instead of Synaptic to GNOME Software
- Assignee changed from alant to sajolida
- Type of work changed from Discuss to Code
- Affected tool set to Additional Software Packages
- Deliverable for deleted (
#17 Updated by sajolida 2018-04-19 21:31:59
- Assignee changed from sajolida to alant
- Feature Branch set to feature/15262-gnome-software
After reading Bug #12372#note-28 I tried to create a simple branch that includes GNOME Software. See feature/15262-gnome-software. But from this ISO image I can get GNOME Software populated with the list of packages.
- I tried running
apt updateand I have some DEP-11 files in
- I tried removing
gnome-software, install it again, and run
apt updateagain and that doesn’t change anything.
Alan: Do you want to have a look?
#18 Updated by alant 2018-04-22 07:38:50
- Assignee changed from alant to sajolida
- QA Check set to Info Needed
> After reading Bug #12372#note-28 I tried to create a simple branch that includes GNOME Software. See feature/15262-gnome-software. But from this ISO image I can get GNOME Software populated with the list of packages.
You mean that you cannot?
> Alan: Do you want to have a look?
After I fix the blockers for the beta is too late?
Please note that before
Bug #15384 is solved GNOME Software won’t interact with additional software.
#19 Updated by sajolida 2018-04-23 17:25:51
>> After reading Bug #12372#note-28 I tried to create a simple branch that includes GNOME Software. See feature/15262-gnome-software. But from this ISO image I can get GNOME Software populated with the list of packages.
> You mean that you cannot?
Sorry, yes: I cannot get GNOME Software populated with packages.
>> Alan: Do you want to have a look?
> After I fix the blockers for the beta is too late?
Sure! In the doc that we drafted with Emma we’ll document briefly how to
install a package with Synaptic; even if documentation don’t fix a bad UX.
Also, switching to GNOME Software is still optional for the scope of the
grant but I wanted to share my progress with you and also maybe you
would find easily what’s the problem here.
> Please note that before
Bug #15384 is solved GNOME Software won’t interact with additional software.
#22 Updated by intrigeri 2018-05-17 13:02:25
Note the memory usage impact of installing GNOME Software: https://siliconislandblog.wordpress.com/2018/05/16/gnome-performance-hackfest/ and https://wiki.gnome.org/Hackfests/Performance2018/Agenda. A workaround is documented there but I don’t know what the drawbacks are.
#34 Updated by letthemeatpie 2018-09-11 17:22:39
I think this is a big mistake, don’t fix what’s not broken!
PK reminds me of a horrible .RPM package manager GUI I used in various .RPM distros. It was a nightmare to work with dependencies, adding/removing software while Synaptic is easy.
If PK is to replace Synaptic, that’s just one more work around for those of us who rely on Synaptic. Hopefully PK would be easily and cleanly removed and replaced with Synaptic should the user(s) desire it.
#38 Updated by alant 2018-12-16 20:21:11
- Status changed from Confirmed to In Progress
- QA Check set to Ready for QA
Bug #15384 is solved, it’s now easy to have
gnome-software working inside tails:
apt install --install-recommends gnome-software systemctl restart polkit.service apt update
Then start Software and it works!
I updated the branch but didn’t test if it’s enough to have appstream data.
Now we should decide if we want this, and if yes if we need customization (https://developer.gnome.org/gnome-software/stable/plugins.html).