summaryrefslogtreecommitdiff
path: root/apt-pkg/versionmatch.cc
Commit message (Collapse)AuthorAgeFilesLines
* Reformat and sort all includes with clang-formatJulian Andres Klode2017-07-121-7/+7
| | | | | | | | | | | | | This makes it easier to see which headers includes what. The changes were done by running git grep -l '#\s*include' \ | grep -E '.(cc|h)$' \ | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/' To modify all include lines by adding a space, and then running ./git-clang-format.sh.
* Drop cacheiterators.h includeJulian Andres Klode2017-07-121-1/+0
| | | | | Including cacheiterators.h before pkgcache.h fails because pkgcache.h depends on cacheiterators.h.
* simplify Origin matchmaking for status filesDavid Kalnischkies2015-08-101-5/+2
| | | | | | | | | | The old check is overly complicated nowadays as we have a pretty defining difference between packages from a Packages files coming from with a Release file (even if the file itself doesn't exist) and packages coming from the dpkg.status or directly out of *.deb's as these have no associated Release file. Git-Dch: Ignore
* versionmatch: Extract version match checking out of Find()Julian Andres Klode2015-08-101-13/+25
| | | | | Refactor version matching to allow us to check if a version matches a pin. This will aid the per-version pinning implementation.
* store Release files data in the CacheDavid Kalnischkies2015-06-121-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | We used to read the Release file for each Packages file and store the data in the PackageFile struct even through potentially many Packages (and Translation-*) files could use the same data. The point of the exercise isn't the duplicated data through. Having the Release files as first-class citizens in the Cache allows us to properly track their state as well as allows us to use the information also for files which aren't in the cache, but where we know to which Release file they belong (Sources are an example for this). This modifies the pkgCache structs, especially the PackagesFile struct which depending on how libapt users access the data in these structs can mean huge breakage or no visible change. As a single data point: aptitude seems to be fine with this. Even if there is breakage it is trivial to fix in a backportable way while avoiding breakage for everyone would be a huge pain for us. Note that not all PackageFile structs have a corresponding ReleaseFile. In particular the dpkg/status file as well as *.deb files have not. As these have only a Archive property need, the Component property takes over this duty and the ReleaseFile remains zero. This is also the reason why it isn't needed nor particularily recommended to change from PackagesFile to ReleaseFile blindly. Sticking with the earlier is usually the better option.
* cleanup headers and especially #includes everywhereDavid Kalnischkies2014-03-131-1/+6
| | | | | | | | 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)
* various simple changes to fix cppcheck warningsDavid Kalnischkies2013-03-101-1/+1
|
* do not pollute namespace in the headers with using (Closes: #500198)David Kalnischkies2011-09-191-0/+2
|
* merge with debian/experimentalDavid Kalnischkies2011-09-131-3/+3
|\
| * cppcheck complains about some possible speed improvements which could beDavid Kalnischkies2011-08-111-3/+3
| | | | | | | | | | | | done on the mirco-optimazation level, so lets fix them: (performance) Possible inefficient checking for emptiness. (performance) Prefer prefix ++/-- operators for non-primitive types.
* | reorder includes: add <config.h> if needed and include it at firstDavid Kalnischkies2011-09-131-2/+2
|/
* check for length of Data to avoid the validness ofDavid Kalnischkies2010-09-021-1/+1
| | | | | | | Pin: origin " (no error displayed). We already know in this method that Data is at least one char long, so we avoid the length counting as long as the string doesn't start with "
* * apt-pkg/versionmatch.cc:David Kalnischkies2010-08-301-3/+6
| | | | | - let the pin origin actually work as advertised in the manpage which means "" are optional and pinning a local archive does work - even if it is a non-flat archive (Closes: #594435)
* Also free regular expressions.Julian Andres Klode2010-06-281-0/+1
|
* Use _error->Warning() instead of writing to std::cerr.Julian Andres Klode2010-06-281-1/+1
|
* Remove debugging stuff, this was not meant to be here.Julian Andres Klode2010-06-281-1/+0
|
* Also support regular expressions and glob() patterns in "Pin: version".Julian Andres Klode2010-06-281-0/+2
|
* * apt-pkg/versionmatch.cc:Julian Andres Klode2010-06-281-12/+46
| | | | | - Support matching pins by regular expressions or glob() like patterns, regular expressions have to be put between to slashes; for example, /.*/.
* merge Goswin Brederlow "support download of index files for different archs"David Kalnischkies2009-12-231-1/+7
| | | | | | | | | | | | | | patch which includes the following big changes: - Declare the unused [vendor] field in sources.list as option field, e.g. deb [arch=amd64,i386 lang=en_GB have=fun] http://example.org - When fetching index files download them for all APT::Architectures (overrideable with the options field above) - Allow all architectures of APT::Architectures to be in the Cache - Add the architecture to status and progress informations - Add b= (Binary architecture) to policy This commit doesn't incude the "pin-hack" as the Group structure will take care of this (and does it already to some extend).
* [apt-pkg] allow also codenames for specifying a releaseDavid Kalnischkies2009-05-071-13/+24
| | | | | * MatchType::Release checks first for archive than for codename equality * new n= option in apt_preference to be able to pin based on a codeName
* Fix another compilation warning in apt-pkg/versionmatch.ccLuca Bruno2008-10-111-1/+1
|
* * remove all the remaining #pragma implementationMichael Vogt2007-06-081-3/+0
|
* Fix segfault when handling /etc/apt/preferences.Arch Librarian2004-09-201-3/+7
| | | | | | Author: doogie Date: 2003-05-19 17:58:26 GMT Fix segfault when handling /etc/apt/preferences.
* Fix origin pins for file:// uris.Arch Librarian2004-09-201-6/+4
| | | | | | Author: doogie Date: 2003-04-24 03:16:58 GMT Fix origin pins for file:// uris.
* Fix some unlikely segfaultsArch Librarian2004-09-201-2/+2
| | | | | | Author: jgg Date: 2002-11-06 06:43:14 GMT Fix some unlikely segfaults
* Fixed errant prefix matchingArch Librarian2004-09-201-3/+5
| | | | | | Author: jgg Date: 2001-06-10 01:57:45 GMT Fixed errant prefix matching
* Fixed matching all releasesArch Librarian2004-09-201-1/+9
| | | | | | Author: jgg Date: 2001-05-29 03:07:12 GMT Fixed matching all releases
* G++3 fixes from RandolphArch Librarian2004-09-201-6/+6
| | | | | | Author: jgg Date: 2001-05-22 06:20:06 GMT G++3 fixes from Randolph
* 'apt-cache policy' preferences debug tool.Arch Librarian2004-09-201-4/+4
| | | | | | Author: jgg Date: 2001-04-29 05:13:51 GMT 'apt-cache policy' preferences debug tool.
* Join with aliencodeArch Librarian2004-09-201-0/+210
Author: jgg Date: 2001-02-20 07:03:16 GMT Join with aliencode