Project

General

Profile

Bug #12372

Feature #15262: GNOME Software

Get software-properties-gtk starting / fix /etc/os-release

Added by u over 1 year ago. Updated about 1 month ago.

Status:
Confirmed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
03/18/2017
Due date:
% Done:

10%

QA Check:
Feature Branch:
Type of work:
Code
Blueprint:
Starter:
Affected tool:
Additional Software Packages

Description

This prevents GNOME Software to start on Tails/Stretch

This also breaks the configuration of repositories in Synaptic when software-properties-gtk is installed. It is included by default in Stretch with GNOME according to #11110#note-4 but not in Tails.


Related issues

Related to Tails - Bug #11110: Document alternative Synaptic dialog with software-properties-gtk Resolved 02/12/2016
Related to Tails - Bug #9033: Adjust /etc/issue and /etc/motd to Tails branding Confirmed 03/07/2015
Related to Tails - Feature #15540: Hide the launcher for software-properties-gtk Confirmed 04/17/2018

History

#1 Updated by u over 1 year ago

add in /etc/os-release:

ID=whatever
PRETTY_NAME=whatever

#2 Updated by intrigeri over 1 year ago

  • Status changed from New to In Progress
  • Target version set to Tails_3.0
  • % Done changed from 0 to 10

Is this a blocker for the release? If so, please bump priority to Elevated.

#3 Updated by intrigeri over 1 year ago

u, sajolida: is this a blocker for the release? If so, please bump priority to Elevated. The impact is unclear to me as we don't include gnome-software by default, but the fix seems to trivial that it probably takes less time to just fix it than to discuss it any further.

#4 Updated by intrigeri over 1 year ago

  • Subject changed from Tails based on stretch: gnome-software-center won't start to GNOME Software won't start on Tails/Stretch

#5 Updated by u over 1 year ago

It's not a blocker for the release I think.

#6 Updated by sajolida over 1 year ago

Agreed.

#7 Updated by sajolida over 1 year ago

  • Subject changed from GNOME Software won't start on Tails/Stretch to Missing ID is /etc/os-release
  • Description updated (diff)

#8 Updated by sajolida over 1 year ago

  • Subject changed from Missing ID is /etc/os-release to Missing information in /etc/os-release

#9 Updated by sajolida over 1 year ago

Adding the snippet in #12372#note-1 is not enough to completely fix GNOME Software and software-properties-gtk.

When starting GNOME Software I still get:

15:43:29:0807 Gs  no distro name specified

When starting software-properties-gtk I still get:

ERROR:root:Cannot import UbuntuDrivers: No module named 'UbuntuDrivers'
Traceback (most recent call last):
  File "/usr/bin/software-properties-gtk", line 101, in <module>
    app = SoftwarePropertiesGtk(datadir=options.data_dir, options=options, file=file)
  File "/usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py", line 109, in __init__
    SoftwareProperties.__init__(self, options=options, datadir=datadir)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 109, in __init__
    self.reload_sourceslist()
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 599, in reload_sourceslist
    self.distro.get_sources(self.sourceslist)    
  File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 93, in get_sources
    (self.id, self.codename))
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Tails/stretch

And the configuration of repositories in Synaptic that I wanted to use to solve #11110 is still broken :(

#10 Updated by sajolida over 1 year ago

  • Related to Bug #11110: Document alternative Synaptic dialog with software-properties-gtk added

#11 Updated by intrigeri over 1 year ago

  • Target version changed from Tails_3.0 to Tails_3.1

sajolida made it clear above that it's not blocking 3.0.

#12 Updated by intrigeri about 1 year ago

#13 Updated by u about 1 year ago

  • Related to Bug #9033: Adjust /etc/issue and /etc/motd to Tails branding added

#14 Updated by anonym about 1 year ago

  • Target version changed from Tails_3.1 to Tails_3.2

#15 Updated by intrigeri about 1 year ago

  • Assignee changed from anonym to sajolida
  • Type of work changed from Code to User interface design

sajolida wrote:

