PowerDNS / pdns

PowerDNS Authoritative, PowerDNS Recursor, dnsdist
https://www.powerdns.com/
GNU General Public License v2.0
3.67k stars 907 forks source link

Debian package versions inconvenient for distribution upgrades #8915

Open tinuzz opened 4 years ago

tinuzz commented 4 years ago

Short description

Debian package versions in repo.powerdns.com for the recursor currently take the form of '4.3.0-1pdns.stretch' and '4.3.0-1pdns.buster'. For the auth server, it's similar.

In Dpkg, '4.3.0-1pdns.stretch' is actually a higher version than '4.3.0-1pdns.buster', which means that when upgrading the distribution from Stretch to Buster, it takes a downgrade action in Apt to install the right version of the package.

My suggestion is to add something like 'deb9' and 'deb10' to the version strings, instead of (or maybe in addition to) the strings 'stretch' and 'buster'.

Usecase

Upgrade a server that has PowerDNS installed from Debian Stretch to Buster.

Description

zeha commented 4 years ago

Depending on the exact installed package set, this also leads to an upgrade problem for "curl":

root@ns1:~# dpkg -l curl\* libcurl\* pdns\*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                  Version             Architecture Description
+++-=====================-===================-============-==============================================================
ii  curl                  7.52.1-5+deb9u9     amd64        command line tool for transferring data with URL syntax
ii  libcurl3:amd64        7.52.1-5+deb9u9     amd64        easy-to-use client-side URL transfer library (OpenSSL flavour)
ii  libcurl3-gnutls:amd64 7.64.0-4+deb10u1    amd64        easy-to-use client-side URL transfer library (GnuTLS flavour)
un  pdns-backend          <none>              <none>       (no description available)
ii  pdns-backend-bind     4.2.1-1pdns.stretch amd64        BIND backend for PowerDNS
ii  pdns-backend-geoip    4.2.1-1pdns.stretch amd64        geoip backend for PowerDNS
ii  pdns-backend-pipe     4.2.1-1pdns.stretch amd64        pipe/coprocess backend for PowerDNS
ii  pdns-backend-sqlite3  4.2.1-1pdns.stretch amd64        sqlite 3 backend for PowerDNS
un  pdns-recursor         <none>              <none>       (no description available)
ii  pdns-server           4.2.1-1pdns.stretch amd64        extremely powerful and versatile nameserver

root@ns1:~# apt-get install curl libcurl4
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libboost-program-options1.62.0 libdbd-sqlite3-perl libdbi-perl libluajit-5.1-2 libluajit-5.1-common libsodium18 libssl1.0.2 libyaml-cpp0.5v5
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  libcurl3 pdns-backend-bind pdns-backend-geoip pdns-backend-pipe pdns-backend-sqlite3 pdns-server
The following NEW packages will be installed:
  libcurl4
The following packages will be upgraded:
  curl
1 upgraded, 1 newly installed, 6 to remove and 0 not upgraded.
Need to get 596 kB of archives.
After this operation, 11.5 MB disk space will be freed.
Do you want to continue? [Y/n]
tinuzz commented 4 years ago

Well, the fact that you haven't 'sidegraded' PowerDNS prevents curl from being upgraded, it's not the version string of the PowerDNS package that prevents curl from being upgraded. But yes, PowerDNS should be upgradeable without this kind of effort.