diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2009-12-23 12:38:19 +0100 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2009-12-23 12:38:19 +0100 |
commit | 5dd4c8b811d9c7bc33e50254811f5bc0fc37f872 (patch) | |
tree | 013eba814628166b4b949c928772463d02630a9e /apt-pkg/versionmatch.cc | |
parent | 5bf15716398fdb767ca6249a0155219b88d7ae60 (diff) | |
download | apt-5dd4c8b811d9c7bc33e50254811f5bc0fc37f872.tar.gz |
merge Goswin Brederlow "support download of index files for different archs"
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).
Diffstat (limited to 'apt-pkg/versionmatch.cc')
-rw-r--r-- | apt-pkg/versionmatch.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/apt-pkg/versionmatch.cc b/apt-pkg/versionmatch.cc index b4d1d469..e5f0fafd 100644 --- a/apt-pkg/versionmatch.cc +++ b/apt-pkg/versionmatch.cc @@ -100,6 +100,8 @@ pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type) : Type(Type) RelLabel = Fragments[J]+2; else if (stringcasecmp(Fragments[J],Fragments[J]+2,"c=") == 0) RelComponent = Fragments[J]+2; + else if (stringcasecmp(Fragments[J],Fragments[J]+2,"b=") == 0) + RelArchitecture = Fragments[J]+2; } if (RelVerStr.end()[-1] == '*') @@ -178,7 +180,7 @@ bool pkgVersionMatch::FileMatch(pkgCache::PkgFileIterator File) if (RelVerStr.empty() == true && RelOrigin.empty() == true && RelArchive.empty() == true && RelLabel.empty() == true && RelRelease.empty() == true && RelCodename.empty() == true && - RelComponent.empty() == true) + RelComponent.empty() == true && RelArchitecture.empty() == true) return false; if (RelVerStr.empty() == false) @@ -211,6 +213,10 @@ bool pkgVersionMatch::FileMatch(pkgCache::PkgFileIterator File) if (File->Component == 0 || stringcasecmp(RelComponent,File.Component()) != 0) return false; + if (RelArchitecture.empty() == false) + if (File->Architecture == 0 || + stringcasecmp(RelArchitecture,File.Architecture()) != 0) + return false; return true; } |