do not strip epochs from state version strings
authorDavid Kalnischkies <david@kalnischkies.de>
Wed, 16 Mar 2016 21:32:48 +0000 (22:32 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Wed, 16 Mar 2016 22:29:45 +0000 (23:29 +0100)
The epoch stripping in this code is done since day one, but in other
places we show a version epochs are not stripped. If epochs are present
in packages they tend to be an important information which we can't just
drop and especially can't drop "sometimes" as that confuses users and
tools alike – so even if removing code in use for (close to) 18 years
feels wrong, it is probably the right choice for consistency.

Closes: 818162
apt-pkg/depcache.cc
apt-pkg/depcache.h
test/integration/test-apt-showlist-orgroup-in-recommends
test/integration/test-release-candidate-switching

index dd18305d24cde038c2fbd09671cf4da1a0472cc5..4940387a6b09b541007c137b501809048d525302 100644 (file)
@@ -1700,11 +1700,7 @@ void pkgDepCache::StateCache::Update(PkgIterator Pkg,pkgCache &Cache)
    CurVersion = "";
    if (Pkg->CurrentVer != 0)
       CurVersion = Pkg.CurrentVer().VerStr();
-   
-   // Strip off the epochs for display
-   CurVersion = StripEpoch(CurVersion);
-   CandVersion = StripEpoch(CandVersion);
-   
+
    // Figure out if its up or down or equal
    Status = Ver.CompareVer(Pkg.CurrentVer());
    if (Pkg->CurrentVer == 0 || Pkg->VersionList == 0 || CandidateVer == 0)
index 10f869f252b158014d41f5a6fcb118caa46a6a6c..99d0e7a637444a7b8fee2a8b326eb848f89c0f21 100644 (file)
@@ -209,7 +209,7 @@ class pkgDepCache : protected pkgCache::Namespace
 
    struct StateCache
    {
-      // Epoch stripped text versions of the two version fields
+      // text versions of the two version fields
       const char *CandVersion;
       const char *CurVersion;
 
@@ -240,7 +240,7 @@ class pkgDepCache : protected pkgCache::Namespace
       unsigned char DepState;          // DepState Flags
 
       // Update of candidate version
-      const char *StripEpoch(const char *Ver) APT_PURE;
+      APT_DEPRECATED_MSG("Use the method of the same name in contrib/strutl.h instead if you must") const char *StripEpoch(const char *Ver) APT_PURE;
       void Update(PkgIterator Pkg,pkgCache &Cache);
       
       // Various test members for the current status of the package
index a9d65e3bb4f958ee46546c4b80e65c84dd2a8fc6..a03c367f40a5e7709b24b5aaab1802333cf3edeb 100755 (executable)
@@ -125,8 +125,8 @@ testsuccessequal 'Reading package lists...
 Building dependency tree...
 Suggested packages:
    yyy (1)
-   | zzz (1)
-   zzz (1)
+   | zzz (1:1)
+   zzz (1:1)
 Recommended packages:
    xxx
    | yyy (1)
@@ -142,7 +142,7 @@ Conf orgroup4 (1 unstable [all])' aptget install orgroup2 orgroup4 -s -V --no-in
 testsuccessequal 'Reading package lists...
 Building dependency tree...
 Suggested packages:
-   zzz (1)
+   zzz (1:1)
 Recommended packages:
    xxx
 The following NEW packages will be installed:
index 1d1b4a7740114258c0979061a4ae8b404479c1af..d7f1c90f750fb952043a1a045e9ea4b79e39c10a 100755 (executable)
@@ -61,14 +61,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.1-1+sid)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 The following NEW packages will be installed:
    amarok (2.3.1-1+sid)
    amarok-common (2.3.1-1+sid)
    amarok-utils (2.3.1-1+sid)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok --trivial-only -V
@@ -80,14 +80,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.3+exp)
-   phonon-backend-xine (4.6.0+exp)
+   phonon-backend-xine (5:4.6.0+exp)
 The following NEW packages will be installed:
    amarok (2.3.2-2+exp)
    amarok-common (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.3+exp)
-   phonon-backend-xine (4.6.0+exp)
+   phonon-backend-xine (5:4.6.0+exp)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok -t experimental --trivial-only -V
@@ -102,14 +102,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 The following NEW packages will be installed:
    amarok (2.3.2-2+exp)
    amarok-common (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok/experimental --trivial-only -V
@@ -124,14 +124,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+sid)
+   phonon-backend-null (4:4.20.0+sid)
 The following NEW packages will be installed:
    amarok-common (2.3.2-2+exp)
    amarok-null (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+sid)
+   phonon-backend-null (4:4.20.0+sid)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-null/experimental --trivial-only -V
@@ -148,7 +148,7 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 The following NEW packages will be installed:
    amarok (2.3.2-2+exp)
    amarok-common (2.3.2-2+exp)
@@ -156,7 +156,7 @@ The following NEW packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 301 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok/experimental amarok-null/experimental --trivial-only -V
@@ -178,7 +178,7 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0+exp)
+   phonon-backend-xine (5:4.6.0+exp)
 The following NEW packages will be installed:
    amarok-common (2.3.2-2+exp)
    amarok-higher (2.3.2-2+exp)
@@ -186,7 +186,7 @@ The following NEW packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0+exp)
+   phonon-backend-xine (5:4.6.0+exp)
 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 301 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-less/experimental2 amarok-higher/experimental --trivial-only -V
@@ -202,14 +202,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+sid)
+   phonon-backend-null (4:4.20.0+sid)
 The following NEW packages will be installed:
    amarok-common (2.3.2-2+exp)
    amarok-null2 (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+sid)
+   phonon-backend-null (4:4.20.0+sid)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-null2/experimental --trivial-only -V
@@ -226,14 +226,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0+exp)
+   phonon-backend-xine (5:4.6.0+exp)
 The following NEW packages will be installed:
    amarok-common (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    amarok-xine (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0+exp)
+   phonon-backend-xine (5:4.6.0+exp)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine/experimental --trivial-only -V
@@ -250,14 +250,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+exp)
+   phonon-backend-null (5:4.20.0+exp)
 The following NEW packages will be installed:
    amarok-common (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    amarok-xine2 (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+exp)
+   phonon-backend-null (5:4.20.0+exp)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine2/experimental --trivial-only -V
@@ -276,7 +276,7 @@ The following additional packages will be installed:
    intermediatepkg (2.0)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine3 (4.6.0+exp)
+   phonon-backend-xine3 (5:4.6.0+exp)
 The following NEW packages will be installed:
    amarok-common (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
@@ -284,7 +284,7 @@ The following NEW packages will be installed:
    intermediatepkg (2.0)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine3 (4.6.0+exp)
+   phonon-backend-xine3 (5:4.6.0+exp)
 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 301 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine3/experimental --trivial-only -V
@@ -301,14 +301,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+exp)
+   phonon-backend-null (5:4.20.0+exp)
 The following NEW packages will be installed:
    amarok-common (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    amarok-xine4 (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+exp)
+   phonon-backend-null (5:4.20.0+exp)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine4/experimental --trivial-only -V
@@ -325,14 +325,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+exp)
+   phonon-backend-null (5:4.20.0+exp)
 The following NEW packages will be installed:
    amarok-broken (2.3.2-2+exp)
    amarok-common (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-null (4.20.0+exp)
+   phonon-backend-null (5:4.20.0+exp)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-broken/experimental --trivial-only -V
@@ -348,14 +348,14 @@ The following additional packages will be installed:
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 The following NEW packages will be installed:
    amarok-common (2.3.2-2+exp)
    amarok-recommends (2.3.2-2+exp)
    amarok-utils (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 258 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-recommends/experimental --trivial-only -V -o APT::Install-Recommends=1
@@ -369,7 +369,7 @@ The following additional packages will be installed:
    amarok-common (2.3.2-2+exp)
 Recommended packages:
    amarok-utils (2.3.1-1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
    | phonon-backend
    libmtp8 (0.3.1+sid)
    libc6 (2.11.2-7+sid)
@@ -390,7 +390,7 @@ The following additional packages will be installed:
    amarok-common (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 Recommended packages:
    amarok-utils (2.3.1-1+sid)
 The following NEW packages will be installed:
@@ -398,7 +398,7 @@ The following NEW packages will be installed:
    amarok-recommends2 (2.3.2-2+exp)
    libc6 (2.11.2-7+sid)
    libmtp8 (0.3.1+sid)
-   phonon-backend-xine (4.6.0really4.4.2-1+sid)
+   phonon-backend-xine (4:4.6.0really4.4.2-1+sid)
 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
 After this operation, 215 kB of additional disk space will be used.
 E: Trivial Only specified but this is not a trivial operation." aptget install amarok-recommends2/experimental --trivial-only -V -o APT::Install-Recommends=1