Age | Commit message (Collapse) | Author |
|
With a bit of trickery and the Curiously recurring template pattern we
can free us from our use of virtual in the iterators were it is unneeded
bloat as we never deal with pointers to iterators and similar such.
Git-Dch: Ignore
|
|
Further abstracting our new ShowList allows to use it for containers of
strings as well giving us the option to implement an or-groups display
for the recommends and suggests lists which is a nice trick given that
it also helps with migrating the last remaining other cases of old
ShowList.
|
|
Doing this disables the implicit copy assignment operator (among others)
which would cause hovac if used on the classes as it would just copy the
pointer, not the data the d-pointer points to. For most of the classes
we don't need a copy assignment operator anyway and in many classes it
was broken before as many contain a pointer of some sort.
Only for our Cacheset Container interfaces we define an explicit copy
assignment operator which could later be implemented to copy the data
from one d-pointer to the other if we need it.
Git-Dch: Ignore
|
|
To have a chance to keep the ABI for a while we need all three to team
up. One of them missing and we might loose, so ensuring that they are
available is a very tedious but needed task once in a while.
Git-Dch: Ignore
|
|
Git-Dch: Ignore
|
|
For compatibility we use/provide and fill quiet some deprecated methods
and fields, which subsequently earns us a warning for using them. These
warnings therefore have to be disabled for these codeparts and that is
what this change does now in a slightly more elegant way.
Git-Dch: Ignore
|
|
The methods itself deal with the helper a lot, so it makes sense to move
them to the helper itself, which helps also if we want to override some
of these methods, the FromString mentioned in the bugreport being the
obvious example.
VCI is spared from this change for now as while it would fit with the
same reasoning it much heavier entangled with the previous
CacheSetHelper change, so moving it now would mean breaking the API.
The PCI change is worthwhile on its own though as it is used by VCI.
Closes: 686221
|
|
The introduction of Fnmatch showed that each new selector would require
multiple new virtual methods in the CacheSetHelper to work correctly,
which isn't that great. We now flip to a single virtual method which
handles all cases separated by an enum – as new enum values can be added
without an ABI break.
Great care was taken to make old code work with the new way of organisation,
which means in return that you might be bombarded with deprecation
warnings now if you don't adapt, but code should still compile and work
as before as can be seen in apt itself with this commit.
Git-Dch: Ignore
|
|
Thanks to Jakub Wilk for the bugreport.
Closes: #754904
|
|
CLoses: #752327
|
|
APT_PKG_MINOR < 13)
|
|
The bugreport highlights the problem with an empty package name. We fix
this by 'ignoring' these so that it behaves just like "apt-get install".
The deeper problem is that modifier strings can be longer than a package
name in which case the comparison doesn't make sense, so don't compare
then. Was not noticed so far as all modifiers are of length 1, so the
only package name shorter than this is in fact the empty package name.
Closes: 744940
|
|
Git-Dch: Ignore
Reported-By: gcc -Wsuggest-attribute={pure,const,noreturn}
|
|
Beside being a bit cleaner it hopefully also resolves oddball problems
I have with high levels of parallel jobs.
Git-Dch: Ignore
Reported-By: iwyu (include-what-you-use)
|
|
Reported-By: gcc -Wunused-parameter
Git-Dch: Ignore
|
|
|
|
The current PackageContainerInterface::FromString() will do a
FromFnmatch() first and then FromRegEx(). This commit reverts
that change to restore the old behavior to only look for RegEx
and not glob-style pattern. The rational is that:
a) currently a fnmatch() is misleadingly reported as a regex match to
the user (Bug#738880)
b) a fnmatch may match something different than a a RegEx so the
change broke a published interface
|
|
|
|
No visible functional changes, just code moved around and additional
checks to eliminate impossible branches
Reported-By: scan-build
Git-Dch: Ignore
|
|
experimental
|
|
- handle :all and :native correctly as architectures again
in the commandline parsing (regression in 0.9.7)
|
|
- add PackageContainerInterface::FromGroup to support
architecture specifications with wildcards on the commandline
|
|
- actually return to the fallback modifier if we have detected we
should for packagenames which look like modifiers (Closes: #669591)
|
|
- make the cachesets real containers which can embedding any container
to be able to use the same interface regardless of set or list usage
|
|
|
|
|
|
- String-fix in the source and the translations for the grammatical
mistake reported in bug LP: #641673, thanks to Robert Roth
|
|
* cmdline/apt-cache.cc:
- use Notice instead of Error in the CacheSetHelper messages
for compat reasons. Otherwise tools like sbuild blow up
|
|
- make CacheSetHelper::canNotFindAllVer display a notice
only (for compat reasons). Otherwise tools like sbuild
blow up
|
|
*
|
|
- move them back to the library as they look stable now
|
|
- doesn't include it in the library for now as it is too volatile
|
|
one for PackageSet and refactor the existing VersionSet methods
to simplify that.
|
|
- get the candidate either from an already built depcache
or use the policy which is a bit faster than depcache generation
|
|
packages on the commandline into groups based on modifiers
|
|
|
|
|
|
application to be really generic.
|
|
the existing methods a bit to reuse them easier intern
|
|
|