summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2023-12-08 13:12:29 +0000
committerJulian Andres Klode <jak@debian.org>2023-12-08 13:12:29 +0000
commit0b1baa9da13128113da96d4bb47c567d7258fe05 (patch)
tree2497afb2a29fb4c93abdfa7e8d3d7c996736b6d8
parent4e344a4c1d2862b7cdb900a20222bc22ac5edcf7 (diff)
parente129c031db9cf5b38e6f3597d2b8844576e6dd4f (diff)
Merge branch 'main' into 'main'
apt-pkg/cacheset.cc: set ShowErrors to true when no version matched See merge request apt-team/apt!308
-rw-r--r--apt-pkg/cacheset.cc3
-rwxr-xr-xtest/integration/test-bug-1053887-regex-return-failure21
2 files changed, 24 insertions, 0 deletions
diff --git a/apt-pkg/cacheset.cc b/apt-pkg/cacheset.cc
index e52f76272..ee0dcee28 100644
--- a/apt-pkg/cacheset.cc
+++ b/apt-pkg/cacheset.cc
@@ -491,10 +491,13 @@ bool VersionContainerInterface::FromString(VersionContainerInterface * const vci
V = Match.Find(P);
helper.setLastVersionMatcher(ver);
if (V.end()) {
+ bool errors = true;
+ errors = helper.showErrors(true);
if (verIsRel == true)
V = helper.canNotGetVersion(CacheSetHelper::RELEASE, Cache, P);
else
V = helper.canNotGetVersion(CacheSetHelper::VERSIONNUMBER, Cache, P);
+ helper.showErrors(errors);
}
}
if (V.end() == true)
diff --git a/test/integration/test-bug-1053887-regex-return-failure b/test/integration/test-bug-1053887-regex-return-failure
new file mode 100755
index 000000000..46a03792f
--- /dev/null
+++ b/test/integration/test-bug-1053887-regex-return-failure
@@ -0,0 +1,21 @@
+#!/bin/sh
+set -e
+
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
+setupenvironment
+configarchitecture 'amd64'
+
+rm -f rootdir/etc/apt/sources.list
+rm -f rootdir/etc/apt/sources.list.d/*
+
+insertinstalledpackage 'foo' 'all' '1'
+
+testfailureequal "Reading package lists...
+Building dependency tree...
+Note, selecting 'foo' for regex '^foo$'
+Package foo is not available, but is referred to by another package.
+This may mean that the package is missing, has been obsoleted, or
+is only available from another source
+
+E: Version '2' for 'foo' was not found" apt install '^foo$'=2