with previous usecases. You now need to requested with Arch(true) the
return of the architecture this version (and pseudo package) was created for.
        // 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->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;};
+       inline const char *Arch() const {
+               if(S->MultiArch == pkgCache::Version::All)
+                       return "all";
+               return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
+       };
+       inline const char *Arch(bool const pseudo) const {
+               if(pseudo == false)
+                       return Arch();
+               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;