Skip to content

debian packaging - package version ups and downs #52

@crpb

Description

@crpb

Hello,

Please change your build system so repacksuffixes +0.8-15 either increase only for the complete version including the git-tag (e.g. 1.17.32.021a23c) or just don't append them at all to .deb's. Or maybe put the the git-tag behind the +?

This SuSe package-version GEFUDDEL won't do in Debian. This looks like a total mess and leaves the package state to be believed BROKEN.

A list of packages which currently are at the "newest version" but flagged as local

root@grom-deb:~# apt list --installed |grep d,l
grommunio-admin-api/now 1.17.32.021a23c-1+39.1 all [installed,local]
grommunio-admin-common/now 44.9fd4fb3-1+44.1 amd64 [installed,local]
grommunio-admin-web/now 4.0.0.21.0ad253e-1+144.1 all [installed,local]
grommunio-auth/now 0.2.24.0555de0-1 all [installed,local]
grommunio-common/now 29.0-1+2.1 amd64 [installed,local]
grommunio-index/now 1.3.0.g2bd8a8c-1+15.4 amd64 [installed,local]
grommunio-setup/now 1.2.4.g60a3da2-1+2.1 all [installed,local]
grommunio-web/now 3.15.50.g6745d596e-1+346.1 all [installed,local]
libexmdbpp0/now 1.11.5.1d86314-1+306.1 amd64 [installed,local]
python3-pyexmdb/now 1.11.5.1d86314-1+306.1 amd64 [installed,local]

The output leads to bells and whistles in a Debian Admin's head as this can easily be mistaken with '?obsolete' - apt-patterns(7)

[installed,local] will be set if the currently installed version is the newest it knows about but there are no references to itself and no newer versions available in the repositories.
The only reason apt list ?obsolete will not show them is that there are lower versions known to be available. To verify this you have to look at the policy of each package which is shown in such a state.

root@grom-deb:~# apt policy grommunio-admin-api
grommunio-admin-api:
  Installed: 1.17.32.021a23c-1+39.1
  Candidate: 1.17.32.021a23c-1+39.1
  Version table:
 *** 1.17.32.021a23c-1+39.1 100
        100 /var/lib/dpkg/status
     1.17.32.021a23c-1+2.1 500
        500 https://download.grommunio.com/supported/Debian_13 Debian_13/main amd64 Packages

A look at the history of the packagenames for the latest git-tag for grommunio-admin-api

$ ls -trl *021a23c*
-rw-r--r-- 1 apt-mirror apt-mirror 207168 Oct 24 17:28 grommunio-admin-api_1.17.32.021a23c-1+37.1_all.deb
-rw-r--r-- 1 apt-mirror apt-mirror 207108 Oct 31 15:30 grommunio-admin-api_1.17.32.021a23c-1+39.1_all.deb
-rw-r--r-- 1 apt-mirror apt-mirror 207204 Oct 31 23:56 grommunio-admin-api_1.17.32.021a23c-1+1.1_all.deb
-rw-r--r-- 1 apt-mirror apt-mirror 207156 Nov  3 14:00 grommunio-admin-api_1.17.32.021a23c-1+3.1_all.deb
-rw-r--r-- 1 apt-mirror apt-mirror 207136 Nov  5 08:44 grommunio-admin-api_1.17.32.021a23c-1+4.1_all.deb

Luckily the content didn't change otherwise that would be a total disaster

this is the only one i checked so who knows ¯\_(ツ)_/¯

$ for file in *021a23c* ; do debdiff grommunio-admin-api_1.17.32.021a23c-1+4.1_all.deb $file ;done
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.17.32.021a23c-1+4.1-] {+1.17.32.021a23c-1+1.1+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.17.32.021a23c-1+4.1-] {+1.17.32.021a23c-1+3.1+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.17.32.021a23c-1+4.1-] {+1.17.32.021a23c-1+37.1+}
File lists identical (after any substitutions)

Control files: lines which differ (wdiff format)
------------------------------------------------
Version: [-1.17.32.021a23c-1+4.1-] {+1.17.32.021a23c-1+39.1+}
File lists identical (after any substitutions)

No differences were encountered between the control files

To get rid of borked package caches states w/o uninstall->install...

w/o the --target-release you won't get apt to lift a finger at all unless you supply packagename=exactversion which is just dumb.

root@grom-deb:~# apt-get --target-release Debian_13 --allow-downgrades reinstall '~i~Ogrommunio'
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reinstallation of grommunio-admin-api is not possible, it cannot be downloaded.
Reinstallation of grommunio-admin-common is not possible, it cannot be downloaded.
Reinstallation of python3-pyexmdb is not possible, it cannot be downloaded.
Reinstallation of grommunio-admin-web is not possible, it cannot be downloaded.
Reinstallation of grommunio-common is not possible, it cannot be downloaded.
Reinstallation of grommunio-index is not possible, it cannot be downloaded.
Reinstallation of libexmdbpp0 is not possible, it cannot be downloaded.
Reinstallation of grommunio-web is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 20 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/7,547 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

If nothing changes why even push those shenanigans?

# 3.2. The version of a package

Every package has a version number recorded in its Version control file field, described in Version.

The package management system imposes an ordering on version numbers, so that it can tell whether packages are being up- or downgraded and so that package system front end applications can tell whether a package it finds available is newer than the one installed on the system. The version number format has the most significant parts (as far as comparison is concerned) at the beginning.

If an upstream package has problematic version numbers they should be converted to a sane form for use in the Version field.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions