Age | Commit message (Collapse) | Author |
|
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.
|
|
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)
|
|
|
|
|
|
|
|
|
|
done on the mirco-optimazation level, so lets fix them:
(performance) Possible inefficient checking for emptiness.
(performance) Prefer prefix ++/-- operators for non-primitive types.
|
|
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 "
|
|
- 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)
|
|
|
|
|
|
|
|
|
|
- Support matching pins by regular expressions or glob() like patterns,
regular expressions have to be put between to slashes; for example,
/.*/.
|
|
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).
|
|
* 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
|
|
|
|
|
|
Author: doogie
Date: 2003-05-19 17:58:26 GMT
Fix segfault when handling /etc/apt/preferences.
|
|
Author: doogie
Date: 2003-04-24 03:16:58 GMT
Fix origin pins for file:// uris.
|
|
Author: jgg
Date: 2002-11-06 06:43:14 GMT
Fix some unlikely segfaults
|
|
Author: jgg
Date: 2001-06-10 01:57:45 GMT
Fixed errant prefix matching
|
|
Author: jgg
Date: 2001-05-29 03:07:12 GMT
Fixed matching all releases
|
|
Author: jgg
Date: 2001-05-22 06:20:06 GMT
G++3 fixes from Randolph
|
|
Author: jgg
Date: 2001-04-29 05:13:51 GMT
'apt-cache policy' preferences debug tool.
|
|
Author: jgg
Date: 2001-02-20 07:03:16 GMT
Join with aliencode
|