signalapp / Signal-Desktop

A private messenger for Windows, macOS, and Linux.
https://signal.org/download
GNU Affero General Public License v3.0
14.65k stars 2.67k forks source link

Fix Origin/Label/Suite/Codename of the apt repository #5545

Open hoxu opened 3 years ago

hoxu commented 3 years ago

Bug Description

The apt repository's InRelease file contains the following:

Origin: . xenial
Label: . xenial
Suite: xenial
Codename: xenial
Date: Thu, 30 Sep 2021 00:48:46 UTC
Architectures: amd64
Components: main
Description: Generated by aptly

Origin/Label/Suite/Codename are obviously wrong, and should be filled with descriptive values. The content of these fields is used by other software, eg. unattended-upgrades, so they should contain values specific to the repository in question.

Here is a better example courtesy of Spotify:

Origin: Spotify LTD
Label: Spotify Public Repository
Suite: stable
Codename: stable
Version: 0.4
Date: Wed, 22 Sep 2021 08:30:03 UTC
Architectures: amd64 i386
Components: non-free
Description: Spotify's repository for the desktop client

Another courtesy of Google Chrome:

Origin: Google LLC
Label: Google
Suite: stable
Codename: stable
Version: 1.0
Date: Wed, 29 Sep 2021 15:57:07 UTC
Architectures: amd64
Components: main
Description: Google chrome-linux software repository

Platform Info

Signal Version: irrelevant

Operating System: Debian

Linked Device Version: irrelevant

ericdand commented 1 year ago

Beware, apt will raise a warning requiring user confirmation (though it's suppressable with the -y flag) when the Origin, Label, Suite, or Codename fields change. This change should therefore be applied to the next major distro revision of the repos: for example, the "xenial" repo used as an example here can't be changed without breaking unattended updates, but the repo for the next Ubuntu release (whatever the codename is for 24.04 when it's released) could have updated metadata without issue.

I also note that the configs for generating the apt repo do not exist in this codebase, so perhaps this issue belongs elsewhere, where it might get more attention or traction.

erebion commented 11 months ago

Beware, apt will raise a warning requiring user confirmation (though it's suppressable with the -y flag) when the Origin, Label, Suite, or Codename fields change.

It ultimately should just land in Debian, as I commented on #2521: https://github.com/signalapp/Signal-Desktop/issues/2521#issuecomment-1815211347

This will make it just work for all release upgrades, ensure dependencies are always present as the Debian maintainers know what to look out for, makes it appear in Ubuntu and Mint as well, let's people just use the Software Center without setting up a third party repository first (which is hard for many people).