Adding the snippet in #12372#note-1 is not enough to completely fix GNOME Software and software-properties-gtk.

When starting GNOME Software I still get:

[...]

This comes from https://sources.debian.net/src/gnome-software/3.22.5-1/src/plugins/gs-plugin-odrs.c/?hl=70#L70. Fixed by adding NAME="Tails" in /etc/os-release in Tails 3.1, and then GNOME Software manages to list the installed apps.

It still fails to display other available apps in the "All" tab until I run apt update to download the DEP-11 metadata (the config file that enables this wasn't there before the appstream package is pulled in by installing GNOME Software itself), but that's another problem, that should get its own ticket if/once we decide to ship GNOME Software in Tails.

When starting software-properties-gtk I still get:

[...]

This comes from https://sources.debian.net/src/python-apt/1.4.0%7Ebeta3/aptsources/distro.py/?hl=92#L92. The templates live in /usr/share/python-apt/templates/ and contain a list of mirrors that aptsources/sourceslist.py will use when parsing the existing APT sources. So as the error message says, there's no Tails template in there. We could add some, based on the Debian ones (and perhaps we'll need to add entries for the non-Debian APT sources we use?) but the Debian hidden services we're using are not listed in the Debian template so that's not enough: copying Debian.{info,mirrors} to Tails.{info,mirrors} fixes the startup of software-properties-gtk, and then the first tab is labelled "Tails Software" (wow!) with every checkbox unchecked, and all our APT sources are listed in the "Other Software" tab.

IMO we have two options: either display all the APT sources we enable by default in "Tails Software" (so that user-added ones are clearly singled out, and "Tails" appears as a merge of Debian and non-Debian sources, which is really is), or pretend we're Debian (and then set our name to Debian in /etc/os-release, display all the Debian sources in "Debian Software", and all our others sources in "Other Software"). I prefer the first option personally, but I want sajolida's input on this before implementing anything, since he's the one who wants to design/document stuff in this interface.

#16 Updated by intrigeri about 1 year ago

  • Target version changed from Tails_3.2 to Tails_3.3

(I think it's too late to get the UX input + implement the solution in time for 3.2.)

#17 Updated by intrigeri 12 months ago

#18 Updated by intrigeri 12 months ago

#19 Updated by sajolida 11 months ago

  • QA Check set to Info Needed

#20 Updated by sajolida 10 months ago

  • Target version changed from Tails_3.3 to Tails_3.5

#21 Updated by intrigeri 9 months ago

#22 Updated by anonym 8 months ago

  • Target version changed from Tails_3.5 to Tails_3.6

#23 Updated by sajolida 7 months ago

#24 Updated by intrigeri 7 months ago

Summing up:

  • wrt. GNOME Software: adding ID, NAME and PRETTY_NAME to /etc/os-release is enough to make GNOME Software start (and work, once one has run apt update or similar)
  • wrt. software-properties-gtk: more coding work is needed if we ever want to include this piece of software; if that's the case, follow-up discussion should happen on a dedicated ticket, that would be blocked by this one (so this ticket can be refocussed to the /etc/os-release matter, and perhaps closed some day)

#25 Updated by intrigeri 7 months ago

intrigeri wrote:

Summing up:

  • wrt. GNOME Software: adding ID, NAME and PRETTY_NAME to /etc/os-release is enough to make GNOME Software start (and work, once one has run apt update or similar)

This was a summary of the info I've gathered on this ticket.

But on current Tails (a recent build of a branch based on devel) GNOME Software works fine for me without fixing /etc/os-release; I do see "Gs no distro name specified" if I start it from a Terminal but I could successfully install a package anyway after doing: sudo apt update && sudo apt install gnome-software && sudo apt update && gnome-software. Same from GNOME Software started from the Applications menu. Note that one needs to run apt update after installing gnome-software (as explained in #12372#note-15) to get the DEP-11 metadata that GNOME Software needs to display available apps.

So while I'm open to fix /etc/os-release, it does not seem to be a blocker for #15262.

This being said, sajolida wrote on #15262#note-12 that he still cannot start GNOME Software. Could you please tell me what you're trying and how it fails, so I can try to reproduce?

#26 Updated by sajolida 6 months ago

  • Target version changed from Tails_3.6 to Tails_3.7

#27 Updated by sajolida 5 months ago

  • Blocks Feature #15392: Core work 2018Q2 → 2018Q3: User experience added

#28 Updated by sajolida 5 months ago

  • Assignee changed from sajolida to intrigeri

I did more tests today. Sorry for the delay...

  • I got GNOME Software to work, indeed! I missed running apt update after installing gnome-software I think.
  • I see that software-properties-gtk is a hard dependency of GNOME Software. So I think that we can't move on with including GNOME Software (#15262) without fixing software-properties-gtk.
  • I had to add 'ID="Tails"' and 'PRETTY_NAME="Tails"' to /etc/os-release. So I think that we need to fix this ticket before being able to have software-properties-gtk.
  • All this clearly won't fit in our work on Additional Software.
  • I agree with you that I like the option of displaying "Tails Software" in software-properties-gtk.

In terms of Redmine, it could look like this:

  • Repurpose #15262 to be able replacing Synaptic by GNOME Software. See the decision in #15262#note-14.
  • Create a subtask of #15262 about having software-properties-gtk working in Tails as it's a dependency from GNOME Software.
  • Make this ticket a subtask of software-properties-gtk.

Did I get it right?

#29 Updated by intrigeri 5 months ago

  • Assignee changed from intrigeri to sajolida

Hi!

sajolida wrote:

  • I see that software-properties-gtk is a hard dependency of GNOME Software.
    So I think that we can't move on with including GNOME Software (#15262) without
    fixing software-properties-gtk.

I lack info to understand why you're drawing this conclusion. Assuming the GNOME Software UI does not not allow starting software-properties-gtk, we could for example:

  • if GNOME Software works fine when the software-properties-gtk files are not available: ship a dummy/empty software-properties-gtk package generated with equivs, merely to satisfy the dependency
  • if GNOME Software requires the software-properties-gtk files to be around but we don't need a working software-properties-gtk: let APT install software-properties-gtk but hide its launcher

Both options are very cheap to implement and either may avoid the need to fix software-properties-gtk in order to move on with #15252.

In terms of Redmine, it could look like this:

If my lack of info lead me to misunderstand the above, and if indeed GNOME Software really needs a working software-properties-gtk installation (apart of the APT depedency), then yes.

#30 Updated by sajolida 5 months ago

  • Subject changed from Missing information in /etc/os-release to Get software-properties-gtk starting
  • Status changed from In Progress to Confirmed
  • Assignee deleted (sajolida)
  • Target version deleted (Tails_3.7)
  • QA Check deleted (Info Needed)
  • Type of work changed from User interface design to Code
  • Affected tool set to Additional Software Packages

Actually you're right: GNOME Software doesn't need a working software-properties-gtk. Yet another test scenario that I missed...

So that's good new: we can switch to GNOME Software whenever we want!!!

I think that the best way of encoding this in Redmine is to repurpose this ticket about fixing software-properties-gtk.

#31 Updated by sajolida 3 months ago

  • Blocks deleted (Feature #15392: Core work 2018Q2 → 2018Q3: User experience)

#32 Updated by u about 1 month ago

  • Related to Feature #15540: Hide the launcher for software-properties-gtk added

#33 Updated by u about 1 month ago

#34 Updated by u about 1 month ago

  • Parent task set to #15262

#35 Updated by u about 1 month ago

  • Subject changed from Get software-properties-gtk starting to Get software-properties-gtk starting / fix /etc/os-release
  • Assignee set to alant
  • Target version set to Tails_3.10

From the above analysis it seems to me that software-properties-gtk is not needed. We might thus either repurpose this ticket to fix /etc/os-release or even close this ticket.
I'm tentatively assigning this to Alan, as he is the owner of the parent ticket and can eventually make this decision.

Also available in: Atom PDF