the information from the parent package now
// Accessors
inline const char *VerStr() const {return S->VerStr == 0?0:Owner->StrP + S->VerStr;};
inline const char *Section() const {return S->Section == 0?0:Owner->StrP + S->Section;};
// Accessors
inline const char *VerStr() const {return S->VerStr == 0?0:Owner->StrP + S->VerStr;};
inline const char *Section() const {return S->Section == 0?0:Owner->StrP + S->Section;};
- inline const char *Arch() const {return S->Arch == 0?0:Owner->StrP + S->Arch;};
+ inline const char *Arch() const {return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;};
inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);};
inline DescIterator DescriptionList() const;
inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);};
inline DescIterator DescriptionList() const;
+// ListParser::ArchitectureAll /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool debListParser::ArchitectureAll() {
+ return Section.FindS("Architecture") == "all";
+}
+ /*}}}*/
// ListParser::Version - Return the version string /*{{{*/
// ---------------------------------------------------------------------
/* This is to return the string describing the version in debian form,
// ListParser::Version - Return the version string /*{{{*/
// ---------------------------------------------------------------------
/* This is to return the string describing the version in debian form,
// Parse the section
Ver->Section = UniqFindTagWrite("Section");
// Parse the section
Ver->Section = UniqFindTagWrite("Section");
- // Parse the architecture
- Ver->Arch = WriteUniqString(Architecture());
-
// Parse multi-arch
if (Section.FindS("Architecture") == "all")
/* Arch all packages can't have a Multi-Arch field,
// Parse multi-arch
if (Section.FindS("Architecture") == "all")
/* Arch all packages can't have a Multi-Arch field,
// These all operate against the current section
virtual string Package();
virtual string Architecture();
// These all operate against the current section
virtual string Package();
virtual string Architecture();
+ virtual bool ArchitectureAll();
virtual string Version();
virtual bool NewVersion(pkgCache::VerIterator Ver);
virtual string Description();
virtual string Version();
virtual bool NewVersion(pkgCache::VerIterator Ver);
virtual string Description();
pkgCache::PkgIterator::CandVersion() const
{
//TargetVer is empty, so don't use it.
pkgCache::PkgIterator::CandVersion() const
{
//TargetVer is empty, so don't use it.
- VerIterator version = pkgPolicy::pkgPolicy(Owner).GetCandidateVer(*this);
+ VerIterator version = pkgPolicy(Owner).GetCandidateVer(*this);
if (version.IsGood())
return version.VerStr();
return 0;
if (version.IsGood())
return version.VerStr();
return 0;
Res.append(" [").append(Arch()).append("]");
return Res;
}
Res.append(" [").append(Arch()).append("]");
return Res;
}
{
map_ptrloc VerStr; // Stringtable
map_ptrloc Section; // StringTable (StringItem)
{
map_ptrloc VerStr; // Stringtable
map_ptrloc Section; // StringTable (StringItem)
- map_ptrloc Arch; // StringTable
enum {None, All, Foreign, Same, Allowed} MultiArch;
// Lists
enum {None, All, Foreign, Same, Allowed} MultiArch;
// Lists
// These all operate against the current section
virtual string Package() = 0;
virtual string Architecture() = 0;
// These all operate against the current section
virtual string Package() = 0;
virtual string Architecture() = 0;
+ virtual bool ArchitectureAll() = 0;
virtual string Version() = 0;
virtual bool NewVersion(pkgCache::VerIterator Ver) = 0;
virtual string Description() = 0;
virtual string Version() = 0;
virtual bool NewVersion(pkgCache::VerIterator Ver) = 0;
virtual string Description() = 0;