Appstream does not install config file

Bug #1983112 reported by James Paton-Smith
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
appstream (Ubuntu)
New
Undecided
Unassigned
subiquity (Ubuntu)
New
Undecided
Unassigned

Bug Description

After performing an Ubuntu automated server install, and installing the ubuntu-desktop-minimal package (which includes appstream as a dependency) then the snap-store, the snap-store will fail to display search results for .deb packages in the Ubuntu apt repositories.

This is due to a missing config file (/etc/apt/apt.conf.d/50appstream) which is supposed to be installed as part of the appstream package.

The issue can be fixed by re-installing appstream with the following command-line:
apt-get -y install --reinstall -o Dpkg::Options::="--force-confmiss" appstream

ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: appstream 0.15.2-2
ProcVersionSignature: Ubuntu 5.15.0-41.44-generic 5.15.39
Uname: Linux 5.15.0-41-generic x86_64
ApportVersion: 2.20.11-0ubuntu82.1
Architecture: amd64
CasperMD5CheckMismatches: ./boot/grub/grub.cfg
CasperMD5CheckResult: fail
CurrentDesktop: ubuntu:GNOME
Date: Fri Jul 29 15:25:44 2022
InstallationDate: Installed on 2022-07-27 (1 days ago)
InstallationMedia: Ubuntu-Server 22.04 LTS "Jammy Jellyfish" - Release amd64 (20220421)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: appstream
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
James Paton-Smith (jamesps) wrote :
Revision history for this message
Matthias Klumpp (ximion) wrote :

Did you manually remove the config file before attempting to restore it? Because AFAIK `--force-confmiss` will only make the file show up again if it was modified compared to the previously deleted version, but otherwise leave it deleted in case the user has removed it.
I think you need the whole triplet of `--force-confask,confnew,confmiss` to actually get the file back.

Revision history for this message
James Paton-Smith (jamesps) wrote :

No, I did not remove the config file manually.
We're actually using the attached bash script as a late-command in the autoinstall as a workaround to fix the issue.

Without this script, the snap-store simply refuses to show .deb packages from the repos.

Revision history for this message
Matthias Klumpp (ximion) wrote (last edit ):

Very odd... There is nothing special about this config file (it's installed like every other) and this works absolutely fine on Debian and even my Ubuntu VM.
So, something very odd and possibly Ubuntu-specific is going on here...

Revision history for this message
James Paton-Smith (jamesps) wrote : Re: [Bug 1983112] Re: Appstream does not install config file

As far as I can tell, this only happens during deployment when
installing the ubuntu-desktop-minimal (haven't tried with the full-fat
ubuntu-desktop package) via the new Ubuntu automated server install method.

So probably is an Ubuntu-specific issue. I will try to do more testing
and narrow down the exact combination of events causing this.

On 01/08/2022 10:23, Matthias Klumpp wrote:
> Very odd... There is nothing special about this config file (it's installed like every other) and this works absolutely fine on Debian and even my Ubuntu VM.
> So, something very odd and possibly uBUNTU-SPECIFIC is going on here...
>
--
James Paton-Smith
Linux Support Officer

EBI Systems Application Group, South Building, Studio 12
European Bioinformatics Institute (EMBL-EBI)
Wellcome Trust Genome Campus
Hinxton
Cambridge
CB10 1SD

+44 (0)1223 494308

Revision history for this message
James Paton-Smith (jamesps) wrote :

Reuploading previous attachments after redacting sensitive information.

Original comment copied below:

Okay, I've gone down the rabbit hole with this one. It's possible this is 2 separate issues.

I tested 3 scenarios:
Scenario 1 - Performed a clean Ubuntu Server install (interactive), and installed ubuntu-desktop-minimal post-deployment.
After rebooting, the 50appstream config is present, and I installed snap-store and gnome-software.
Neither snap-store nor gnome-software showed any .deb packages. Only snaps.
I tried re-installing appstream and forcing a refresh of the cache, but still no .deb packages shown.
Nothing I have tried in this install has been able to fix the issue.

Scenario 2 - I performed a clean install using our automated install image (/var/log/installer contents attached) WITHOUT our appstream config reinstall script that I shared previously.
After deployment, ubuntu-desktop-minimal is already installed, and 50appstream config is MISSING (see attachment).
Both snap-store and gnome-software only show snaps. No .deb packages.
Next, I ran the appstream re-install script I shared previously and rebooted the machine.
After the reboot, gnome-software correctly shows .deb packages. However, snap-store is still only showing snaps!!!

Scenario 3 - I performed a clean install using our automated install image (/var/log/installer contents attached), this time including our appstream config reinstall script.
After the deployment, 50appstream config is PRESENT.
Both snap-store and gnome-software work correctly and show both snaps and .deb packages.

The varying behaviour between all 3 has completely blown my mind. I really don't know what is the cause of the issue, and potentially this is even 2 separate issues, since in Scenario 1, neither snap-store nor gnome-software work correctly.

Revision history for this message
James Paton-Smith (jamesps) wrote :
Revision history for this message
James Paton-Smith (jamesps) wrote :
Revision history for this message
James Paton-Smith (jamesps) wrote :
Revision history for this message
James Paton-Smith (jamesps) wrote :
Revision history for this message
James Paton-Smith (jamesps) wrote :

Had some time to test this more.

I'm almost certain this is caused by the server autoinstall method.

After doing another manual server install (interactive), and installing ubuntu-desktop-minimal, I just need to do a `snap refresh snapd` to fix the issue with the software store. /etc/apt/apt.conf.d/50appstream is present without any extra steps.

If I do an autoinstall, and list appstream as the only package to install, /etc/apt/apt.conf.d/50appstream is missing.
The command run by the installer is below:
```
/usr/bin/apt-get --quiet --assume-yes --option=Dpkg::options::=--force-unsafe-io --option=Dpkg::Options::=--force-confold install appstream
```

But if I run this manually on a clean system, /etc/apt/apt.conf.d/50appstream is present. So the issue must be something else related to the autoinstall.

I can only replicate this issue if using the Ubuntu Autoinstall method.

Should I open a separate issue for this? I've already added subiquity package to the affected packages list.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.