diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-08-28 22:56:17 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-08-29 09:22:25 +0200 |
commit | e950b7e2f89b5e48192cd469c963a44fff9f1450 (patch) | |
tree | 25e4f9ea095391d7b5230b90b829d13304db9fa1 /apt-pkg/pkgrecords.h | |
parent | 4ff5e237d5685be187a75c563b86e80ea3e7cc01 (diff) |
don't loop on pinning pkgs from absolute debs by regex
An absolute filename for a *.deb file starts with a /. A package with
the name of the file is inserted in the cache which is provided by the
"real" package for internal reasons. The pinning code detects a regex
based wildcard by having the regex start with /. That is no problem
as a / can not be included in a package nameā¦ expect that our virtual
filename package can and does.
We fix this two ways actually: First, a regex is only being considered a
regex if it also ends with / (we don't support flags). That stops our
problem with the virtual filename packages already, but to be sure we
also do not enter the loop if matcher and package name are equal.
It has to be noted that the creation of pins for virtual packages like
the here effected filename packages is pointless as only versions can be
pinned, but checking that a package is really purely virtual is too
costly compared to just creating an unused pin.
Closes: 835818
Diffstat (limited to 'apt-pkg/pkgrecords.h')
0 files changed, 0 insertions, 0 deletions