[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1122637: APT incorrectly attempts to downgrade sgml-base when CloudPanel repository is enabled on Debian 13 (Trixie)



Package: apt
Severity: normal
Tags: upstream

Hello,

I am running a fresh Debian 13 (Trixie) installation on a server where I installed CloudPanel. After CloudPanel adds its own APT repository, APT starts repeatedly suggesting a “DOWNGRADING: sgml-base” operation, even though the installed version and the candidate version are identical.

This only happens when the CloudPanel repository provides a "trixie main" component. If I comment out that “main” line and keep only the PHP/nginx/varnish components, the issue disappears.

Because of that, I think this is an interaction problem between APT’s resolver and a third-party repository that declares itself as “trixie main” while also mirroring packages such as sgml-base.

I am copying CloudPanel support, since this behavior concerns both Debian and CloudPanel’s repository structure.

------------------------------------------------------------
System information
------------------------------------------------------------

- Distribution: Debian 13 (Trixie), minimal install
- APT: default version from Trixie (I can provide exact `apt --version` if needed)
- CloudPanel installed from its official installer
- MariaDB official repository enabled
- Netdata official repository enabled

The relevant APT repository configuration files are:

  /etc/apt/sources.list.d/debian.sources
  /etc/apt/sources.list.d/mariadb.list
  /etc/apt/sources.list.d/netdata.sources
  /etc/apt/sources.list.d/packages.cloudpanel.io.list

------------------------------------------------------------
Problem summary
------------------------------------------------------------

As soon as CloudPanel’s repo line

    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie main

is present, running:

    apt update && apt upgrade

produces:

    DOWNGRADING:
      sgml-base

even though `apt policy sgml-base` shows the same version from both the local Debian mirror and the CloudPanel “trixie main” repository.

This happens on a fully up-to-date system with no real pending upgrades, just this misleading “downgrade” of sgml-base.

------------------------------------------------------------
Exact commands and output
------------------------------------------------------------

1) Repository configuration (current files)

Contents of `/etc/apt/sources.list.d/debian.sources`:

    Types: deb deb-src
    URIs: mirror+file:///etc/apt/mirrors/debian.list
    Suites: trixie trixie-updates trixie-backports
    Components: main
    Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

    Types: deb deb-src
    URIs: mirror+file:///etc/apt/mirrors/debian-security.list
    Suites: trixie-security
    Components: main
    Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Contents of `/etc/apt/sources.list.d/mariadb.list`:

    deb [arch=amd64,arm64] https://mirror.mariadb.org/repo/11.8/debian trixie main

Contents of `/etc/apt/sources.list.d/netdata.sources`:

    X-Repolib-Name: Netdata stable repository
    Types: deb
    URIs: http://repository.netdata.cloud/repos/stable/debian/
    Suites: trixie/
    Signed-By: /usr/share/keyrings/netdata-archive-keyring.gpg
    By-Hash: Yes
    Enabled: Yes

    X-Repolib-Name: Netdata repository configuration repository
    Types: deb
    URIs: http://repository.netdata.cloud/repos/repoconfig/debian/
    Suites: trixie/
    Signed-By: /usr/share/keyrings/netdata-archive-keyring.gpg
    By-Hash: Yes
    Enabled: Yes

Contents of `/etc/apt/sources.list.d/packages.cloudpanel.io.list` (problematic case):

    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie main
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie nginx
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-7.1
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-7.2
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-7.3
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-7.4
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.0
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.1
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.2
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.3
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.4
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.5
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie proftpd
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie varnish-7

For reference, here is the combined grep of all APT sources:

    # grep -RhE '^(deb|Types:)' /etc/apt/sources.list /etc/apt/sources.list.d/
    Types: deb
    Types: deb
    Types: deb deb-src
    Types: deb deb-src
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie main
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie nginx
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-7.1
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-7.2
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-7.3
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-7.4
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.0
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.1
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.2
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.3
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.4
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie php-8.5
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie proftpd
    deb https://d17k9fuiwb52nc.cloudfront.net/ trixie varnish-7
    deb [arch=amd64,arm64] https://mirror.mariadb.org/repo/11.8/debian trixie main

2) apt policy output for the affected package

    # apt policy sgml-base
    sgml-base:
      Installed: 1.31+nmu1
      Candidate: 1.31+nmu1
      Version table:
     *** 1.31+nmu1 500
            500 mirror+file:/etc/apt/mirrors/debian.list trixie/main amd64 Packages
            100 /var/lib/dpkg/status
         1.31+nmu1 1000
           1000 https://d17k9fuiwb52nc.cloudfront.net trixie/main amd64 Packages

Note: the same version (1.31+nmu1) is available from both Debian’s mirror and CloudPanel’s “trixie main” repository.

3) apt upgrade behavior

With the above configuration, running:

    apt update && apt upgrade

produces:

    DOWNGRADING:
      sgml-base

    Summary:
      Upgrading: 0, Installing: 0, Downgrading: 1, Removing: 0, Not Upgrading: 0
      Download size: 12.0 kB
      Space needed: 0 B / 394 GB available

Even though “downgrading” here is only reinstalling the same version from another origin, it is misleading and keeps reappearing.

------------------------------------------------------------
What I tried and workaround
------------------------------------------------------------

If I comment out the “main” line in the CloudPanel repo:

    # deb https://d17k9fuiwb52nc.cloudfront.net/ trixie main

and keep the component-specific lines (php-*, nginx, varnish-7, proftpd), then:

    apt update && apt upgrade

no longer shows any “DOWNGRADING: sgml-base” messages, and the system behaves as expected.

This suggests that the combination of:

- a local Debian mirror providing sgml-base, and
- a third-party repo declaring “trixie main” and also providing sgml-base

is triggering APT’s resolver to treat sgml-base as coming preferably from the CloudPanel repo and to present that as a “downgrade”, even though the version number is identical.

------------------------------------------------------------
What I would expect
------------------------------------------------------------

Either:

1. APT should detect that the version is identical across origins and avoid presenting it as a “downgrade” operation, or

2. At least warn more clearly that the operation is simply reinstalling the same version from another origin, not a real downgrade.

From the CloudPanel side, it might also be preferable that their repository does *not* declare itself as a full “trixie main” component if it intends only to provide PHP, nginx, varnish and related packages, to avoid overlapping with Debian base packages like sgml-base.

------------------------------------------------------------

If you need more details (exact apt version, dpkg -l, full apt logs) I can provide them.

Thank you very much for your work on Debian.

Best regards,
Olegário

Reply to: