inline const char *Arch() const {return Ver->Arch == 0?0:Owner->StrP + Ver->Arch;};
inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + Ver->ParentPkg);};
inline DescIterator DescriptionList() const;
+ DescIterator TranslatedDescription() const;
inline DepIterator DependsList() const;
inline PrvIterator ProvidesList() const;
inline VerFileIterator FileList() const;
#endif
#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/indexfile.h>
#include <apt-pkg/version.h>
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
using std::string;
+
// Cache::Header::Header - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* Simply initialize the header */
return Res;
}
/*}}}*/
+// VerIterator::TranslatedDescription - Return the a DescIter for locale/*{{{*/
+// ---------------------------------------------------------------------
+/* return a DescIter for the current locale or the default if none is
+ * found
+ */
+pkgCache::DescIterator pkgCache::VerIterator::TranslatedDescription() const
+{
+ pkgCache::DescIterator DescDefault = DescriptionList();
+ pkgCache::DescIterator Desc = DescDefault;
+ for (; Desc.end() == false; Desc++)
+ if (pkgIndexFile::LanguageCode() == Desc.LanguageCode())
+ break;
+ if (Desc.end() == true) Desc = DescDefault;
+ return Desc;
+};
+
+ /*}}}*/
if (Files[I->ID] == 0)
return;
}
- // We store that to make sure that the destructor won't segfault,
- // even if the Cache object was destructed before this instance.
- PackageFileCount = Cache.HeaderP->PackageFileCount;
}
/*}}}*/
// Records::~pkgRecords - Destructor /*{{{*/
/* */
pkgRecords::~pkgRecords()
{
- for (unsigned I = 0; I != PackageFileCount; I++)
+ for (unsigned I = 0; I != Cache.HeaderP->PackageFileCount; I++)
delete Files[I];
delete [] Files;
}
pkgCache &Cache;
Parser **Files;
- int PackageFileCount;
public:
// Show the right description
pkgRecords Recs(*GCache);
- pkgCache::DescIterator DescDefault = V.DescriptionList();
- pkgCache::DescIterator Desc = DescDefault;
- for (; Desc.end() == false; Desc++)
- if (pkgIndexFile::LanguageCode() == Desc.LanguageCode())
- break;
- if (Desc.end() == true) Desc = DescDefault;
-
+ pkgCache::DescIterator Desc = V.TranslatedDescription();
pkgRecords::Parser &P = Recs.Lookup(Desc.FileList());
cout << "Description" << ( (strcmp(Desc.LanguageCode(),"") != 0) ? "-" : "" ) << Desc.LanguageCode() << ": " << P.LongDesc();
VerTag = string(TmpSrc.begin() + Slash + 1,TmpSrc.end());
TmpSrc = string(TmpSrc.begin(),TmpSrc.begin() + Slash);
}
- else if(DefRel.empty() == false)
+ else if(DefRel.empty() == false)
{
// we have a default release, try to locate the pkg. we do it like
// this because GetCandidateVer() will not "downgrade", that means
for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false;
VF++)
{
+ // extra paranioa
+ if(VF.File() == NULL)
+ continue;
+
/* If this is the status file, and the current version is not the
version in the status file (ie it is not installed, or somesuch)
then it is not a candidate for installation, ever. This weeds
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.6.42.0exp1")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.42.1")
PACKAGE="apt"
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
AC_SUBST(PACKAGE)
-apt (0.6.42.0exp1) experimental; urgency=low
+apt (0.6.42.1exp1) experimental; urgency=low
* added support for package index diffs
* added support for i18n of the package descriptions
-- Michael Vogt <mvo@debian.org> Wed, 19 Oct 2005 22:12:13 +0200
+apt (0.6.42.1) unstable; urgency=low
+
+ * fix a incorrect example in the apt_prefrences man page
+ (thanks to Filipus Klutiero, closes: #282918)
+ * apt-pkg/pkgrecords.cc:
+ - revert patch from last version, it causes trouble on alpha
+ and ia64 (closes: #335102, #335103)
+ * cmdline/apt-get.cc:
+ - be extra carefull in FindSrc (closes: #335213)
+
+ -- Michael Vogt <mvo@debian.org> Sat, 22 Oct 2005 23:44:35 +0200
+
apt (0.6.42) unstable; urgency=low
* apt-pkg/cdrom.cc:
<programlisting>
Package: *
Pin: release a=unstable
-Pin-Priority: 500
+Pin-Priority: 50
</programlisting>
<simpara>The following record assigns a high priority to all package versions