From 4cbf323fabcc44946001a215c224ce5b080519ca Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 30 Jul 2010 17:40:01 +0200 Subject: * apt-pkg/pkgcache.cc: - re-evaluate the architectures cache when the cache is (re)opened --- apt-pkg/pkgcache.cc | 5 ++++- debian/changelog | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index 9e1f8b633..ae11057ed 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -111,7 +111,10 @@ bool pkgCache::Header::CheckSizes(Header &Against) const /* */ pkgCache::pkgCache(MMap *Map, bool DoMap) : Map(*Map) { - MultiArchEnabled = APT::Configuration::getArchitectures().size() > 1; + // call getArchitectures() with cached=false to ensure that the + // architectures cache is re-evaulated. this is needed in cases + // when the APT::Architecture field changes between two cache creations + MultiArchEnabled = APT::Configuration::getArchitectures(false).size() > 1; if (DoMap == true) ReMap(); } diff --git a/debian/changelog b/debian/changelog index 33bd66b1c..cd0f4d7f6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low + + [ Michael Vogt ] + * apt-pkg/pkgcache.cc: + - re-evaluate the architectures cache when the cache is (re)opened + + -- Michael Vogt Fri, 30 Jul 2010 17:37:14 +0200 + apt (0.7.26~exp12) experimental; urgency=low [ Michael Vogt ] -- cgit v1.2.3 From 73dfa041545d34b79a4dd25a0baa3e64f5564a62 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 2 Aug 2010 21:02:01 +0200 Subject: * apt-pkg/cdrom.cc: - fix off-by-one error in DropBinaryArch --- apt-pkg/cdrom.cc | 2 +- debian/changelog | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index e3e0027fc..0e36f44a2 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -229,7 +229,7 @@ bool pkgCdrom::DropBinaryArch(vector &List) // Between Start and End is the architecture Start += 8; if ((End = strstr(Start,"/")) != 0 && Start != End && - APT::Configuration::checkArchitecture(string(Start, --End)) == true) + APT::Configuration::checkArchitecture(string(Start, End)) == true) continue; // okay, architecture is accepted // not accepted -> Erase it diff --git a/debian/changelog b/debian/changelog index cd0f4d7f6..1d76736a3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,10 @@ apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low * apt-pkg/pkgcache.cc: - re-evaluate the architectures cache when the cache is (re)opened + [ Colin Watson ] + * apt-pkg/cdrom.cc: + - fix off-by-one error in DropBinaryArch + -- Michael Vogt Fri, 30 Jul 2010 17:37:14 +0200 apt (0.7.26~exp12) experimental; urgency=low -- cgit v1.2.3 From 736f67512b4c2c8069011116217a6ffdcd374500 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Fri, 6 Aug 2010 23:33:55 +0200 Subject: * apt-pkg/depcache.cc: - Only try upgrade for Breaks if there is a newer version, otherwise handle it as Conflicts (by removing it) (helps for #591881). --- apt-pkg/depcache.cc | 9 ++++++--- debian/changelog | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index bc663a8e9..043185dbc 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1425,10 +1425,13 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, VerIterator Ver(*this,*I); PkgIterator Pkg = Ver.ParentPkg(); - if (Start->Type != Dep::DpkgBreaks) - MarkDelete(Pkg,false,Depth + 1, false); - else if (PkgState[Pkg->ID].CandidateVer != *I) + + + if (PkgState[Pkg->ID].CandidateVer != *I && + Start->Type == Dep::DpkgBreaks) MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps); + else + MarkDelete(Pkg,false,Depth + 1, false); } continue; } diff --git a/debian/changelog b/debian/changelog index 1d76736a3..4e453040f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,11 @@ apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low * apt-pkg/cdrom.cc: - fix off-by-one error in DropBinaryArch + [ Julian Andres Klode ] + * apt-pkg/depcache.cc: + - Only try upgrade for Breaks if there is a newer version, otherwise + handle it as Conflicts (by removing it) (helps for #591881). + -- Michael Vogt Fri, 30 Jul 2010 17:37:14 +0200 apt (0.7.26~exp12) experimental; urgency=low -- cgit v1.2.3 From beeaac3e93818e1d3434ca46d2e98f9a3250eeaa Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 7 Aug 2010 00:34:49 +0200 Subject: Fix changelog. --- debian/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 4e453040f..af6eeb9ea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,7 +11,7 @@ apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low [ Julian Andres Klode ] * apt-pkg/depcache.cc: - Only try upgrade for Breaks if there is a newer version, otherwise - handle it as Conflicts (by removing it) (helps for #591881). + handle it as Conflicts (by removing it) (helps for #591882). -- Michael Vogt Fri, 30 Jul 2010 17:37:14 +0200 -- cgit v1.2.3 From c6391a3bb2352abd011435e5122479344b0edf0e Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 7 Aug 2010 16:16:12 +0200 Subject: * debian/control: - Add dependency on gnupg to apt, apt-key uses it. --- debian/changelog | 2 ++ debian/control | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index af6eeb9ea..1927ef898 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,8 @@ apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low * apt-pkg/depcache.cc: - Only try upgrade for Breaks if there is a newer version, otherwise handle it as Conflicts (by removing it) (helps for #591882). + * debian/control: + - Add dependency on gnupg to apt, apt-key uses it. -- Michael Vogt Fri, 30 Jul 2010 17:37:14 +0200 diff --git a/debian/control b/debian/control index dba0933b1..f03b96f67 100644 --- a/debian/control +++ b/debian/control @@ -12,7 +12,7 @@ Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/ Package: apt Architecture: any -Depends: ${shlibs:Depends}, debian-archive-keyring, ${misc:Depends} +Depends: ${shlibs:Depends}, debian-archive-keyring, ${misc:Depends}, gnupg Replaces: manpages-pl (<< 20060617-3~) Provides: ${libapt-pkg:provides} Conflicts: python-apt (<< 0.7.93.2~) -- cgit v1.2.3 From 4a9db82795a64fce22128f8dc06596421ce2d865 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 10 Aug 2010 14:53:12 +0200 Subject: apt-pkg/contrib/fileutl.cc: Add WriteAtomic mode. --- apt-pkg/contrib/fileutl.cc | 2 ++ apt-pkg/contrib/fileutl.h | 3 ++- debian/changelog | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 2a3b8a87d..f86bf2942 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -669,6 +669,7 @@ bool FileFd::Open(string FileName,OpenMode Mode, unsigned long Perms) } break; + case WriteAtomic: case WriteEmpty: { Flags |= Replace; @@ -678,6 +679,7 @@ bool FileFd::Open(string FileName,OpenMode Mode, unsigned long Perms) free(name); break; } + case WriteExists: iFd = open(FileName.c_str(),O_RDWR); diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h index 62705478d..cb4655798 100644 --- a/apt-pkg/contrib/fileutl.h +++ b/apt-pkg/contrib/fileutl.h @@ -46,7 +46,8 @@ class FileFd gzFile gz; public: - enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny,WriteTemp,ReadOnlyGzip}; + enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny,WriteTemp,ReadOnlyGzip, + WriteAtomic}; inline bool Read(void *To,unsigned long Size,bool AllowEof) { diff --git a/debian/changelog b/debian/changelog index 1927ef898..9f3d1df85 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,8 @@ apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low - fix off-by-one error in DropBinaryArch [ Julian Andres Klode ] + * apt-pkg/contrib/fileutl.cc: + - Add WriteAtomic mode. * apt-pkg/depcache.cc: - Only try upgrade for Breaks if there is a newer version, otherwise handle it as Conflicts (by removing it) (helps for #591882). -- cgit v1.2.3 From fc81e8f2deff3b86738cad78aa491b1b514b3c59 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 10 Aug 2010 14:55:36 +0200 Subject: apt-pkg/contrib/fileutl.cc: Revert WriteEmpty to old behavior (LP: #613211) --- apt-pkg/contrib/fileutl.cc | 9 ++++++++- debian/changelog | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index f86bf2942..91aecee65 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -670,7 +670,6 @@ bool FileFd::Open(string FileName,OpenMode Mode, unsigned long Perms) break; case WriteAtomic: - case WriteEmpty: { Flags |= Replace; char *name = strdup((FileName + ".XXXXXX").c_str()); @@ -680,6 +679,14 @@ bool FileFd::Open(string FileName,OpenMode Mode, unsigned long Perms) break; } + case WriteEmpty: + { + struct stat Buf; + if (lstat(FileName.c_str(),&Buf) == 0 && S_ISLNK(Buf.st_mode)) + unlink(FileName.c_str()); + iFd = open(FileName.c_str(),O_RDWR | O_CREAT | O_TRUNC,Perms); + break; + } case WriteExists: iFd = open(FileName.c_str(),O_RDWR); diff --git a/debian/changelog b/debian/changelog index 9f3d1df85..0f3d0d499 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,7 @@ apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low [ Julian Andres Klode ] * apt-pkg/contrib/fileutl.cc: - Add WriteAtomic mode. + - Revert WriteEmpty to old behavior (LP: #613211) * apt-pkg/depcache.cc: - Only try upgrade for Breaks if there is a newer version, otherwise handle it as Conflicts (by removing it) (helps for #591882). -- cgit v1.2.3 From 22041bd2864b8d0b401b45dde9eda4003a11fec4 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 10 Aug 2010 14:59:56 +0200 Subject: apt-pkg, methods: Convert users of WriteEmpty to WriteAtomic. --- apt-pkg/depcache.cc | 2 +- apt-pkg/indexcopy.cc | 6 +++--- apt-pkg/pkgcachegen.cc | 4 ++-- debian/changelog | 2 ++ methods/bzip2.cc | 2 +- methods/copy.cc | 2 +- methods/gzip.cc | 2 +- methods/rred.cc | 4 ++-- 8 files changed, 13 insertions(+), 11 deletions(-) diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 043185dbc..00bf68af1 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -227,7 +227,7 @@ bool pkgDepCache::writeStateFile(OpProgress *prog, bool InstalledOnly) /*{{{*/ // if it does not exist, create a empty one if(!FileExists(state)) { - StateFile.Open(state, FileFd::WriteEmpty); + StateFile.Open(state, FileFd::WriteAtomic); StateFile.Close(); } diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index 621c18716..b4e587d7b 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -134,7 +134,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector &List, TargetF += URItoFileName(S); if (_config->FindB("APT::CDROM::NoAct",false) == true) TargetF = "/dev/null"; - FileFd Target(TargetF,FileFd::WriteEmpty); + FileFd Target(TargetF,FileFd::WriteAtomic); FILE *TargetFl = fdopen(dup(Target.Fd()),"w"); if (_error->PendingError() == true) return false; @@ -565,7 +565,7 @@ bool SigVerify::CopyMetaIndex(string CDROM, string CDName, /*{{{*/ FileFd Target; FileFd Rel; - Target.Open(TargetF,FileFd::WriteEmpty); + Target.Open(TargetF,FileFd::WriteAtomic); Rel.Open(prefix + file,FileFd::ReadOnly); if (_error->PendingError() == true) return false; @@ -840,7 +840,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ TargetF += URItoFileName(S); if (_config->FindB("APT::CDROM::NoAct",false) == true) TargetF = "/dev/null"; - FileFd Target(TargetF,FileFd::WriteEmpty); + FileFd Target(TargetF,FileFd::WriteAtomic); FILE *TargetFl = fdopen(dup(Target.Fd()),"w"); if (_error->PendingError() == true) return false; diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index c9a9a753c..ed35174bb 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -1192,7 +1192,7 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress if (Writeable == true && CacheFile.empty() == false) { unlink(CacheFile.c_str()); - CacheF = new FileFd(CacheFile,FileFd::WriteEmpty); + CacheF = new FileFd(CacheFile,FileFd::WriteAtomic); fchmod(CacheF->Fd(),0644); Map = CreateDynamicMMap(CacheF, MMap::Public); if (_error->PendingError() == true) @@ -1254,7 +1254,7 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress // Write it back if (Writeable == true && SrcCacheFile.empty() == false) { - FileFd SCacheF(SrcCacheFile,FileFd::WriteEmpty); + FileFd SCacheF(SrcCacheFile,FileFd::WriteAtomic); if (_error->PendingError() == true) return false; diff --git a/debian/changelog b/debian/changelog index 0f3d0d499..6945b48f5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,8 @@ apt (0.7.26~exp13) UNRELEASEDexperimental; urgency=low * apt-pkg/contrib/fileutl.cc: - Add WriteAtomic mode. - Revert WriteEmpty to old behavior (LP: #613211) + * apt-pkg, methods: + - Convert users of WriteEmpty to WriteAtomic. * apt-pkg/depcache.cc: - Only try upgrade for Breaks if there is a newer version, otherwise handle it as Conflicts (by removing it) (helps for #591882). diff --git a/methods/bzip2.cc b/methods/bzip2.cc index 5da214bfc..19e49828e 100644 --- a/methods/bzip2.cc +++ b/methods/bzip2.cc @@ -91,7 +91,7 @@ bool Bzip2Method::Fetch(FetchItem *Itm) close(GzOut[1]); FileFd FromGz(GzOut[0]); // For autoclose - FileFd To(Itm->DestFile,FileFd::WriteEmpty); + FileFd To(Itm->DestFile,FileFd::WriteAtomic); To.EraseOnFailure(); if (_error->PendingError() == true) return false; diff --git a/methods/copy.cc b/methods/copy.cc index 027b59f46..a6bb372a3 100644 --- a/methods/copy.cc +++ b/methods/copy.cc @@ -52,7 +52,7 @@ bool CopyMethod::Fetch(FetchItem *Itm) // See if the file exists FileFd From(File,FileFd::ReadOnly); - FileFd To(Itm->DestFile,FileFd::WriteEmpty); + FileFd To(Itm->DestFile,FileFd::WriteAtomic); To.EraseOnFailure(); if (_error->PendingError() == true) { diff --git a/methods/gzip.cc b/methods/gzip.cc index 72e3ac909..5b9b66b50 100644 --- a/methods/gzip.cc +++ b/methods/gzip.cc @@ -55,7 +55,7 @@ bool GzipMethod::Fetch(FetchItem *Itm) return true; } - FileFd To(Itm->DestFile,FileFd::WriteEmpty); + FileFd To(Itm->DestFile,FileFd::WriteAtomic); To.EraseOnFailure(); if (_error->PendingError() == true) return false; diff --git a/methods/rred.cc b/methods/rred.cc index f42c7a072..d51c45c85 100644 --- a/methods/rred.cc +++ b/methods/rred.cc @@ -446,7 +446,7 @@ bool RredMethod::Fetch(FetchItem *Itm) /*{{{*/ // the cleanup/closing of the fds) FileFd From(Path,FileFd::ReadOnly); FileFd Patch(Path+".ed",FileFd::ReadOnly); - FileFd To(Itm->DestFile,FileFd::WriteEmpty); + FileFd To(Itm->DestFile,FileFd::WriteAtomic); To.EraseOnFailure(); if (_error->PendingError() == true) return false; @@ -458,7 +458,7 @@ bool RredMethod::Fetch(FetchItem *Itm) /*{{{*/ // retry with patchFile lseek(Patch.Fd(), 0, SEEK_SET); lseek(From.Fd(), 0, SEEK_SET); - To.Open(Itm->DestFile,FileFd::WriteEmpty); + To.Open(Itm->DestFile,FileFd::WriteAtomic); if (_error->PendingError() == true) return false; if (patchFile(Patch, From, To, &Hash) != ED_OK) { -- cgit v1.2.3 From 47f6d1b72bc883ecdc00542da4c824a5c4fb79fa Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Tue, 10 Aug 2010 15:58:09 +0200 Subject: * apt-pkg/algorithms.cc: - change the debug outputs to display also arch of the package and version dependencies information --- apt-pkg/algorithms.cc | 74 ++++++++++++++++++++++++------------------------ apt-pkg/cacheiterators.h | 3 ++ apt-pkg/pkgcache.cc | 24 ++++++++++++++++ debian/changelog | 7 ++++- 4 files changed, 70 insertions(+), 38 deletions(-) diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index f17c76d6c..12c5b8710 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -58,7 +58,7 @@ void pkgSimulate::Describe(PkgIterator Pkg,ostream &out,bool Current,bool Candid { VerIterator Ver(Sim); - out << Pkg.Name(); + out << Pkg.FullName(true); if (Current == true) { @@ -123,9 +123,9 @@ bool pkgSimulate::Install(PkgIterator iPkg,string /*File*/) { if ((Sim[End] & pkgDepCache::DepGInstall) == 0) { - cout << " [" << I.Name() << " on " << Start.TargetPkg().Name() << ']'; + cout << " [" << I.FullName(false) << " on " << Start.TargetPkg().FullName(false) << ']'; if (Start->Type == pkgCache::Dep::Conflicts) - _error->Error("Fatal, conflicts violated %s",I.Name()); + _error->Error("Fatal, conflicts violated %s",I.FullName(false).c_str()); } } } @@ -165,7 +165,7 @@ bool pkgSimulate::Configure(PkgIterator iPkg) // Sim.MarkInstall(Pkg,false); if (Sim[Pkg].InstBroken() == true) { - cout << "Conf " << Pkg.Name() << " broken" << endl; + cout << "Conf " << Pkg.FullName(false) << " broken" << endl; Sim.Update(); @@ -177,17 +177,17 @@ bool pkgSimulate::Configure(PkgIterator iPkg) continue; if (D->Type == pkgCache::Dep::Obsoletes) - cout << " Obsoletes:" << D.TargetPkg().Name(); + cout << " Obsoletes:" << D.TargetPkg().FullName(false); else if (D->Type == pkgCache::Dep::Conflicts) - cout << " Conflicts:" << D.TargetPkg().Name(); + cout << " Conflicts:" << D.TargetPkg().FullName(false); else if (D->Type == pkgCache::Dep::DpkgBreaks) - cout << " Breaks:" << D.TargetPkg().Name(); + cout << " Breaks:" << D.TargetPkg().FullName(false); else - cout << " Depends:" << D.TargetPkg().Name(); + cout << " Depends:" << D.TargetPkg().FullName(false); } cout << endl; - _error->Error("Conf Broken %s",Pkg.Name()); + _error->Error("Conf Broken %s",Pkg.FullName(false)); } else { @@ -254,7 +254,7 @@ void pkgSimulate::ShortBreaks() if (Sim[I].InstBroken() == true) { if (Flags[I->ID] == 0) - cout << I.Name() << ' '; + cout << I.FullName(false) << ' '; /* else cout << I.Name() << "! ";*/ } @@ -290,7 +290,7 @@ bool pkgApplyStatus(pkgDepCache &Cache) Cache.MarkInstall(I, false, 0, false); else return _error->Error(_("The package %s needs to be reinstalled, " - "but I can't find an archive for it."),I.Name()); + "but I can't find an archive for it."),I.FullName(true)); } continue; @@ -325,7 +325,7 @@ bool pkgApplyStatus(pkgDepCache &Cache) default: if (I->InstState != pkgCache::State::Ok) return _error->Error("The package %s is not ok and I " - "don't know how to fix it!",I.Name()); + "don't know how to fix it!",I.FullName(false)); } } return true; @@ -709,7 +709,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) if ((Flags[P->ID] & Protected) == Protected) { if (Debug == true) - clog << " Reinst Failed because of protected " << P.Name() << endl; + clog << " Reinst Failed because of protected " << P.FullName(false) << endl; Fail = true; } else @@ -720,7 +720,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) if (DoUpgrade(P) == false) { if (Debug == true) - clog << " Reinst Failed because of " << P.Name() << endl; + clog << " Reinst Failed because of " << P.FullName(false) << endl; Fail = true; } else @@ -739,7 +739,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) break; if (Debug == true) - clog << " Reinst Failed early because of " << Start.TargetPkg().Name() << endl; + clog << " Reinst Failed early because of " << Start.TargetPkg().FullName(false) << endl; Fail = true; } } @@ -763,7 +763,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) } if (Debug == true) - clog << " Re-Instated " << Pkg.Name() << endl; + clog << " Re-Instated " << Pkg.FullName(false) << endl; return true; } /*}}}*/ @@ -863,7 +863,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) (Flags[I->ID] & ReInstateTried) == 0) { if (Debug == true) - clog << " Try to Re-Instate " << I.Name() << endl; + clog << " Try to Re-Instate " << I.FullName(false) << endl; unsigned long OldBreaks = Cache.BrokenCount(); pkgCache::Version *OldVer = Cache[I].InstallVer; Flags[I->ID] &= ReInstateTried; @@ -879,14 +879,14 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) } else if (Debug == true) - clog << "Re-Instated " << I.Name() << " (" << OldBreaks << " vs " << Cache.BrokenCount() << ')' << endl; + clog << "Re-Instated " << I.FullName(false) << " (" << OldBreaks << " vs " << Cache.BrokenCount() << ')' << endl; } if (Cache[I].InstallVer == 0 || Cache[I].InstBroken() == false) continue; if (Debug == true) - clog << "Investigating " << I.Name() << endl; + clog << "Investigating " << I << endl; // Isolate the problem dependency PackageKill KillList[100]; @@ -911,7 +911,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if ((Flags[I->ID] & Protected) != Protected) { if (Debug == true) - clog << " Or group remove for " << I.Name() << endl; + clog << " Or group remove for " << I.FullName(false) << endl; Cache.MarkDelete(I); Change = true; } @@ -919,7 +919,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if (OldEnd == LEnd && OrOp == OrKeep) { if (Debug == true) - clog << " Or group keep for " << I.Name() << endl; + clog << " Or group keep for " << I.FullName(false) << endl; Cache.MarkKeep(I, false, false); Change = true; } @@ -956,7 +956,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) } if (Debug == true) - clog << "Package " << I.Name() << " has broken " << Start.DepType() << " on " << Start.TargetPkg().Name() << endl; + clog << "Broken " << Start << endl; /* Look across the version list. If there are no possible targets then we keep the package and bail. This is necessary @@ -987,8 +987,8 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) pkgCache::PkgIterator Pkg = Ver.ParentPkg(); if (Debug == true) - clog << " Considering " << Pkg.Name() << ' ' << (int)Scores[Pkg->ID] << - " as a solution to " << I.Name() << ' ' << (int)Scores[I->ID] << endl; + clog << " Considering " << Pkg.FullName(false) << ' ' << (int)Scores[Pkg->ID] << + " as a solution to " << I.FullName(false) << ' ' << (int)Scores[I->ID] << endl; /* Try to fix the package under consideration rather than fiddle with the VList package */ @@ -1026,7 +1026,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) Cache.MarkInstall(I, false, 0, false); if (Debug == true) - clog << " Holding Back " << I.Name() << " rather than change " << Start.TargetPkg().Name() << endl; + clog << " Holding Back " << I.FullName(false) << " rather than change " << Start.TargetPkg().FullName(false) << endl; } else { @@ -1036,7 +1036,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if (InOr == false) { if (Debug == true) - clog << " Removing " << I.Name() << " rather than change " << Start.TargetPkg().Name() << endl; + clog << " Removing " << I.FullName(false) << " rather than change " << Start.TargetPkg().FullName(false) << endl; Cache.MarkDelete(I); if (Counter > 1 && Scores[Pkg->ID] > Scores[I->ID]) Scores[I->ID] = Scores[Pkg->ID]; @@ -1068,7 +1068,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if (Cache[End] & pkgDepCache::DepGCVer) { if (Debug) - clog << " Upgrading " << Pkg.Name() << " due to Breaks field in " << I.Name() << endl; + clog << " Upgrading " << Pkg.FullName(false) << " due to Breaks field in " << I.FullName(false) << endl; Cache.MarkInstall(Pkg, false, 0, false); continue; } @@ -1079,7 +1079,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) continue; if (Debug == true) - clog << " Added " << Pkg.Name() << " to the remove list" << endl; + clog << " Added " << Pkg.FullName(false) << " to the remove list" << endl; LEnd->Pkg = Pkg; LEnd->Dep = End; @@ -1111,12 +1111,12 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) Cache.MarkInstall(I, false, 0, false); if (Debug == true) - clog << " Holding Back " << I.Name() << " because I can't find " << Start.TargetPkg().Name() << endl; + clog << " Holding Back " << I.FullName(false) << " because I can't find " << Start.TargetPkg().FullName(false) << endl; } else { if (Debug == true) - clog << " Removing " << I.Name() << " because I can't find " << Start.TargetPkg().Name() << endl; + clog << " Removing " << I.FullName(false) << " because I can't find " << Start.TargetPkg().FullName(false) << endl; if (InOr == false) Cache.MarkDelete(I); } @@ -1146,14 +1146,14 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) J->Dep->Type == pkgCache::Dep::Obsoletes) { if (Debug == true) - clog << " Fixing " << I.Name() << " via remove of " << J->Pkg.Name() << endl; + clog << " Fixing " << I.FullName(false) << " via remove of " << J->Pkg.FullName(false) << endl; Cache.MarkDelete(J->Pkg); } } else { if (Debug == true) - clog << " Fixing " << I.Name() << " via keep of " << J->Pkg.Name() << endl; + clog << " Fixing " << I.FullName(false) << " via keep of " << J->Pkg.FullName(false) << endl; Cache.MarkKeep(J->Pkg, false, false); } @@ -1189,7 +1189,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) for (;I.end() != true; I++) { if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) { if(_config->FindI("Debug::pkgAutoRemove",false)) { - std::clog << "Resolve installed new pkg: " << I.Name() + std::clog << "Resolve installed new pkg: " << I.FullName(false) << " (now marking it as auto)" << std::endl; } Cache[I].Flags |= pkgCache::Flag::Auto; @@ -1252,7 +1252,7 @@ bool pkgProblemResolver::ResolveByKeep() if ((Flags[I->ID] & Protected) == 0) { if (Debug == true) - clog << "Keeping package " << I.Name() << endl; + clog << "Keeping package " << I.FullName(false) << endl; Cache.MarkKeep(I, false, false); if (Cache[I].InstBroken() == false) { @@ -1283,7 +1283,7 @@ bool pkgProblemResolver::ResolveByKeep() while (true) { if (Debug == true) - clog << "Package " << I.Name() << " has broken " << Start.DepType() << " on " << Start.TargetPkg().Name() << endl; + clog << "Package " << I.FullName(false) << " " << Start << endl; // Look at all the possible provides on this package SPtrArray VList = Start.AllTargets(); @@ -1300,7 +1300,7 @@ bool pkgProblemResolver::ResolveByKeep() if ((Flags[I->ID] & Protected) == 0) { if (Debug == true) - clog << " Keeping Package " << Pkg.Name() << " due to " << Start.DepType() << endl; + clog << " Keeping Package " << Pkg.FullName(false) << " due to " << Start.DepType() << endl; Cache.MarkKeep(Pkg, false, false); } @@ -1325,7 +1325,7 @@ bool pkgProblemResolver::ResolveByKeep() // Restart again. if (K == LastStop) - return _error->Error("Internal Error, pkgProblemResolver::ResolveByKeep is looping on package %s.",I.Name()); + return _error->Error("Internal Error, pkgProblemResolver::ResolveByKeep is looping on package %s.",I.FullName(false)); LastStop = K; K = PList - 1; } diff --git a/apt-pkg/cacheiterators.h b/apt-pkg/cacheiterators.h index 0be9368bd..26070636e 100644 --- a/apt-pkg/cacheiterators.h +++ b/apt-pkg/cacheiterators.h @@ -293,6 +293,9 @@ class pkgCache::DepIterator : public Iterator { inline const char *CompType() const {return Owner->CompType(S->CompareOp);}; inline const char *DepType() const {return Owner->DepType(S->Type);}; + //Nice printable representation + friend std::ostream& operator <<(std::ostream& out, DepIterator D); + inline DepIterator(pkgCache &Owner, Dependency *Trg, Version* = 0) : Iterator(Owner, Trg), Type(DepVer) { if (S == 0) diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index 9e1f8b633..2b051cbb0 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -661,6 +661,30 @@ void pkgCache::DepIterator::GlobOr(DepIterator &Start,DepIterator &End) } } /*}}}*/ +// ostream operator to handle string representation of a dependecy /*{{{*/ +// --------------------------------------------------------------------- +/* */ +std::ostream& operator<<(ostream& out, pkgCache::DepIterator D) +{ + if (D.end() == true) + return out << "invalid dependency"; + + pkgCache::PkgIterator P = D.ParentPkg(); + pkgCache::PkgIterator T = D.TargetPkg(); + + out << (P.end() ? "invalid pkg" : P.FullName(false)) << " " << D.DepType() + << " on "; + if (T.end() == true) + out << "invalid pkg"; + else + out << T; + + if (D->Version != 0) + out << " (" << D.CompType() << " " << D.TargetVer() << ")"; + + return out; +} + /*}}}*/ // VerIterator::CompareVer - Fast version compare for same pkgs /*{{{*/ // --------------------------------------------------------------------- /* This just looks over the version list to see if B is listed before A. In diff --git a/debian/changelog b/debian/changelog index d9908d0a6..69b1649c6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,7 +7,12 @@ apt (0.8.0~pre1) UNRELASED; urgency=low [ Programs translations ] * Swedish translation update. Closes: #592366 - -- Michael Vogt Fri, 30 Jul 2010 12:42:57 +0200 + [ David Kalnischkies ] + * apt-pkg/algorithms.cc: + - change the debug outputs to display also arch of the + package and version dependencies information + + -- David Kalnischkies Tue, 10 Aug 2010 15:56:11 +0200 apt (0.7.26~exp12) experimental; urgency=low -- cgit v1.2.3 From 086bb6d7b5ba933e0a8a6de13d731fcfb8eeda74 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 11 Aug 2010 19:39:44 +0200 Subject: * cmdline/apt-get.cc: - let APT::Get::Arch-Only in build-dep default to false again (Closes: #592628) Thanks Mohamed Amine IL Idrissi for report! --- cmdline/apt-get.cc | 4 +++- debian/changelog | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index c0e74b37b..dac0d42a8 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -28,6 +28,7 @@ #define _LARGEFILE_SOURCE #define _LARGEFILE64_SOURCE +#include #include #include #include @@ -2493,6 +2494,7 @@ bool DoBuildDep(CommandLine &CmdL) return false; unsigned J = 0; + bool const StripMultiArch = APT::Configuration::getArchitectures().size() <= 1; for (const char **I = CmdL.FileList + 1; *I != 0; I++, J++) { string Src; @@ -2502,7 +2504,7 @@ bool DoBuildDep(CommandLine &CmdL) // Process the build-dependencies vector BuildDeps; - if (Last->BuildDepends(BuildDeps, _config->FindB("APT::Get::Arch-Only",true)) == false) + if (Last->BuildDepends(BuildDeps, _config->FindB("APT::Get::Arch-Only", false), StripMultiArch) == false) return _error->Error(_("Unable to get build-dependency information for %s"),Src.c_str()); // Also ensure that build-essential packages are present diff --git a/debian/changelog b/debian/changelog index 1207fb52f..0a6a7a8fa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,8 +29,11 @@ apt (0.8.0~pre1) UNRELASED; urgency=low * apt-pkg/algorithms.cc: - change the debug outputs to display also arch of the package and version dependencies information + * cmdline/apt-get.cc: + - let APT::Get::Arch-Only in build-dep default to false again + (Closes: #592628) Thanks Mohamed Amine IL Idrissi for report! - -- David Kalnischkies Tue, 10 Aug 2010 15:56:11 +0200 + -- David Kalnischkies Wed, 11 Aug 2010 19:36:21 +0200 apt (0.7.26~exp12) experimental; urgency=low -- cgit v1.2.3 From 6cb1583a73d7f009f05f8a2b20a177fa31249241 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 12 Aug 2010 16:45:41 +0200 Subject: purge packages in 'rc' state, thanks Rogier! (Closes: #150831) --- cmdline/apt-get.cc | 9 ++++++--- debian/changelog | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index dac0d42a8..6ca9e1402 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -844,9 +844,11 @@ struct TryToRemove { pkgCacheFile* Cache; pkgProblemResolver* Fix; bool FixBroken; + bool PurgePkgs; unsigned long AutoMarkChanged; - TryToRemove(pkgCacheFile &Cache, pkgProblemResolver &PM) : Cache(&Cache), Fix(&PM) {}; + TryToRemove(pkgCacheFile &Cache, pkgProblemResolver &PM) : Cache(&Cache), Fix(&PM), + PurgePkgs(_config->FindB("APT::Get::Purge", false)) {}; void operator() (pkgCache::VerIterator const &Ver) { @@ -856,10 +858,11 @@ struct TryToRemove { Fix->Protect(Pkg); Fix->Remove(Pkg); - if (Pkg->CurrentVer == 0) + if ((Pkg->CurrentVer == 0 && PurgePkgs == false) || + (PurgePkgs == true && Pkg->CurrentState == pkgCache::State::NotInstalled)) ioprintf(c1out,_("Package %s is not installed, so not removed\n"),Pkg.FullName(true).c_str()); else - Cache->GetDepCache()->MarkDelete(Pkg,_config->FindB("APT::Get::Purge",false)); + Cache->GetDepCache()->MarkDelete(Pkg, PurgePkgs); } }; /*}}}*/ diff --git a/debian/changelog b/debian/changelog index 0a6a7a8fa..e7df55743 100644 --- a/debian/changelog +++ b/debian/changelog @@ -32,6 +32,7 @@ apt (0.8.0~pre1) UNRELASED; urgency=low * cmdline/apt-get.cc: - let APT::Get::Arch-Only in build-dep default to false again (Closes: #592628) Thanks Mohamed Amine IL Idrissi for report! + - purge packages in 'rc' state, thanks Rogier! (Closes: #150831) -- David Kalnischkies Wed, 11 Aug 2010 19:36:21 +0200 -- cgit v1.2.3 From 09a10f9cd2661d28b2ff53d59a0936563cfe1cf7 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 13 Aug 2010 14:41:55 +0200 Subject: * apt-pkg/algorithms.cc: - let the problem resolver install packages to fix or-groups as a needed remove nuked another or-member (helps for #591882) The resolver sometimes need to break or-groups because he need to remove the previous satisfier as a result of a breaks/conflicts. In such broken or-groups he now tries to install a non-installed non-deleted member of the or-group to statisfy it again. This move is dangerous as it introduces the possibility of a bunch of "new" broken breaks/conflicts on the new statisfier or its dependencies and we don't know about them beforehand. We also don't have the infrastructure to undo the decision later, so we just do it and pray! For now a test option is provided to disable this behavior on the fly to test if the situation is worse: pkgProblemResolver::FixByInstall --- apt-pkg/algorithms.cc | 40 +++++++++++++++++++++++++++++----------- debian/changelog | 4 +++- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 12c5b8710..5641869ab 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -187,7 +187,7 @@ bool pkgSimulate::Configure(PkgIterator iPkg) } cout << endl; - _error->Error("Conf Broken %s",Pkg.FullName(false)); + _error->Error("Conf Broken %s",Pkg.FullName(false).c_str()); } else { @@ -290,7 +290,7 @@ bool pkgApplyStatus(pkgDepCache &Cache) Cache.MarkInstall(I, false, 0, false); else return _error->Error(_("The package %s needs to be reinstalled, " - "but I can't find an archive for it."),I.FullName(true)); + "but I can't find an archive for it."),I.FullName(true).c_str()); } continue; @@ -325,7 +325,7 @@ bool pkgApplyStatus(pkgDepCache &Cache) default: if (I->InstState != pkgCache::State::Ok) return _error->Error("The package %s is not ok and I " - "don't know how to fix it!",I.FullName(false)); + "don't know how to fix it!",I.FullName(false).c_str()); } } return true; @@ -847,6 +847,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) not be possible for a loop to form (that is a < b < c and fixing b by changing a breaks c) */ bool Change = true; + bool const TryFixByInstall = _config->FindB("pkgProblemResolver::FixByInstall", true); for (int Counter = 0; Counter != 10 && Change == true; Counter++) { Change = false; @@ -863,7 +864,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) (Flags[I->ID] & ReInstateTried) == 0) { if (Debug == true) - clog << " Try to Re-Instate " << I.FullName(false) << endl; + clog << " Try to Re-Instate (" << Counter << ") " << I.FullName(false) << endl; unsigned long OldBreaks = Cache.BrokenCount(); pkgCache::Version *OldVer = Cache[I].InstallVer; Flags[I->ID] &= ReInstateTried; @@ -886,7 +887,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) continue; if (Debug == true) - clog << "Investigating " << I << endl; + clog << "Investigating (" << Counter << ") " << I << endl; // Isolate the problem dependency PackageKill KillList[100]; @@ -904,9 +905,9 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if (Start == End) { // Decide what to do - if (InOr == true) + if (InOr == true && OldEnd == LEnd) { - if (OldEnd == LEnd && OrOp == OrRemove) + if (OrOp == OrRemove) { if ((Flags[I->ID] & Protected) != Protected) { @@ -914,9 +915,9 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) clog << " Or group remove for " << I.FullName(false) << endl; Cache.MarkDelete(I); Change = true; - } - } - if (OldEnd == LEnd && OrOp == OrKeep) + } + } + else if (OrOp == OrKeep) { if (Debug == true) clog << " Or group keep for " << I.FullName(false) << endl; @@ -1041,6 +1042,23 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if (Counter > 1 && Scores[Pkg->ID] > Scores[I->ID]) Scores[I->ID] = Scores[Pkg->ID]; } + else if (TryFixByInstall == true && + Start.TargetPkg()->CurrentVer == 0 && + Cache[Start.TargetPkg()].Delete() == false && + Cache.GetCandidateVer(Start.TargetPkg()).end() == false) + { + /* Before removing or keeping the package with the broken dependency + try instead to install the first not previously installed package + solving this dependency. This helps every time a previous solver + is removed by the resolver because of a conflict or alike but it is + dangerous as it could trigger new breaks/conflicts… */ + std::cout << " Try Installing " << Start.TargetPkg() << " before changing " << I.FullName(false) << std::endl; + unsigned long const OldBroken = Cache.BrokenCount(); + Cache.MarkInstall(Start.TargetPkg(), true, 1, false); + // FIXME: we should undo the complete MarkInstall process here + if (Cache[Start.TargetPkg()].InstBroken() == true || Cache.BrokenCount() > OldBroken) + Cache.MarkDelete(Start.TargetPkg(), false, 1, false); + } } } @@ -1325,7 +1343,7 @@ bool pkgProblemResolver::ResolveByKeep() // Restart again. if (K == LastStop) - return _error->Error("Internal Error, pkgProblemResolver::ResolveByKeep is looping on package %s.",I.FullName(false)); + return _error->Error("Internal Error, pkgProblemResolver::ResolveByKeep is looping on package %s.",I.FullName(false).c_str()); LastStop = K; K = PList - 1; } diff --git a/debian/changelog b/debian/changelog index e7df55743..3a1cc6787 100644 --- a/debian/changelog +++ b/debian/changelog @@ -27,6 +27,8 @@ apt (0.8.0~pre1) UNRELASED; urgency=low [ David Kalnischkies ] * apt-pkg/algorithms.cc: + - let the problem resolver install packages to fix or-groups + as a needed remove nuked another or-member (helps for #591882) - change the debug outputs to display also arch of the package and version dependencies information * cmdline/apt-get.cc: @@ -34,7 +36,7 @@ apt (0.8.0~pre1) UNRELASED; urgency=low (Closes: #592628) Thanks Mohamed Amine IL Idrissi for report! - purge packages in 'rc' state, thanks Rogier! (Closes: #150831) - -- David Kalnischkies Wed, 11 Aug 2010 19:36:21 +0200 + -- David Kalnischkies Fri, 13 Aug 2010 14:24:27 +0200 apt (0.7.26~exp12) experimental; urgency=low -- cgit v1.2.3 From f824d95cacb53fc24a775a6a13feb2f8c7ae2ace Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 13 Aug 2010 16:42:38 +0200 Subject: * apt-pkg/pkgcache.cc: - fix LongDesc handling in LANG=C environment --- apt-pkg/pkgcache.cc | 3 ++- debian/changelog | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index bb28a33ca..a66a5198d 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -894,7 +894,8 @@ pkgCache::DescIterator pkgCache::VerIterator::TranslatedDescription() const pkgCache::DescIterator Desc = DescDefault; for (; Desc.end() == false; Desc++) - if (*l == Desc.LanguageCode()) + if (*l == Desc.LanguageCode() || + (*l == "en" && strcmp(Desc.LanguageCode(),"") == 0)) break; if (Desc.end() == true) Desc = DescDefault; diff --git a/debian/changelog b/debian/changelog index 3a1cc6787..671d9844e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -35,8 +35,10 @@ apt (0.8.0~pre1) UNRELASED; urgency=low - let APT::Get::Arch-Only in build-dep default to false again (Closes: #592628) Thanks Mohamed Amine IL Idrissi for report! - purge packages in 'rc' state, thanks Rogier! (Closes: #150831) + * apt-pkg/pkgcache.cc: + - fix LongDesc handling in LANG=C environment - -- David Kalnischkies Fri, 13 Aug 2010 14:24:27 +0200 + -- David Kalnischkies Fri, 13 Aug 2010 16:40:57 +0200 apt (0.7.26~exp12) experimental; urgency=low -- cgit v1.2.3 From 9349f80796a4b0be3ce2e732029ddd4a6558f80a Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 13 Aug 2010 17:35:25 +0200 Subject: releasing version 0.8.0~pre1 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 671d9844e..2f1e89c65 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -apt (0.8.0~pre1) UNRELASED; urgency=low +apt (0.8.0~pre1) experimental; urgency=low [ Programs translations ] * Swedish translation update. Closes: #592366 @@ -38,7 +38,7 @@ apt (0.8.0~pre1) UNRELASED; urgency=low * apt-pkg/pkgcache.cc: - fix LongDesc handling in LANG=C environment - -- David Kalnischkies Fri, 13 Aug 2010 16:40:57 +0200 + -- Michael Vogt Fri, 13 Aug 2010 17:00:49 +0200 apt (0.7.26~exp12) experimental; urgency=low -- cgit v1.2.3 From 7d0627b62aa24b970f18d52be8576c314556b680 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 14 Aug 2010 00:25:57 +0200 Subject: add a small script to automate the task of creating Packages and status files for tests with "real" problems --- test/integration/create-test-data | 33 +++++++++++++++++++++++++++++++++ test/integration/framework | 6 +++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100755 test/integration/create-test-data diff --git a/test/integration/create-test-data b/test/integration/create-test-data new file mode 100755 index 000000000..ff9405502 --- /dev/null +++ b/test/integration/create-test-data @@ -0,0 +1,33 @@ +#!/bin/sh +set +e # its okay to fail in these script, most of the time the apt* stuff will generate errors + +local TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +BUILDDIRECTORY="${TESTDIR}/../../build/bin" + +GENERATE=$1 +CODENAME=$2 +shift 2 + +WORKDIR=$(mktemp -d) +trap "rm -rf $WORKDIR" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM +touch $WORKDIR/status +TMPGEN=$WORKDIR/Packages +export LANG=C + +LISTOFPKGS=$(aptget install $* -t $CODENAME -so Dir::state::status=$WORKDIR/status -o Dir::Cache::archives=$WORKDIR -o pkgCacheGen::Essential=none -o APT::Immediate-Configure=0 2> /dev/null | awk '/^Inst/ {print $2}' | sed -e "s#\$#/$CODENAME#") +aptcache show $LISTOFPKGS --no-all-versions 2> /dev/null > $TMPGEN +sed -i $TMPGEN \ + -e '/^ / d' \ + -e '/^SHA1: / d' -e '/^SHA256: / d' \ + -e '/^Homepage: / d' -e '/^Tag: / d' \ + -e '/^Xul-Appid: / d' \ + -e '/^Status: / d' + +if echo "$GENERATE" | grep '^status-' > /dev/null; then + sed -i $TMPGEN -e '/^Package: / a\ +Status: install ok installed' \ + -e '/^Filename: / d' -e '/^Size: / d' -e '/^MD5sum: / d' +fi + +apt-sortpkgs $TMPGEN > $GENERATE diff --git a/test/integration/framework b/test/integration/framework index b4e9302e8..f01bb989b 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -36,7 +36,11 @@ msgdone() { if [ "$1" = "debug" -o "$1" = "info" ]; then true; else echo "${CDON runapt() { msgdebug "Executing: ${CCMD}$*${CDEBUG} " - APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${BUILDDIRECTORY} ${BUILDDIRECTORY}/$* + if [ -f ./aptconfig.conf ]; then + APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${BUILDDIRECTORY} ${BUILDDIRECTORY}/$* + else + LD_LIBRARY_PATH=${BUILDDIRECTORY} ${BUILDDIRECTORY}/$* + fi } aptconfig() { runapt apt-config $*; } aptcache() { runapt apt-cache $*; } -- cgit v1.2.3 From 4bec02c237e8e218bc7d4bcf7142e0450480138b Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 14 Aug 2010 01:18:11 +0200 Subject: fix testcase framework to test correctly for virtual packages --- test/integration/framework | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/integration/framework b/test/integration/framework index f01bb989b..5e6c5427f 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -73,7 +73,7 @@ setupenvironment() { if [ -f "${TESTDIR}/${PACKAGESFILE}" ]; then cp "${TESTDIR}/${PACKAGESFILE}" aptarchive/Packages else - touch var/lib/dpkg/status + touch aptarchive/Packages fi echo "RootDir \"${TMPWORKINGDIRECTORY}/rootdir\";" > aptconfig.conf echo "Debug::NoLocking \"true\";" >> aptconfig.conf @@ -172,18 +172,18 @@ testequalor2() { } testshowvirtual() { - local VIRTUAL="E: Can't select versions from package '$1' as it purely virtual" + local VIRTUAL="N: Can't select versions from package '$1' as it purely virtual" local PACKAGE="$1" shift while [ -n "$1" ]; do VIRTUAL="${VIRTUAL} -E: Can't select versions from package '$1' as it purely virtual" +N: Can't select versions from package '$1' as it purely virtual" PACKAGE="${PACKAGE} $1" shift done msgtest "Test for virtual packages" "apt-cache show $PACKAGE" VIRTUAL="${VIRTUAL} -E: No packages found" +N: No packages found" local COMPAREFILE=$(mktemp) local ARCH=$(dpkg-architecture -qDEB_HOST_ARCH_CPU) eval `apt-config shell ARCH APT::Architecture` -- cgit v1.2.3 From 443266ef94244f2c6854f34ddbacf1fcacfdb0f6 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 14 Aug 2010 01:21:50 +0200 Subject: do not unconditional print the new debugoutput for "FixByInstall" --- apt-pkg/algorithms.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 5641869ab..3c8711b74 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1052,7 +1052,8 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) solving this dependency. This helps every time a previous solver is removed by the resolver because of a conflict or alike but it is dangerous as it could trigger new breaks/conflicts… */ - std::cout << " Try Installing " << Start.TargetPkg() << " before changing " << I.FullName(false) << std::endl; + if (Debug == true) + clog << " Try Installing " << Start.TargetPkg() << " before changing " << I.FullName(false) << std::endl; unsigned long const OldBroken = Cache.BrokenCount(); Cache.MarkInstall(Start.TargetPkg(), true, 1, false); // FIXME: we should undo the complete MarkInstall process here -- cgit v1.2.3 From f107544e43fc3d262d9df5bde6eb430b7008825f Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 15 Aug 2010 19:12:35 +0200 Subject: add finally my very small testcase for the conkeror problem resulting in the FixByInstall code we currently "experiment" with --- test/integration/Packages-bug-591882-conkeror | 1787 +++++++++++++++++++++++++ test/integration/status-bug-591882-conkeror | 1357 +++++++++++++++++++ test/integration/test-bug-591882-conkeror | 75 ++ 3 files changed, 3219 insertions(+) create mode 100644 test/integration/Packages-bug-591882-conkeror create mode 100644 test/integration/status-bug-591882-conkeror create mode 100755 test/integration/test-bug-591882-conkeror diff --git a/test/integration/Packages-bug-591882-conkeror b/test/integration/Packages-bug-591882-conkeror new file mode 100644 index 000000000..05eac8987 --- /dev/null +++ b/test/integration/Packages-bug-591882-conkeror @@ -0,0 +1,1787 @@ +Package: conkeror +Priority: extra +Section: web +Installed-Size: 1488 +Maintainer: Axel Beckert +Architecture: all +Version: 0.9.2+git100804-1 +Provides: www-browser +Depends: xulrunner-1.9.1 | xulrunner-1.9.2 | xulrunner-1.9 | xulrunner (>= 1.9~) +Recommends: conkeror-spawn-process-helper +Suggests: emacs | emacsen +Breaks: conkeror-spawn-process-helper (<< 0.9~git080901-1) +Filename: pool/main/c/conkeror/conkeror_0.9.2+git100804-1_all.deb +Size: 233068 +MD5Sum: e7bce631fe421938f2dc7a2042497e21 +Description: keyboard focused web browser with Emacs look and feel + +Package: coreutils +Essential: yes +Priority: required +Section: utils +Installed-Size: 12188 +Maintainer: Michael Stone +Architecture: i386 +Version: 8.5-1 +Replaces: mktemp, timeout +Pre-Depends: libacl1 (>= 2.2.11-1), libattr1 (>= 2.4.41-1), libc6 (>= 2.6), libselinux1 (>= 1.32) +Conflicts: timeout +Filename: pool/main/c/coreutils/coreutils_8.5-1_i386.deb +Size: 4608374 +MD5Sum: de7f2ef8769cc38e64774102708ce1ae +Description: GNU core utilities + +Package: debconf-i18n +Priority: required +Section: localization +Installed-Size: 1208 +Maintainer: Debconf Developers +Architecture: all +Source: debconf +Version: 1.5.35 +Replaces: debconf (<< 1.3.0), debconf-utils (<< 1.3.22) +Depends: debconf, liblocale-gettext-perl, libtext-iconv-perl, libtext-wrapi18n-perl, libtext-charwidth-perl +Conflicts: debconf-english, debconf-utils (<< 1.3.22) +Filename: pool/main/d/debconf/debconf-i18n_1.5.35_all.deb +Size: 210348 +MD5Sum: 03d76e5a5fc733cffc54c4b3b14dbcd4 +Description: full internationalization support for debconf + +Package: debconf +Priority: required +Section: admin +Installed-Size: 1560 +Maintainer: Debconf Developers +Architecture: all +Version: 1.5.35 +Replaces: debconf-tiny +Provides: debconf-2.0 +Depends: debconf-i18n | debconf-english +Pre-Depends: perl-base (>= 5.6.1-4) +Recommends: apt-utils (>= 0.5.1) +Suggests: debconf-doc, debconf-utils, whiptail | dialog | gnome-utils, libterm-readline-gnu-perl, libgnome2-perl, libnet-ldap-perl, perl, libqtgui4-perl, libqtcore4-perl +Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13) +Filename: pool/main/d/debconf/debconf_1.5.35_all.deb +Size: 158120 +MD5Sum: 5a64e8e187984ed4eca44bf13eae8ea0 +Description: Debian configuration management system +Python-Version: 2.4, 2.5, 2.6 + +Package: debianutils +Essential: yes +Priority: required +Section: utils +Installed-Size: 216 +Maintainer: Clint Adams +Architecture: i386 +Version: 3.4 +Depends: sensible-utils +Pre-Depends: libc6 (>= 2.7) +Filename: pool/main/d/debianutils/debianutils_3.4_i386.deb +Size: 49888 +MD5Sum: 32eb3eebd4c9e58aadd418ca95b23904 +Description: Miscellaneous utilities specific to Debian + +Package: defoma +Priority: optional +Section: admin +Installed-Size: 564 +Maintainer: Debian QA Group +Architecture: all +Version: 0.11.11 +Depends: whiptail | dialog, file, perl +Recommends: libfont-freetype-perl +Suggests: defoma-doc, psfontmgr, x-ttcidfont-conf, dfontmgr +Conflicts: defoma-gs, defoma-ps, defoma-x, dfontmgr (<< 0.10.0), psfontmgr (<< 0.5.0), x-ttcidfont-conf (<< 5) +Filename: pool/main/d/defoma/defoma_0.11.11_all.deb +Size: 101104 +MD5Sum: ee11d3bc1a0275473d5c1feba846ff3e +Description: Debian Font Manager -- automatic font configuration framework +Enhances: debhelper + +Package: dpkg +Essential: yes +Priority: required +Section: admin +Installed-Size: 5628 +Maintainer: Dpkg Developers +Architecture: i386 +Version: 1.15.8.3 +Pre-Depends: libbz2-1.0, libc6 (>= 2.3), libselinux1 (>= 1.32), zlib1g (>= 1:1.1.4), coreutils (>= 5.93-1), xz-utils +Suggests: apt +Breaks: apt (<< 0.7.7), aptitude (<< 0.4.7-1), dpkg-dev (<< 1.14.16), emacs21 (<< 21.4a+1-5.7), emacs21-nox (<< 21.4a+1-5.7), emacs22 (<= 22.3+1-1), emacs22-gtk (<= 22.3+1-1), emacs22-nox (<= 22.3+1-1), jed (<< 1:0.99.18+dfsg.1-13), jed-extra (<= 2.5.3-2), konqueror (<= 4:4.2.96-1), libdpkg-perl (<< 1.15.8), pinfo (<< 0.6.9-3.1), tkinfo (<< 2.8-3.1), xemacs21-support (<< 21.4.22-2), xjed (<< 1:0.99.18+dfsg.1-13) +Filename: pool/main/d/dpkg/dpkg_1.15.8.3_i386.deb +Size: 1866568 +MD5Sum: fa4bf565ebbfde6558d70b071f6abe42 +Description: Debian package management system +Origin: debian +Bugs: debbugs://bugs.debian.org + +Package: file +Priority: standard +Section: utils +Installed-Size: 136 +Maintainer: Daniel Baumann +Architecture: i386 +Version: 5.04-5 +Depends: libc6 (>= 2.1), libmagic1 (= 5.04-5), zlib1g (>= 1:1.1.4) +Filename: pool/main/f/file/file_5.04-5_i386.deb +Size: 49134 +MD5Sum: 716b1c307166650f247e0a2e07cdd3b1 +Description: Determines file type using "magic" numbers + +Package: fontconfig-config +Priority: optional +Section: fonts +Installed-Size: 440 +Maintainer: Keith Packard +Architecture: all +Source: fontconfig +Version: 2.8.0-2.1 +Replaces: fontconfig (<< 2.3.2-2) +Depends: debconf (>= 0.5) | debconf-2.0, ucf (>= 0.29), ttf-dejavu-core | ttf-bitstream-vera | ttf-freefont | gsfonts-x11 +Conflicts: fontconfig (<< 2.3.2-2) +Filename: pool/main/f/fontconfig/fontconfig-config_2.8.0-2.1_all.deb +Size: 217150 +MD5Sum: c2dd70d32fa8e5c0588cff16efbbf614 +Description: generic font configuration library - configuration + +Package: fontconfig +Priority: optional +Section: fonts +Installed-Size: 520 +Maintainer: Keith Packard +Architecture: i386 +Version: 2.8.0-2.1 +Replaces: fontconfig-config (<< 2.5.93-1) +Depends: libc6 (>= 2.0), libexpat1 (>= 1.95.8), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4), fontconfig-config +Suggests: defoma (>= 0.7.0) +Filename: pool/main/f/fontconfig/fontconfig_2.8.0-2.1_i386.deb +Size: 333180 +MD5Sum: 67aeeda05141d4fe477c041c12daad1e +Description: generic font configuration library - support binaries + +Package: gcc-4.4-base +Priority: required +Section: libs +Installed-Size: 172 +Maintainer: Debian GCC Maintainers +Architecture: i386 +Source: gcc-4.4 +Version: 4.4.4-8 +Filename: pool/main/g/gcc-4.4/gcc-4.4-base_4.4.4-8_i386.deb +Size: 118346 +MD5Sum: 5e35b249b1af8edd9e85932575f6af92 +Description: The GNU Compiler Collection (base package) + +Package: libacl1 +Priority: required +Section: libs +Installed-Size: 88 +Maintainer: Nathan Scott +Architecture: i386 +Source: acl +Version: 2.2.49-3 +Depends: libattr1 (>= 2.4.41-1), libc6 (>= 2.2) +Conflicts: acl (<< 2.0.0), libacl1-kerberos4kth +Filename: pool/main/a/acl/libacl1_2.2.49-3_i386.deb +Size: 27146 +MD5Sum: 99c1bd61d4f26b1f3a072b490d3daef5 +Description: Access control list shared library + +Package: libasound2 +Priority: optional +Section: libs +Installed-Size: 1236 +Maintainer: Debian ALSA Maintainers +Architecture: i386 +Source: alsa-lib +Version: 1.0.23-1 +Depends: libc6 (>= 2.3.6-6~) +Suggests: libasound2-plugins (>= 1.0.18) +Conflicts: libasound2-plugins (<< 1.0.18) +Filename: pool/main/a/alsa-lib/libasound2_1.0.23-1_i386.deb +Size: 377718 +MD5Sum: 14a1674ebd84f30080d42c4f86f2533d +Description: shared library for ALSA applications + +Package: libatk1.0-0 +Priority: optional +Section: libs +Installed-Size: 208 +Maintainer: Debian GNOME Maintainers +Architecture: i386 +Source: atk1.0 +Version: 1.30.0-1 +Depends: libc6 (>= 2.2), libglib2.0-0 (>= 2.16.0) +Recommends: libatk1.0-data +Filename: pool/main/a/atk1.0/libatk1.0-0_1.30.0-1_i386.deb +Size: 82402 +MD5Sum: 27d2b5e1b0ca90254f54dfe2bf056527 +Description: The ATK accessibility toolkit + +Package: libattr1 +Priority: required +Section: libs +Installed-Size: 64 +Maintainer: Nathan Scott +Architecture: i386 +Source: attr +Version: 1:2.4.44-2 +Depends: libc6 (>= 2.2.3) +Conflicts: attr (<< 2.0.0) +Filename: pool/main/a/attr/libattr1_2.4.44-2_i386.deb +Size: 11902 +MD5Sum: 1e08d3be5e8d55515e7b3fa6fc76a022 +Description: Extended attribute shared library + +Package: libavahi-client3 +Priority: optional +Section: libs +Installed-Size: 148 +Maintainer: Utopia Maintenance Team +Architecture: i386 +Source: avahi +Version: 0.6.27-1 +Depends: libavahi-common3 (>= 0.6.22), libc6 (>= 2.4), libdbus-1-3 (>= 1.1.1) +Filename: pool/main/a/avahi/libavahi-client3_0.6.27-1_i386.deb +Size: 54328 +MD5Sum: 07bc086292d59fb7465eedb8c59d0c31 +Description: Avahi client library + +Package: libavahi-common-data +Priority: optional +Section: libs +Installed-Size: 728 +Maintainer: Utopia Maintenance Team +Architecture: i386 +Source: avahi +Version: 0.6.27-1 +Filename: pool/main/a/avahi/libavahi-common-data_0.6.27-1_i386.deb +Size: 111952 +MD5Sum: ebc4f7471f8e8ffea1526e1894c283a7 +Description: Avahi common data files + +Package: libavahi-common3 +Priority: optional +Section: libs +Installed-Size: 132 +Maintainer: Utopia Maintenance Team +Architecture: i386 +Source: avahi +Version: 0.6.27-1 +Depends: libc6 (>= 2.4), libavahi-common-data +Filename: pool/main/a/avahi/libavahi-common3_0.6.27-1_i386.deb +Size: 50538 +MD5Sum: 6e5bb85c3665bd26cdcb12c41eb9787e +Description: Avahi common library + +Package: libbz2-1.0 +Priority: important +Section: libs +Installed-Size: 128 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Source: bzip2 +Version: 1.0.5-4 +Depends: libc6 (>= 2.3) +Filename: pool/main/b/bzip2/libbz2-1.0_1.0.5-4_i386.deb +Size: 45118 +MD5Sum: f067ae75bce5ef991b3d0574bf541ddb +Description: high-quality block-sorting file compressor library - runtime + +Package: libc-bin +Priority: required +Section: libs +Installed-Size: 1516 +Maintainer: GNU Libc Maintainers +Architecture: i386 +Source: eglibc +Version: 2.11.2-2 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Breaks: libc0.1 (<< 2.10), libc0.3 (<< 2.10), libc6 (<< 2.10), libc6.1 (<< 2.10) +Filename: pool/main/e/eglibc/libc-bin_2.11.2-2_i386.deb +Size: 703542 +MD5Sum: f554ec34c092bb8e52e3d917bec7b46c +Description: Embedded GNU C Library: Binaries + +Package: libc6 +Priority: required +Section: libs +Installed-Size: 9340 +Maintainer: GNU Libc Maintainers +Architecture: i386 +Source: eglibc +Version: 2.11.2-2 +Provides: glibc-2.11-1 +Depends: libc-bin (= 2.11.2-2), libgcc1 +Recommends: libc6-i686 +Suggests: glibc-doc, debconf | debconf-2.0, locales +Conflicts: tzdata (<< 2007k-1), tzdata-etch +Breaks: locales (<< 2.11), locales-all (<< 2.11), nscd (<< 2.11) +Filename: pool/main/e/eglibc/libc6_2.11.2-2_i386.deb +Size: 3877166 +MD5Sum: 3d8fe972a359ad362ac1957c2687e5c2 +Description: Embedded GNU C Library: Shared libraries + +Package: libcairo2 +Priority: optional +Section: libs +Installed-Size: 824 +Maintainer: Dave Beckett +Architecture: i386 +Source: cairo +Version: 1.8.10-4 +Depends: libc6 (>= 2.3), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libpixman-1-0 (>= 0.15.16), libpng12-0 (>= 1.2.13-4), libx11-6 (>= 0), libxcb-render-util0 (>= 0.3.6), libxcb-render0 (>= 0), libxcb1 (>= 0), libxrender1, zlib1g (>= 1:1.1.4) +Breaks: iceape-browser (<= 2.0.3-3), libgtk-directfb-2.0-0, xulrunner-1.9, xulrunner-1.9.1 (<= 1.9.1.8-3) +Filename: pool/main/c/cairo/libcairo2_1.8.10-4_i386.deb +Size: 508814 +MD5Sum: 51f8838a83d46b5cf590338bcc3c6d73 +Description: The Cairo 2D vector graphics library + +Package: libcomerr2 +Priority: required +Section: libs +Installed-Size: 104 +Maintainer: Theodore Y. Ts'o +Architecture: i386 +Source: e2fsprogs +Version: 1.41.12-2 +Replaces: e2fsprogs (<< 1.34-1) +Provides: libcomerr-kth-compat +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/e/e2fsprogs/libcomerr2_1.41.12-2_i386.deb +Size: 48508 +MD5Sum: 8fe610cf3b2f82f2a681ba196e91d883 +Description: common error description library + +Package: libcups2 +Priority: optional +Section: libs +Installed-Size: 468 +Maintainer: Debian CUPS Maintainers +Architecture: i386 +Source: cups +Version: 1.4.4-3 +Provides: libcupsys2 +Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.4), libgcrypt11 (>= 1.4.2), libgnutls26 (>= 2.7.14-0), libgssapi-krb5-2 (>= 1.7+dfsg), zlib1g (>= 1:1.1.4) +Suggests: cups-common +Breaks: cups (<< 1.4.4) +Filename: pool/main/c/cups/libcups2_1.4.4-3_i386.deb +Size: 225696 +MD5Sum: f78acda030eece301cd5e0c94ea3492b +Description: Common UNIX Printing System(tm) - Core library + +Package: libdatrie1 +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Theppitak Karoonboonyanan +Architecture: i386 +Source: libdatrie +Version: 0.2.4-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/libd/libdatrie/libdatrie1_0.2.4-1_i386.deb +Size: 26184 +MD5Sum: 305e5beace09f16bf9b0a568e8df7920 +Description: Double-array trie library + +Package: libdb4.7 +Priority: standard +Section: libs +Installed-Size: 1432 +Maintainer: Debian Berkeley DB Maintainers +Architecture: i386 +Source: db4.7 +Version: 4.7.25-9 +Depends: libc6 (>= 2.3.6-6~) +Conflicts: libdb2 (<< 2:2.7.7-3) +Filename: pool/main/d/db4.7/libdb4.7_4.7.25-9_i386.deb +Size: 644290 +MD5Sum: 694cced529f6249607c523765aa1e482 +Description: Berkeley v4.7 Database Libraries [runtime] + +Package: libdb4.8 +Priority: standard +Section: libs +Installed-Size: 1488 +Maintainer: Clint Adams +Architecture: i386 +Source: db4.8 +Version: 4.8.30-1 +Depends: libc6 (>= 2.3.6-6~) +Conflicts: libdb2 (<< 2:2.7.7-3) +Filename: pool/main/d/db4.8/libdb4.8_4.8.30-1_i386.deb +Size: 681682 +MD5Sum: c8f9b6dd1cc49dac5d3319a5ac0d22fc +Description: Berkeley v4.8 Database Libraries [runtime] + +Package: libdbus-1-3 +Priority: optional +Section: libs +Installed-Size: 328 +Maintainer: Utopia Maintenance Team +Architecture: i386 +Source: dbus +Version: 1.2.24-3 +Depends: libc6 (>= 2.3.6-6~) +Recommends: dbus +Filename: pool/main/d/dbus/libdbus-1-3_1.2.24-3_i386.deb +Size: 129632 +MD5Sum: 620b2226a4cad34ed86931132fa09ea6 +Description: simple interprocess messaging system + +Package: libexpat1 +Priority: optional +Section: libs +Installed-Size: 368 +Maintainer: Debian XML/SGML Group +Architecture: i386 +Source: expat +Version: 2.0.1-7 +Depends: libc6 (>= 2.1.3) +Conflicts: wink (<= 1.5.1060-4) +Filename: pool/main/e/expat/libexpat1_2.0.1-7_i386.deb +Size: 138122 +MD5Sum: 4607c75c6b55d92ac517fd0fb8543587 +Description: XML parsing C library - runtime library + +Package: libfontconfig1 +Priority: optional +Section: libs +Installed-Size: 412 +Maintainer: Keith Packard +Architecture: i386 +Source: fontconfig +Version: 2.8.0-2.1 +Provides: libfontconfig +Depends: libc6 (>= 2.7), libexpat1 (>= 1.95.8), libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4), fontconfig-config (= 2.8.0-2.1) +Filename: pool/main/f/fontconfig/libfontconfig1_2.8.0-2.1_i386.deb +Size: 273878 +MD5Sum: fd6d6426df7bc1330b064a7d45a85d84 +Description: generic font configuration library - runtime + +Package: libfreetype6 +Priority: optional +Section: libs +Installed-Size: 668 +Maintainer: Steve Langasek +Architecture: i386 +Source: freetype +Version: 2.4.2-1 +Depends: libc6 (>= 2.1.3), zlib1g (>= 1:1.1.4) +Conflicts: freetype, xpdf-reader (<< 1.00-4) +Filename: pool/main/f/freetype/libfreetype6_2.4.2-1_i386.deb +Size: 360632 +MD5Sum: f9c333d2643d186685a77d1072db5425 +Description: FreeType 2 font engine, shared library files + +Package: libgcc1 +Priority: required +Section: libs +Installed-Size: 156 +Maintainer: Debian GCC Maintainers +Architecture: i386 +Source: gcc-4.4 (4.4.4-8) +Version: 1:4.4.4-8 +Depends: gcc-4.4-base (= 4.4.4-8), libc6 (>= 2.2.4) +Filename: pool/main/g/gcc-4.4/libgcc1_4.4.4-8_i386.deb +Size: 55180 +MD5Sum: c92a5656f20caa7d50bd425f2b1f25d8 +Description: GCC support library + +Package: libgcrypt11 +Priority: standard +Section: libs +Installed-Size: 556 +Maintainer: Debian GnuTLS Maintainers +Architecture: i386 +Version: 1.4.5-2 +Depends: libc6 (>= 2.3), libgpg-error0 (>= 1.6-1) +Suggests: rng-tools +Filename: pool/main/libg/libgcrypt11/libgcrypt11_1.4.5-2_i386.deb +Size: 266444 +MD5Sum: 6b687ecf0284d5efe44115c07198b159 +Description: LGPL Crypto library - runtime library + +Package: libgdbm3 +Priority: important +Section: libs +Installed-Size: 120 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Source: gdbm +Version: 1.8.3-9 +Depends: libc6 (>= 2.1.3), dpkg (>= 1.15.4) | install-info +Filename: pool/main/g/gdbm/libgdbm3_1.8.3-9_i386.deb +Size: 44940 +MD5Sum: cc0859fd9c0ea0a211e7f1a0da09ddc0 +Description: GNU dbm database routines (runtime version) + +Package: libglib2.0-0 +Priority: optional +Section: libs +Installed-Size: 2212 +Maintainer: Loic Minier +Architecture: i386 +Source: glib2.0 +Version: 2.24.1-1 +Replaces: libglib2.0-dev (<< 2.23.2-2) +Depends: libc6 (>= 2.9), libpcre3 (>= 7.7), libselinux1 (>= 1.32), zlib1g (>= 1:1.1.4) +Recommends: libglib2.0-data, shared-mime-info +Conflicts: libpango1.0-0 (<< 1.11) +Filename: pool/main/g/glib2.0/libglib2.0-0_2.24.1-1_i386.deb +Size: 1024782 +MD5Sum: e0f853cbcba1c8a132fc07c303c31ea9 +Description: The GLib library of C routines + +Package: libgnutls26 +Priority: standard +Section: libs +Installed-Size: 1268 +Maintainer: Debian GnuTLS Maintainers +Architecture: i386 +Source: gnutls26 +Version: 2.8.6-1 +Replaces: gnutls0, gnutls0.4, gnutls3 +Depends: libc6 (>= 2.3), libgcrypt11 (>= 1.4.2), libtasn1-3 (>= 1.6-0), zlib1g (>= 1:1.1.4) +Suggests: gnutls-bin +Conflicts: gnutls0, gnutls0.4 +Filename: pool/main/g/gnutls26/libgnutls26_2.8.6-1_i386.deb +Size: 528314 +MD5Sum: 9c585b48d4a4e8de856b70a3350037de +Description: the GNU TLS library - runtime library + +Package: libgpg-error0 +Priority: standard +Section: libs +Installed-Size: 228 +Maintainer: Jose Carlos Garcia Sogo +Architecture: i386 +Source: libgpg-error +Version: 1.6-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/libg/libgpg-error/libgpg-error0_1.6-1_i386.deb +Size: 43118 +MD5Sum: be3a76a7176e38cb1f0464be1f21d4d4 +Description: library for common error values and messages in GnuPG components + +Package: libgssapi-krb5-2 +Priority: standard +Section: libs +Installed-Size: 1604 +Maintainer: Sam Hartman +Architecture: i386 +Source: krb5 +Version: 1.8.3+dfsg~beta1-1 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.7), libcomerr2 (>= 1.34), libk5crypto3 (>= 1.8+dfsg), libkeyutils1, libkrb5-3 (= 1.8.3+dfsg~beta1-1), libkrb5support0 (>= 1.7dfsg~beta2) +Suggests: krb5-doc, krb5-user +Breaks: libkrb53 +Filename: pool/main/k/krb5/libgssapi-krb5-2_1.8.3+dfsg~beta1-1_i386.deb +Size: 1463772 +MD5Sum: 80f3ffe8e30991723a8009829e2aef10 +Description: MIT Kerberos runtime libraries - krb5 GSS-API Mechanism + +Package: libgtk2.0-0 +Priority: optional +Section: libs +Installed-Size: 5864 +Maintainer: Sebastien Bacher +Architecture: i386 +Source: gtk+2.0 +Version: 2.20.1-1 +Provides: gtk2.0-binver-2.10.0 +Depends: libgtk2.0-common, libatk1.0-0 (>= 1.29.3), libc6 (>= 2.7), libcairo2 (>= 1.6.4-6.1), libcups2 (>= 1.4.0), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.24.0), libgnutls26 (>= 2.7.14-0), libgssapi-krb5-2 (>= 1.6.dfsg.2), libjasper1 (>= 1.900.1), libjpeg62, libpango1.0-0 (>= 1.20.0), libpng12-0 (>= 1.2.13-4), libtiff4, libx11-6 (>= 0), libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6 (>= 0), libxfixes3 (>= 1:4.0.1), libxi6 (>= 0), libxinerama1, libxrandr2 (>= 2:1.2.99.3), libxrender1, zlib1g (>= 1:1.1.4), shared-mime-info +Recommends: hicolor-icon-theme, libgtk2.0-bin +Suggests: librsvg2-common, gvfs +Filename: pool/main/g/gtk+2.0/libgtk2.0-0_2.20.1-1_i386.deb +Size: 2503890 +MD5Sum: fc1fc5987ae2be51e9b4bcc4b57fc472 +Description: The GTK+ graphical user interface library + +Package: libgtk2.0-common +Priority: optional +Section: misc +Installed-Size: 21484 +Maintainer: Sebastien Bacher +Architecture: all +Source: gtk+2.0 +Version: 2.20.1-1 +Recommends: libgtk2.0-0 +Filename: pool/main/g/gtk+2.0/libgtk2.0-common_2.20.1-1_all.deb +Size: 7104864 +MD5Sum: 68cf4472a1e7bed64241f466d6830bbc +Description: Common files for the GTK+ graphical user interface library + +Package: libhunspell-1.2-0 +Priority: optional +Section: libs +Installed-Size: 376 +Maintainer: Debian OpenOffice Team +Architecture: i386 +Source: hunspell +Version: 1.2.11-1 +Depends: libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1) +Recommends: hunspell-en-us | hunspell-dictionary | myspell-dictionary +Conflicts: openoffice.org-core (= 2.2.0~rc2-1) +Filename: pool/main/h/hunspell/libhunspell-1.2-0_1.2.11-1_i386.deb +Size: 154502 +MD5Sum: b8b8e5d0805a5e00b4cfdd64128d8054 +Description: spell checker and morphological analyzer (shared library) + +Package: libice6 +Priority: optional +Section: libs +Installed-Size: 204 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libice +Version: 2:1.0.6-1 +Depends: libc6 (>= 2.3), x11-common +Filename: pool/main/libi/libice/libice6_1.0.6-1_i386.deb +Size: 50284 +MD5Sum: 7052cd2a95caeee0f83d0f1950fd5d42 +Description: X11 Inter-Client Exchange library + +Package: libjasper1 +Priority: optional +Section: libs +Installed-Size: 340 +Maintainer: Roland Stigge +Architecture: i386 +Source: jasper +Version: 1.900.1-7 +Replaces: libjasper-1.700-2 +Depends: libc6 (>= 2.7), libjpeg62 +Suggests: libjasper-runtime +Conflicts: libjasper-1.700-2 +Filename: pool/main/j/jasper/libjasper1_1.900.1-7_i386.deb +Size: 145186 +MD5Sum: 1df984b14ac57be23d5a5ad0c40ab6cf +Description: The JasPer JPEG-2000 runtime library + +Package: libjpeg62 +Priority: optional +Section: libs +Installed-Size: 204 +Maintainer: Bill Allombert +Architecture: i386 +Source: libjpeg6b +Version: 6b1-1 +Depends: libc6 (>= 2.7) +Filename: pool/main/libj/libjpeg6b/libjpeg62_6b1-1_i386.deb +Size: 87974 +MD5Sum: ab36968379a350bdae98a3bf58aeda84 +Description: The Independent JPEG Group's JPEG runtime library (version 6.2) + +Package: libk5crypto3 +Priority: standard +Section: libs +Installed-Size: 1556 +Maintainer: Sam Hartman +Architecture: i386 +Source: krb5 +Version: 1.8.3+dfsg~beta1-1 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.4), libkeyutils1, libkrb5support0 (>= 1.7dfsg~beta2) +Suggests: krb5-doc, krb5-user +Breaks: libgssapi-krb5-2 (<= 1.8~aa), libkrb5-3 (<= 1.8~aa), libkrb53 (<< 1.6.dfsg.4~beta1-9) +Filename: pool/main/k/krb5/libk5crypto3_1.8.3+dfsg~beta1-1_i386.deb +Size: 1439050 +MD5Sum: 463e89d5a6eacaa55f377575eb6f0a7c +Description: MIT Kerberos runtime libraries - Crypto Library + +Package: libkeyutils1 +Priority: standard +Section: libs +Installed-Size: 56 +Maintainer: Daniel Baumann +Architecture: i386 +Source: keyutils +Version: 1.4-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/k/keyutils/libkeyutils1_1.4-1_i386.deb +Size: 6640 +MD5Sum: bc6dbf8f320151e67995e55c3e358b89 +Description: Linux Key Management Utilities (library) + +Package: libkrb5-3 +Priority: standard +Section: libs +Installed-Size: 2204 +Maintainer: Sam Hartman +Architecture: i386 +Source: krb5 +Version: 1.8.3+dfsg~beta1-1 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.9), libcomerr2 (>= 1.34), libk5crypto3 (>= 1.8+dfsg), libkeyutils1, libkrb5support0 (= 1.8.3+dfsg~beta1-1) +Suggests: krb5-doc, krb5-user +Conflicts: libapache-mod-auth-kerb (<= 4.996-5.0-rc6-2), libapache2-mod-auth-kerb (<= 4.996-5.0-rc6-2), ssh-krb5 (<< 3.8.1p1-10) +Breaks: libkrb53 (<< 1.6.dfsg.4~beta1-9) +Filename: pool/main/k/krb5/libkrb5-3_1.8.3+dfsg~beta1-1_i386.deb +Size: 1697246 +MD5Sum: 8894886ff9537684ef338ac9ab510467 +Description: MIT Kerberos runtime libraries + +Package: libkrb5support0 +Priority: standard +Section: libs +Installed-Size: 1436 +Maintainer: Sam Hartman +Architecture: i386 +Source: krb5 +Version: 1.8.3+dfsg~beta1-1 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.3.4), libkeyutils1 +Suggests: krb5-doc, krb5-user +Breaks: libkrb53 (<< 1.6.dfsg.4~beta1-9) +Filename: pool/main/k/krb5/libkrb5support0_1.8.3+dfsg~beta1-1_i386.deb +Size: 1385290 +MD5Sum: 5a9f10f57f35e8f34b4a7b7052244c14 +Description: MIT Kerberos runtime libraries - Support library + +Package: liblocale-gettext-perl +Priority: required +Section: perl +Installed-Size: 104 +Maintainer: Debian Perl Group +Architecture: i386 +Version: 1.05-6 +Depends: libc6 (>= 2.2) +Pre-Depends: perl-base (>= 5.10.0-25), perlapi-5.10.0 +Filename: pool/main/libl/liblocale-gettext-perl/liblocale-gettext-perl_1.05-6_i386.deb +Size: 21596 +MD5Sum: a71c3dadecdf1b64b4cb050f91e032b5 +Description: Using libc functions for internationalization in Perl + +Package: liblzma2 +Priority: required +Section: libs +Installed-Size: 308 +Maintainer: Jonathan Nieder +Architecture: i386 +Source: xz-utils +Version: 4.999.9beta+20100713-1 +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/x/xz-utils/liblzma2_4.999.9beta+20100713-1_i386.deb +Size: 171540 +MD5Sum: fe14361cc247e9bb11b98e31e47cfbbe +Description: XZ-format compression library + +Package: libmagic1 +Priority: standard +Section: libs +Installed-Size: 2032 +Maintainer: Daniel Baumann +Architecture: i386 +Source: file +Version: 5.04-5 +Depends: libc6 (>= 2.3.4), zlib1g (>= 1:1.1.4) +Suggests: file +Conflicts: file (<< 5.04-2) +Filename: pool/main/f/file/libmagic1_5.04-5_i386.deb +Size: 233668 +MD5Sum: def2786d4289068336826c75c514b2bc +Description: File type determination library using "magic" numbers + +Package: libmozjs2d +Priority: optional +Section: libs +Installed-Size: 948 +Maintainer: Maintainers of Mozilla-related packages +Architecture: i386 +Source: xulrunner +Version: 1.9.1.11-1 +Depends: libc6 (>= 2.3.6-6~), libgcc1 (>= 1:4.1.1), libnspr4-0d (>= 1.8.0.10), libstdc++6 (>= 4.1.1) +Breaks: xulrunner-1.9.1 (<< 1.9.1.10~) +Filename: pool/main/x/xulrunner/libmozjs2d_1.9.1.11-1_i386.deb +Size: 474718 +MD5Sum: 6a9032247eceb71c9b472bd6fc9961e2 +Description: The Mozilla SpiderMonkey JavaScript library + +Package: libncurses5 +Priority: required +Section: libs +Installed-Size: 592 +Maintainer: Craig Small +Architecture: i386 +Source: ncurses +Version: 5.7+20100313-2 +Depends: libc6 (>= 2.3.4) +Recommends: libgpm2 +Filename: pool/main/n/ncurses/libncurses5_5.7+20100313-2_i386.deb +Size: 347766 +MD5Sum: f82378f1792c81e380689b932ea26c21 +Description: shared libraries for terminal handling + +Package: libnewt0.52 +Priority: important +Section: libs +Installed-Size: 960 +Maintainer: Alastair McKinstry +Architecture: i386 +Source: newt +Version: 0.52.11-1 +Replaces: libnewt-utf8, libnewt0, libnewt0.51 +Depends: libc6 (>= 2.3), libslang2 (>= 2.0.7-1) +Recommends: libfribidi0 +Conflicts: libnewt0.51 +Filename: pool/main/n/newt/libnewt0.52_0.52.11-1_i386.deb +Size: 68022 +MD5Sum: be04bedb79431088f0ed072317143fdd +Description: Not Erik's Windowing Toolkit - text mode windowing with slang + +Package: libnspr4-0d +Priority: optional +Section: libs +Installed-Size: 340 +Maintainer: Maintainers of Mozilla-related packages +Architecture: i386 +Source: nspr +Version: 4.8.6-1 +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/n/nspr/libnspr4-0d_4.8.6-1_i386.deb +Size: 125500 +MD5Sum: 4f3c6c3c19b2f24a1734bd084b34f6f5 +Description: NetScape Portable Runtime Library + +Package: libnss3-1d +Priority: optional +Section: libs +Installed-Size: 2324 +Maintainer: Maintainers of Mozilla-related packages +Architecture: i386 +Source: nss +Version: 3.12.7-1 +Depends: libc6 (>= 2.3.6-6~), libnspr4-0d (>= 4.8.6), libsqlite3-0 (>= 3.7.0), zlib1g (>= 1:1.1.4) +Filename: pool/main/n/nss/libnss3-1d_3.12.7-1_i386.deb +Size: 986188 +MD5Sum: 3dbaa9f3c493b2e6bac6dccce0a56dc2 +Description: Network Security Service libraries + +Package: libpam-modules +Priority: required +Section: admin +Installed-Size: 996 +Maintainer: Steve Langasek +Architecture: i386 +Source: pam +Version: 1.1.1-3 +Replaces: libpam-umask, libpam0g-util +Provides: libpam-mkhomedir, libpam-motd, libpam-umask +Pre-Depends: libc6 (>= 2.4), libdb4.8, libpam0g (>= 1.1.0), libselinux1 (>= 2.0.85), debconf (>= 0.5) | debconf-2.0 +Conflicts: libpam-mkhomedir, libpam-motd, libpam-umask +Filename: pool/main/p/pam/libpam-modules_1.1.1-3_i386.deb +Size: 344512 +MD5Sum: d55b046bb3da59da7fb94c7325bc07d1 +Description: Pluggable Authentication Modules for PAM + +Package: libpam0g +Priority: required +Section: libs +Installed-Size: 244 +Maintainer: Steve Langasek +Architecture: i386 +Source: pam +Version: 1.1.1-3 +Replaces: libpam0g-util +Depends: libc6 (>= 2.3), debconf (>= 0.5) | debconf-2.0 +Suggests: libpam-doc +Filename: pool/main/p/pam/libpam0g_1.1.1-3_i386.deb +Size: 114334 +MD5Sum: 4850e1ffc833914e164f0c14ceb91010 +Description: Pluggable Authentication Modules library + +Package: libpango1.0-0 +Priority: optional +Section: libs +Installed-Size: 836 +Maintainer: Sebastien Bacher +Architecture: i386 +Source: pango1.0 +Version: 1.28.1-1 +Provides: pango1.0-modver-1.6.0 +Depends: libpango1.0-common (>= 1.28.1-1), libc6 (>= 2.3.6-6~), libcairo2 (>= 1.8.10-3), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.24.0), libthai0 (>= 0.1.12), libx11-6, libxft2 (>> 2.1.1), libxrender1, zlib1g (>= 1:1.1.4) +Conflicts: pango-libthai +Filename: pool/main/p/pango1.0/libpango1.0-0_1.28.1-1_i386.deb +Size: 303342 +MD5Sum: fdc1d8650b049d88bb7cdc2f7af425f0 +Description: Layout and rendering of internationalized text + +Package: libpango1.0-common +Priority: optional +Section: misc +Installed-Size: 252 +Maintainer: Sebastien Bacher +Architecture: all +Source: pango1.0 +Version: 1.28.1-1 +Replaces: libpango-common (<< 1.0.0), libpango0 +Depends: debconf | debconf-2.0, defoma (>= 0.11.1), fontconfig (>= 2.1.91) +Recommends: x-ttcidfont-conf, libpango1.0-0 +Suggests: ttf-japanese-gothic, ttf-japanese-mincho, ttf-thryomanes, ttf-baekmuk, ttf-arphic-gbsn00lp, ttf-arphic-bsmi00lp, ttf-arphic-gkai00mp, ttf-arphic-bkai00mp +Conflicts: pango-libthai (<< 0.1.6-2) +Filename: pool/main/p/pango1.0/libpango1.0-common_1.28.1-1_all.deb +Size: 112638 +MD5Sum: 521e4171155dd465866ff400cb9a37bc +Description: Modules and configuration files for the Pango + +Package: libpcre3 +Priority: standard +Section: libs +Installed-Size: 480 +Maintainer: Mark Baker +Architecture: i386 +Source: pcre3 +Version: 8.02-1.1 +Depends: libc6 (>= 2.3) +Conflicts: libpcre3-dev (<= 4.3-3) +Breaks: approx (<< 4.4-1~), cduce (<< 0.5.3-2~), cmigrep (<< 1.5-7~), galax (<< 1.1-7~), libpcre-ocaml (<< 6.0.1~), liquidsoap (<< 0.9.2-3~), ocsigen (<< 1.3.3-1~) +Filename: pool/main/p/pcre3/libpcre3_8.02-1.1_i386.deb +Size: 231418 +MD5Sum: 3be0351b7ecd8a5e2140318237d923d0 +Description: Perl 5 Compatible Regular Expression Library - runtime files + +Package: libpixman-1-0 +Priority: optional +Section: libs +Installed-Size: 508 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: pixman +Version: 0.16.4-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/p/pixman/libpixman-1-0_0.16.4-1_i386.deb +Size: 236004 +MD5Sum: 46f6f180adfbbeabc95c774386c3006f +Description: pixel-manipulation library for X and cairo + +Package: libpng12-0 +Priority: optional +Section: libs +Installed-Size: 320 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Source: libpng +Version: 1.2.44-1 +Replaces: libpng12-dev (<= 1.2.8rel-7) +Depends: libc6 (>= 2.1.3), zlib1g (>= 1:1.1.4) +Conflicts: libpng12-dev (<= 1.2.8rel-7), mzscheme (<= 1:209-5), pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), povray-3.5 (<= 3.5.0c-10), qemacs (<= 0.3.1-5) +Filename: pool/main/libp/libpng/libpng12-0_1.2.44-1_i386.deb +Size: 175970 +MD5Sum: e871ef14b295cad4ac8ceedbce00c818 +Description: PNG library - runtime + +Package: libpopt0 +Priority: important +Section: libs +Installed-Size: 208 +Maintainer: Paul Martin +Architecture: i386 +Source: popt +Version: 1.16-1 +Replaces: popt +Depends: libc6 (>= 2.3) +Conflicts: libpopt-dev (<= 1.4-1), popt, rpm (<= 4.0.2-3) +Filename: pool/main/p/popt/libpopt0_1.16-1_i386.deb +Size: 52890 +MD5Sum: 935b9a8eea67b75326002f75b374383d +Description: lib for parsing cmdline parameters + +Package: libreadline6 +Priority: important +Section: libs +Installed-Size: 356 +Maintainer: Matthias Klose +Architecture: i386 +Source: readline6 +Version: 6.1-3 +Depends: readline-common, libc6 (>= 2.3), libncurses5 (>= 5.7+20100313) +Filename: pool/main/r/readline6/libreadline6_6.1-3_i386.deb +Size: 145914 +MD5Sum: 63c3a619ef1fd5ec1c04fd0992f3f71f +Description: GNU readline and history libraries, run-time libraries + +Package: libselinux1 +Priority: required +Section: libs +Installed-Size: 216 +Maintainer: Manoj Srivastava +Architecture: i386 +Source: libselinux +Version: 2.0.96-1 +Depends: libc6 (>= 2.3.4) +Filename: pool/main/libs/libselinux/libselinux1_2.0.96-1_i386.deb +Size: 82752 +MD5Sum: 65c82e5ad1ebe75c056eeb33147e1eeb +Description: SELinux runtime shared libraries + +Package: libslang2 +Priority: important +Section: libs +Installed-Size: 1264 +Maintainer: Alastair McKinstry +Architecture: i386 +Source: slang2 +Version: 2.2.2-4 +Depends: libc6 (>= 2.3) +Recommends: libpng12-0 +Filename: pool/main/s/slang2/libslang2_2.2.2-4_i386.deb +Size: 507014 +MD5Sum: 2cd4ae18b2f0e4a04c0e98d4913d5fd7 +Description: The S-Lang programming library - runtime version + +Package: libsm6 +Priority: optional +Section: libs +Installed-Size: 144 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libsm +Version: 2:1.1.1-1 +Depends: libc6 (>= 2.1.3), libice6 (>= 1:1.0.0), libuuid1 (>= 2.16) +Filename: pool/main/libs/libsm/libsm6_1.1.1-1_i386.deb +Size: 23976 +MD5Sum: eda3e07bf434262ba270bb1ae12e71e0 +Description: X11 Session Management library + +Package: libsqlite3-0 +Priority: standard +Section: libs +Installed-Size: 684 +Maintainer: Laszlo Boszormenyi (GCS) +Architecture: i386 +Source: sqlite3 +Version: 3.7.0-1.1 +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/s/sqlite3/libsqlite3-0_3.7.0-1.1_i386.deb +Size: 380004 +MD5Sum: 4706e644e7f3f2b183db0ce001a7bbaa +Description: SQLite 3 shared library + +Package: libstartup-notification0 +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Ondřej Surý +Architecture: i386 +Source: startup-notification +Version: 0.10-1 +Depends: libc6 (>= 2.1.3), libice6 (>= 1:1.0.0), libsm6, libx11-6, libxcb-atom1 (>= 0.3.3), libxcb-aux0 (>= 0.3.3), libxcb-event1 (>= 0.3.3), libxcb1 (>= 1.1.92) +Filename: pool/main/s/startup-notification/libstartup-notification0_0.10-1_i386.deb +Size: 21230 +MD5Sum: 0e62e87fe56b93c30e7dee751fc7a59f +Description: library for program launch feedback (shared library) + +Package: libstdc++6 +Priority: required +Section: libs +Installed-Size: 1204 +Maintainer: Debian GCC Maintainers +Architecture: i386 +Source: gcc-4.4 +Version: 4.4.4-8 +Depends: gcc-4.4-base (= 4.4.4-8), libc6 (>= 2.3.2), libgcc1 +Conflicts: scim (<< 1.4.2-1) +Filename: pool/main/g/gcc-4.4/libstdc++6_4.4.4-8_i386.deb +Size: 347294 +MD5Sum: c5ad981710bbe349c2847b1cc00cafc1 +Description: The GNU Standard C++ Library v3 + +Package: libtasn1-3 +Priority: important +Section: libs +Installed-Size: 152 +Maintainer: Debian GnuTLS Maintainers +Architecture: i386 +Version: 2.7-1 +Depends: libc6 (>= 2.3) +Conflicts: libtasn1-2 (= 0.3.1-1) +Filename: pool/main/libt/libtasn1-3/libtasn1-3_2.7-1_i386.deb +Size: 61424 +MD5Sum: 0120dbb8123bef3fe7cb4155e95e4307 +Description: Manage ASN.1 structures (runtime) + +Package: libtext-charwidth-perl +Priority: required +Section: perl +Installed-Size: 92 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Version: 0.04-6 +Depends: libc6 (>= 2.1.3), perl-base (>= 5.10.0-23), perlapi-5.10.0 +Filename: pool/main/libt/libtext-charwidth-perl/libtext-charwidth-perl_0.04-6_i386.deb +Size: 11582 +MD5Sum: 6aa5a252db205de6817ee954f5193fbf +Description: get display widths of characters on the terminal + +Package: libtext-iconv-perl +Priority: required +Section: perl +Installed-Size: 104 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Version: 1.7-2 +Depends: libc6 (>= 2.1.3), perl-base (>= 5.10.0-23), perlapi-5.10.0 +Filename: pool/main/libt/libtext-iconv-perl/libtext-iconv-perl_1.7-2_i386.deb +Size: 18076 +MD5Sum: 707f244dc1df10391dd9679b2645a911 +Description: converts between character sets in Perl + +Package: libtext-wrapi18n-perl +Priority: required +Section: perl +Installed-Size: 28 +Maintainer: Anibal Monsalve Salazar +Architecture: all +Version: 0.06-7 +Depends: libtext-charwidth-perl +Filename: pool/main/libt/libtext-wrapi18n-perl/libtext-wrapi18n-perl_0.06-7_all.deb +Size: 9004 +MD5Sum: 5608c08e10e79269e391f02856f96ec5 +Description: internationalized substitute of Text::Wrap + +Package: libthai-data +Priority: optional +Section: libs +Installed-Size: 596 +Maintainer: Theppitak Karoonboonyanan +Architecture: all +Source: libthai +Version: 0.1.14-2 +Conflicts: libthai0 (<< 0.1.10) +Filename: pool/main/libt/libthai/libthai-data_0.1.14-2_all.deb +Size: 198282 +MD5Sum: 201f73aac77afd1eef48bbf858964586 +Description: Data files for Thai language support library + +Package: libthai0 +Priority: optional +Section: libs +Installed-Size: 108 +Maintainer: Theppitak Karoonboonyanan +Architecture: i386 +Source: libthai +Version: 0.1.14-2 +Depends: libc6 (>= 2.1.3), libdatrie1 (>= 0.2.0), libthai-data (>= 0.1.10) +Conflicts: libdatrie0 (<< 0.1.4) +Filename: pool/main/libt/libthai/libthai0_0.1.14-2_i386.deb +Size: 40222 +MD5Sum: 7f65a895b5a232442969584c8aa6635d +Description: Thai language support library +Enhances: kdelibs5 + +Package: libtiff4 +Priority: optional +Section: libs +Installed-Size: 488 +Maintainer: Jay Berkenbilt +Architecture: i386 +Source: tiff +Version: 3.9.4-1 +Depends: libc6 (>= 2.3), libjpeg62, zlib1g (>= 1:1.1.4) +Filename: pool/main/t/tiff/libtiff4_3.9.4-1_i386.deb +Size: 182070 +MD5Sum: 4438501f82789f341c245d79b40c175f +Description: Tag Image File Format (TIFF) library + +Package: libuuid1 +Priority: required +Section: libs +Installed-Size: 112 +Maintainer: LaMont Jones +Architecture: i386 +Source: util-linux +Version: 2.17.2-3.1 +Replaces: e2fsprogs (<< 1.34-1) +Depends: passwd, libc6 (>= 2.3) +Recommends: uuid-runtime +Filename: pool/main/u/util-linux/libuuid1_2.17.2-3.1_i386.deb +Size: 58126 +MD5Sum: cea424e8f6340a5ee8d4e64da2d6c953 +Description: Universally Unique ID library + +Package: libx11-6 +Priority: optional +Section: libs +Installed-Size: 1356 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libx11 +Version: 2:1.3.3-3 +Depends: libc6 (>= 2.3.2), libxcb1 (>= 1.2), libx11-data +Conflicts: xlibs-data (<< 1:7.0.0) +Filename: pool/main/libx/libx11/libx11-6_1.3.3-3_i386.deb +Size: 816814 +MD5Sum: 40f5b42f6af2ad1550d3a2d6f634218f +Description: X11 client-side library + +Package: libx11-data +Priority: optional +Section: x11 +Installed-Size: 2504 +Maintainer: Debian X Strike Force +Architecture: all +Source: libx11 +Version: 2:1.3.3-3 +Replaces: libx11-6 (<= 2:1.0.0-1) +Filename: pool/main/libx/libx11/libx11-data_1.3.3-3_all.deb +Size: 232336 +MD5Sum: 5f5b2da7a114ada3bb7310f2b40cce51 +Description: X11 client-side library + +Package: libxau6 +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxau +Version: 1:1.0.6-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/libx/libxau/libxau6_1.0.6-1_i386.deb +Size: 16144 +MD5Sum: ad33495d6208f5dd07bee9cdb07b29d1 +Description: X11 authorisation library + +Package: libxcb-atom1 +Priority: extra +Section: libs +Installed-Size: 64 +Maintainer: Julien Danjou +Architecture: i386 +Source: xcb-util +Version: 0.3.6-1 +Depends: libc6 (>= 2.1.3), libxcb1 +Filename: pool/main/x/xcb-util/libxcb-atom1_0.3.6-1_i386.deb +Size: 9526 +MD5Sum: 79337f41329668bc137a7e4e2f273dd8 +Description: utility libraries for X C Binding -- atom + +Package: libxcb-aux0 +Priority: extra +Section: libs +Installed-Size: 64 +Maintainer: Julien Danjou +Architecture: i386 +Source: xcb-util +Version: 0.3.6-1 +Depends: libc6 (>= 2.1.3), libxcb1 +Filename: pool/main/x/xcb-util/libxcb-aux0_0.3.6-1_i386.deb +Size: 8472 +MD5Sum: 88d95e67be4ca3a7601db394241ab486 +Description: utility libraries for X C Binding -- aux + +Package: libxcb-event1 +Priority: extra +Section: libs +Installed-Size: 64 +Maintainer: Julien Danjou +Architecture: i386 +Source: xcb-util +Version: 0.3.6-1 +Depends: libc6 (>= 2.1.3), libxcb1 +Filename: pool/main/x/xcb-util/libxcb-event1_0.3.6-1_i386.deb +Size: 8514 +MD5Sum: 8dc0f269f8b0cea17f6207cce0964a51 +Description: utility libraries for X C Binding -- event + +Package: libxcb-render-util0 +Priority: extra +Section: libs +Installed-Size: 64 +Maintainer: Julien Danjou +Architecture: i386 +Source: xcb-util +Version: 0.3.6-1 +Depends: libc6 (>= 2.1.3), libxcb-render0, libxcb1 +Filename: pool/main/x/xcb-util/libxcb-render-util0_0.3.6-1_i386.deb +Size: 9334 +MD5Sum: 8f0afaba8747efba1ae99d995e03b7c5 +Description: utility libraries for X C Binding -- render-util + +Package: libxcb-render0 +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: XCB Developers +Architecture: i386 +Source: libxcb +Version: 1.6-1 +Depends: libc6 (>= 2.1.3), libxcb1 (>= 0) +Filename: pool/main/libx/libxcb/libxcb-render0_1.6-1_i386.deb +Size: 14916 +MD5Sum: 882950cf440b422d17fe5f784745c3fb +Description: X C Binding, render extension + +Package: libxcb1 +Priority: optional +Section: libs +Installed-Size: 164 +Maintainer: XCB Developers +Architecture: i386 +Source: libxcb +Version: 1.6-1 +Depends: libc6 (>= 2.3.2), libxau6, libxdmcp6 +Breaks: libxcb-xlib0 +Filename: pool/main/libx/libxcb/libxcb1_1.6-1_i386.deb +Size: 40500 +MD5Sum: 8b1bd1c23264932b7e2c639302366a06 +Description: X C Binding + +Package: libxcomposite1 +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxcomposite +Version: 1:0.4.2-1 +Depends: libc6 (>= 2.1.3), libx11-6, libxext6, libxfixes3 (>= 1:4.0.1) +Filename: pool/main/libx/libxcomposite/libxcomposite1_0.4.2-1_i386.deb +Size: 15116 +MD5Sum: 43b75f3d05d774ae791977cd20ce1624 +Description: X11 Composite extension library + +Package: libxcursor1 +Priority: optional +Section: libs +Installed-Size: 88 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxcursor +Version: 1:1.1.10-2 +Depends: libc6 (>= 2.3), libx11-6 (>= 0), libxfixes3 (>= 1:4.0.1), libxrender1 +Filename: pool/main/libx/libxcursor/libxcursor1_1.1.10-2_i386.deb +Size: 24942 +MD5Sum: 8aadf2988320b81f3422bddd68c97f1b +Description: X cursor management library + +Package: libxdamage1 +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxdamage +Version: 1:1.1.3-1 +Depends: libc6 (>= 2.1.3), libx11-6, libxfixes3 (>= 1:4.0.1) +Filename: pool/main/libx/libxdamage/libxdamage1_1.1.3-1_i386.deb +Size: 13568 +MD5Sum: 7b5b7a9937adff801f15857d2e1c7bce +Description: X11 damaged region extension library + +Package: libxdmcp6 +Priority: optional +Section: libs +Installed-Size: 76 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxdmcp +Version: 1:1.0.3-2 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/libx/libxdmcp/libxdmcp6_1.0.3-2_i386.deb +Size: 18426 +MD5Sum: cecbdad4e8a639735cf7e148681fb667 +Description: X11 Display Manager Control Protocol library + +Package: libxext6 +Priority: optional +Section: libs +Installed-Size: 132 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxext +Version: 2:1.1.2-1 +Depends: libc6 (>= 2.1.3), libx11-6 +Filename: pool/main/libx/libxext/libxext6_1.1.2-1_i386.deb +Size: 41694 +MD5Sum: 9c8bc9d73ed6ad2697df80f72edfd3c3 +Description: X11 miscellaneous extension library + +Package: libxfixes3 +Priority: optional +Section: libs +Installed-Size: 72 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxfixes +Version: 1:4.0.5-1 +Depends: libc6 (>= 2.1.3), libx11-6 +Filename: pool/main/libx/libxfixes/libxfixes3_4.0.5-1_i386.deb +Size: 17976 +MD5Sum: 8e0bf9a4ed5a0b6361085795e69ae248 +Description: X11 miscellaneous 'fixes' extension library + +Package: libxft2 +Priority: optional +Section: libs +Installed-Size: 140 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: xft +Version: 2.1.14-2 +Depends: libc6 (>= 2.3), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libx11-6 (>= 0), libxrender1 +Filename: pool/main/x/xft/libxft2_2.1.14-2_i386.deb +Size: 52030 +MD5Sum: 23a966a6319e50b8b8b9857da75cae5b +Description: FreeType-based font drawing library for X + +Package: libxi6 +Priority: optional +Section: libs +Installed-Size: 132 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxi +Version: 2:1.3-4 +Depends: libc6 (>= 2.1.3), libx11-6 (>= 2:1.2.99.901), libxext6 (>= 0) +Filename: pool/main/libx/libxi/libxi6_1.3-4_i386.deb +Size: 53936 +MD5Sum: 83cac8ca145398686339817466e11ffd +Description: X11 Input extension library + +Package: libxinerama1 +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxinerama +Version: 2:1.1-3 +Depends: libc6 (>= 2.1.3), libx11-6 (>= 0), libxext6 (>= 0) +Filename: pool/main/libx/libxinerama/libxinerama1_1.1-3_i386.deb +Size: 12186 +MD5Sum: 1fbe54b8d05b1096a4ea70cd50e1510b +Description: X11 Xinerama extension library + +Package: libxml2 +Priority: standard +Section: libs +Installed-Size: 1588 +Maintainer: Debian XML/SGML Group +Architecture: i386 +Version: 2.7.7.dfsg-4 +Depends: libc6 (>= 2.7), zlib1g (>= 1:1.2.3.3.dfsg) +Recommends: xml-core +Filename: pool/main/libx/libxml2/libxml2_2.7.7.dfsg-4_i386.deb +Size: 826866 +MD5Sum: 7153d99951b5d33f66eaa20a657e033b +Description: GNOME XML library + +Package: libxrandr2 +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxrandr +Version: 2:1.3.0-3 +Depends: libc6 (>= 2.1.3), libx11-6 (>= 0), libxext6 (>= 0), libxrender1 +Filename: pool/main/libx/libxrandr/libxrandr2_1.3.0-3_i386.deb +Size: 26618 +MD5Sum: ccd579d696aad72be69bdf1be92541f4 +Description: X11 RandR extension library + +Package: libxrender1 +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxrender +Version: 1:0.9.6-1 +Depends: libc6 (>= 2.1.3), libx11-6 +Filename: pool/main/libx/libxrender/libxrender1_0.9.6-1_i386.deb +Size: 29280 +MD5Sum: ef296f771209c82ed1245c67798b6081 +Description: X Rendering Extension client library + +Package: libxt6 +Priority: optional +Section: libs +Installed-Size: 452 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxt +Version: 1:1.0.7-1 +Depends: libc6 (>= 2.7), libice6 (>= 1:1.0.0), libsm6, libx11-6 (>= 0) +Filename: pool/main/libx/libxt/libxt6_1.0.7-1_i386.deb +Size: 171518 +MD5Sum: aa8e8f0a7ee7b57c2d58786af72da142 +Description: X11 toolkit intrinsics library + +Package: lsb-base +Priority: required +Section: misc +Installed-Size: 72 +Maintainer: Chris Lawrence +Architecture: all +Source: lsb +Version: 3.2-23.1 +Replaces: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Depends: sed, ncurses-bin +Conflicts: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Filename: pool/main/l/lsb/lsb-base_3.2-23.1_all.deb +Size: 20462 +MD5Sum: 60637dd487aedfaa48e3a38bc1a0ea4c +Description: Linux Standard Base 3.2 init script functionality + +Package: ncurses-bin +Essential: yes +Priority: required +Section: utils +Installed-Size: 500 +Maintainer: Craig Small +Architecture: i386 +Source: ncurses +Version: 5.7+20100313-2 +Pre-Depends: libc6 (>= 2.3), libncurses5 (>= 5.7+20100313) +Filename: pool/main/n/ncurses/ncurses-bin_5.7+20100313-2_i386.deb +Size: 314788 +MD5Sum: 408a001ec8f30f40e19caa35772c3e3b +Description: terminal-related programs and man pages + +Package: passwd +Priority: required +Section: admin +Installed-Size: 2208 +Maintainer: Shadow package maintainers +Architecture: i386 +Source: shadow +Version: 1:4.1.4.2-1 +Replaces: manpages-tr (<< 1.0.5), manpages-zh (<< 1.5.1-1) +Depends: libc6 (>= 2.3), libpam0g (>= 0.99.7.1), libselinux1 (>= 2.0.82), libpam-modules, debianutils (>= 2.15.2) +Filename: pool/main/s/shadow/passwd_4.1.4.2-1_i386.deb +Size: 975188 +MD5Sum: 2ae7b750afe852093fd38009f054b9f7 +Description: change and administer password and group data + +Package: perl-base +Essential: yes +Priority: required +Section: perl +Installed-Size: 4488 +Maintainer: Niko Tyni +Architecture: i386 +Source: perl +Version: 5.10.1-14 +Replaces: libperl5.8 (<< 5.8.0-20), libscalar-list-utils-perl, libxsloader-perl, perl (<< 5.10.1-12), perl-modules (<< 5.10.1-1) +Provides: libscalar-list-utils-perl, libxsloader-perl, perl5-base, perlapi-5.10.0, perlapi-5.10.1 +Pre-Depends: libc6 (>= 2.4), dpkg (>= 1.14.20) +Suggests: perl +Conflicts: autoconf2.13 (<< 2.13-45), libfile-spec-perl (<< 3.30), libscalar-list-utils-perl (<< 1:1.21), libxsloader-perl (<< 0.10), safe-rm (<< 0.8) +Filename: pool/main/p/perl/perl-base_5.10.1-14_i386.deb +Size: 985868 +MD5Sum: 4f62d14690a767e771baf2cffca803a5 +Description: minimal Perl system + +Package: perl-modules +Priority: standard +Section: perl +Installed-Size: 15856 +Maintainer: Niko Tyni +Architecture: all +Source: perl +Version: 5.10.1-14 +Replaces: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libautodie-perl, libcgi-pm-perl, libclass-isa-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-spec-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libparent-perl, libparse-cpan-meta-perl, libpod-escapes-perl, libpod-parser-perl, libpod-plainer-perl, libpod-simple-perl, libswitch-perl, libtest-harness-perl, libtest-simple-perl, libthread-queue-perl, libtime-local-perl, libversion-perl, podlators-perl +Provides: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libautodie-perl, libcgi-pm-perl, libclass-isa-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-spec-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libparent-perl, libparse-cpan-meta-perl, libpod-escapes-perl, libpod-parser-perl, libpod-plainer-perl, libpod-simple-perl, libswitch-perl, libtest-harness-perl, libtest-simple-perl, libthread-queue-perl, libtime-local-perl, libversion-perl, podlators-perl +Depends: perl (>= 5.10.1-1) +Conflicts: libansicolor-perl (<< 1.10-1), libarchive-tar-perl (<< 1.52), libattribute-handlers-perl (<< 0.85), libautodie-perl (<< 2.06.01), libcgi-pm-perl (<< 3.43), libclass-isa-perl (<< 0.33), libcpanplus-perl (<< 0.88), libextutils-cbuilder-perl (<< 0.2602), libextutils-parsexs-perl (<< 2.2002), libfile-spec-perl (<< 3.30), libfile-temp-perl (<< 0.22), libi18n-langtags-perl (<< 0.35-1), libio-zlib-perl (<< 1.09), liblocale-codes-perl (<< 2.07), liblocale-maketext-perl (<< 1.13), liblocale-maketext-simple-perl (<< 0.18-1), libmath-bigint-perl (<< 1.89), libmodule-build-perl (<< 0.340201), libmodule-corelist-perl (<< 2.18), libmodule-load-conditional-perl (<< 0.30), libmodule-load-perl (<< 0.16), libmodule-pluggable-perl (<< 3.9), libnet-perl (<= 1:1.22), libnet-ping-perl (<< 2.36), libparams-check-perl (<< 0.26-1), libparent-perl (<< 0.221), libparse-cpan-meta-perl (<< 1.39), libpod-escapes-perl (<< 1.04), libpod-parser-perl (<< 1.37), libpod-plainer-perl (<< 0.01), libpod-simple-perl (<< 3.07), libswitch-perl (<< 2.14), libtest-harness-perl (<< 3.17), libtest-simple-perl (<< 0.92), libthread-queue-perl (<< 2.11), libtime-local-perl (<< 1.1901), libversion-perl (<< 1:0.7700), podlators-perl (<= 2.2.2-1) +Filename: pool/main/p/perl/perl-modules_5.10.1-14_all.deb +Size: 3481026 +MD5Sum: c502e5cc355cd19e5d264ae74f3595e2 +Description: Core Perl modules +Build-Essential: yes + +Package: perl +Priority: standard +Section: perl +Installed-Size: 13168 +Maintainer: Niko Tyni +Architecture: i386 +Version: 5.10.1-14 +Replaces: libarchive-tar-perl (<= 1.38-2), libcompress-raw-bzip2-perl, libcompress-raw-zlib-perl, libcompress-zlib-perl, libdigest-md5-perl, libdigest-sha-perl, libio-compress-base-perl, libio-compress-bzip2-perl, libio-compress-perl, libio-compress-zlib-perl, libmime-base64-perl, libmodule-corelist-perl (<< 2.14-2), libstorable-perl, libsys-syslog-perl, libthreads-perl, libthreads-shared-perl, libtime-hires-perl, libtime-piece-perl, perl-base (<< 5.10.1-12), perl-doc (<< 5.8.0-1), perl-modules (<< 5.8.1-1) +Provides: data-dumper, libcompress-raw-bzip2-perl, libcompress-raw-zlib-perl, libcompress-zlib-perl, libdigest-md5-perl, libdigest-sha-perl, libio-compress-base-perl, libio-compress-bzip2-perl, libio-compress-perl, libio-compress-zlib-perl, libmime-base64-perl, libstorable-perl, libsys-syslog-perl, libthreads-perl, libthreads-shared-perl, libtime-hires-perl, libtime-piece-perl, perl5 +Depends: perl-base (= 5.10.1-14), perl-modules (>= 5.10.1-14), libbz2-1.0, libc6 (>= 2.4), libdb4.7, libgdbm3 (>= 1.8.3), zlib1g (>= 1:1.2.3.3.dfsg) +Recommends: netbase, make +Suggests: perl-doc, libterm-readline-gnu-perl | libterm-readline-perl-perl +Conflicts: libcompress-raw-bzip2-perl (<< 2.020), libcompress-raw-zlib-perl (<< 2.020), libcompress-zlib-perl (<< 2.020), libdigest-md5-perl (<< 2.39), libdigest-sha-perl (<< 5.47), libio-compress-base-perl (<< 2.020), libio-compress-bzip2-perl (<< 2.020), libio-compress-perl (<< 2.020), libio-compress-zlib-perl (<< 2.020), libmime-base64-perl (<< 3.08), libstorable-perl (<< 2.20), libsys-syslog-perl (<< 0.27), libthreads-perl (<< 1.72), libthreads-shared-perl (<< 1.29), libtime-hires-perl (<< 1.9719), libtime-piece-perl (<< 1.15), perl-doc (<< 5.10.1-1) +Filename: pool/main/p/perl/perl_5.10.1-14_i386.deb +Size: 3767054 +MD5Sum: c402cd511260c137a795afaeb6125876 +Description: Larry Wall's Practical Extraction and Report Language +Build-Essential: yes + +Package: readline-common +Priority: important +Section: utils +Installed-Size: 92 +Maintainer: Matthias Klose +Architecture: all +Source: readline6 +Version: 6.1-3 +Replaces: libreadline-common, libreadline4 (<< 4.3-16), libreadline5 (<< 5.0-11) +Depends: dpkg (>= 1.15.4) | install-info +Conflicts: libreadline-common, libreadline5 (<< 5.0-11) +Filename: pool/main/r/readline6/readline-common_6.1-3_all.deb +Size: 54028 +MD5Sum: 1ddfb1a719db7f302abe921e261b0288 +Description: GNU readline and history libraries, common files + +Package: sed +Essential: yes +Priority: required +Section: utils +Installed-Size: 956 +Maintainer: Clint Adams +Architecture: i386 +Version: 4.2.1-7 +Depends: dpkg (>= 1.15.4) | install-info +Pre-Depends: libc6 (>= 2.3), libselinux1 (>= 1.32) +Filename: pool/main/s/sed/sed_4.2.1-7_i386.deb +Size: 245832 +MD5Sum: 76a28a89a0684b09abd4c9622f9b0b5f +Description: The GNU sed stream editor + +Package: sensible-utils +Priority: required +Section: utils +Installed-Size: 112 +Maintainer: Clint Adams +Architecture: all +Version: 0.0.4 +Replaces: debianutils (<= 2.32.3), manpages-pl (<= 20060617-3~) +Filename: pool/main/s/sensible-utils/sensible-utils_0.0.4_all.deb +Size: 5408 +MD5Sum: 6e1c38bc8506fb23d949a4df7e07d5e2 +Description: Utilities for sensible alternative selection + +Package: shared-mime-info +Priority: optional +Section: misc +Installed-Size: 3348 +Maintainer: Filip Van Raemdonck +Architecture: i386 +Version: 0.71-3 +Depends: libc6 (>= 2.3), libglib2.0-0 (>= 2.24.0), libxml2 (>= 2.7.4) +Conflicts: libglib2.0-0 (<< 2.17.2), libgnomevfs2-0 (<< 1:2.24.0), tracker (<< 0.6.90) +Filename: pool/main/s/shared-mime-info/shared-mime-info_0.71-3_i386.deb +Size: 842486 +MD5Sum: 783a1538ac9561e082a8dc67f29df778 +Description: FreeDesktop.org shared MIME database and spec + +Package: ttf-dejavu-core +Priority: optional +Section: fonts +Installed-Size: 2592 +Maintainer: Debian Fonts Task Force +Architecture: all +Source: ttf-dejavu +Version: 2.31-1 +Replaces: ttf-dejavu (<< 2.20-1) +Conflicts: ttf-dejavu (<< 2.20-1) +Filename: pool/main/t/ttf-dejavu/ttf-dejavu-core_2.31-1_all.deb +Size: 1451418 +MD5Sum: d3d8850ec0ef68d9b7655545ce0b2b22 +Description: Vera font family derivate with additional characters + +Package: ucf +Priority: standard +Section: utils +Installed-Size: 260 +Maintainer: Manoj Srivastava +Architecture: all +Version: 3.0025 +Depends: debconf (>= 1.5.19), coreutils (>= 5.91) +Filename: pool/main/u/ucf/ucf_3.0025_all.deb +Size: 65960 +MD5Sum: 6e664d04fea09239d450ae9f3d246a0f +Description: Update Configuration File: preserve user changes to config files. + +Package: whiptail +Priority: important +Section: utils +Installed-Size: 100 +Maintainer: Alastair McKinstry +Architecture: i386 +Source: newt +Version: 0.52.11-1 +Replaces: newt0.10, newt0.21 (<< 0.21-4), whiptail-utf8 +Provides: whiptail-provider, whiptail-utf8 +Depends: libc6 (>= 2.1), libnewt0.52 (>= 0.52.11), libpopt0 (>= 1.16), libslang2 (>= 2.0.7-1) +Conflicts: whiptail-provider +Filename: pool/main/n/newt/whiptail_0.52.11-1_i386.deb +Size: 39118 +MD5Sum: cac6b0f08d25c91011d5c267e35cb0d2 +Description: Displays user-friendly dialog boxes from shell scripts + +Package: x11-common +Priority: optional +Section: x11 +Installed-Size: 568 +Maintainer: Debian X Strike Force +Architecture: all +Source: xorg +Version: 1:7.5+6 +Replaces: x-common, xfree86-common, xorg-common, xserver-common (<< 7) +Depends: debconf (>= 0.5) | debconf-2.0, debianutils (>= 1.13), lsb-base (>= 1.3-9ubuntu2) +Pre-Depends: debconf | debconf-2.0 +Conflicts: aee (<= 2.2.15b-1), ascd (<= 0.13.2-3), beaver (<= 0.2.5-2), bibview (<= 2.2-8), bugsx (<= 1.08-8), buici-clock (<= 0.4.5+b1), communicator-smotif-477, ctwm (<= 3.7-2), emelfm (<= 0.9.2-7), epan, fte-xwindow (<= 0.50.0-1.3), fvwm1 (<= 1.24r-46), fvwm95 (<= 2.0.43ba-23+b1), gerstensaft (<= 0.2-5.1), ghostview, gipsc (<= 0.4.3-2), grace (<= 1:5.1.18-1), grace6 (<= 5.99.0+final-4), gradio (<= 1.0.1-6), groff (<= 1.18.1.1-7), guitar (<= 0.1.4-11), hamsoft (<< 0.2.3-1), hanterm-classic (<= 3.1.6.0-4), hanterm-xf (<= 1:3.3.1p18-9.2), hfsutils-tcltk (<= 3.2.6-7), ibp (<= 0.21-4), isdnutils-xtools (<= 1:3.8.2005-12-06-4), ivtools-bin (<= 1.1.3-5), ivtools-dev (<= 1.1.3-5), kdrill (<= 6.4-2.1), kinput2-canna (<= 3.1-7), kinput2-canna-wnn (<= 3.1-7), kinput2-wnn (<= 3.1-7), kterm (<= 6.2.0-45), lbxproxy (<< 7.0), libmotif-dev (<= 2.2.3-1.3), libxft-dev (<= 2.1.8.2-5), lm-batmon (<= 0.96-3), login.app (<= 1.2.1-18), lsb-core (<= 3.1-4), lwm (<= 1.2.1-1), mctools-lite (<= 970129-16), mgp (<= 1.11b-6), motif-clients (<= 2.2.3-1.3), navigator-smotif-477, netscape-base-4, olvwm (<= 4.4.3.2p1.4-21), olwm (<= 3.2p1.4-21), oneko (<= 1.2.sakura.6-1), opera (<< 9.10-20060616), pgaccess (<= 1:0.98.8.20030520-2), phototk, pixmap (<= 2.6pl4-14.1), plotmtv (<= 1.4.4t-8.1), pmud (<= 0.10-9), ppxp (<= 0.2001080415-14), ppxp-x11 (<= 0.2001080415-14), procmeter (<= 2.5.1-11), propsel (<= 971130-5.3), proxymngr (<< 7.0), qcam (<= 0.91-11.1), regexplorer (<= 0.1.6-12), seyon (<= 2.20c-20), skkinput (<= 1:2.06.4-4), stella (<< 2.2-1), tkdesk (<= 2.0-5), tkseti (<= 3.06-1), tkworld, twlog (<= 1.3-4), twm (<< 7.0), ucbmpeg-play (<< 2.3p-13), vide (<= 1.21-3), videogen (<= 0.32-1), vtwm (<= 5.4.7-2), w9wm (<= 0.4.2-4), wdm (<= 1.28-1), wily (<= 0.13.41-6), wmavgload (<= 0.7.0-6.1), wmcpu (<= 1.3-4.1), wmdate (<= 0.5-7.1), wmnet (<= 1.05-12), wmnetselect (<= 0.85-5.5), wmscope (<= 3.0-9.1), wmsensors (<= 1.0.4-3.4), wmtv (<= 0.6.5-15), x-common, xautolock (<= 1:2.1-6), xbanner (<= 1.31-23), xbase-clients (<< 1:7.0), xbatt (<= 1.2.1-4), xbattbar (<= 1.4.2-3.1), xcal (<= 4.1-18.2), xcalendar-i18n (<= 4.0.0.i18p1-13.1), xcb (<= 2.4-4), xclip (<= 0.08-5), xclips (<= 6.21-6), xcolors (<= 1.5a-2), xcolorsel (<= 1.1a-11), xdkcal (<= 0.9d-2.1), xdm (<= 1:1.0.1-6), xdmx (<< 1:1.0), xdu (<= 3.0-14), xearth (<= 1.1-10.2), xengine (<= 1.11-9), xephem (<= 3.4-5), xext, xezmlm (<= 1.0.3-11), xfaces (<= 3.3-25), xfishtank (<= 2.2-23.1), xfm (<= 1.4.3-8), xfractint (<< 20.3.01-1), xfree86-common, xfs (<< 1:1.0), xfs-xtt (<= 1:1.4.1.xf430-6), xftp, xfwp (<< 7.0), xgdipc (<= 1.2-0.3), xgmod (<= 3.1-9), xgobi, xgraph (<= 12.1-3), xinput (<= 1.2-5.2), xipmsg (<= 0.8088-1.1), xisp, xlbiff (<< 4.1-4), xli (<= 1.17.0-21), xlockmore (<= 1:5.21-1), xlockmore-gl (<= 1:5.21-1), xlogmaster (<= 1.6.0-8), xmailbox (<= 2.5-9), xmem (<= 1.20-19), xmeter (<= 1.15-6), xmh (<= 6.8.2.dfsg.1-4), xmix (<= 2.1-5), xmon (<= 1.5.6-1.3), xnecview (<= 1.34-2), xnest (<< 1:1.0), xodo (<= 1.2-9.2), xorg-common, xpaste, xpmumon (<= 1.3.0), xpostit (<= 3.3.1-8.2), xpostitplus, xprint (<= 1:0.1.0.alpha1-13), xrn (<= 9.02-7.1), xserver-common (<< 7), xserver-xfree86 (<< 1:7.0), xserver-xfree86-dbg, xserver-xorg (<< 1:7.4~), xslideshow (<= 3.1-8.1), xsysinfo (<= 1.7-2), xtel (<= 3.3.0-5.4), xterm (<< 208-1), xtoolwait (<= 1.3-6), xtrkcad (<= 3.1.4-1), xtrlock (<= 2.0-11), xturqstat (<= 2.2.2sarge1), xutils (<< 1:7.0), xv (<= 3.10a-26), xvfb (<< 1:1.0), xview-clients (<= 3.2p1.4-21), xviewg (<= 3.2p1.4-21), xviewg-dev (<= 3.2p1.4-21), xvkbd (<= 2.6-2.1), xwit (<= 3.4-6), xxkb (<= 1.10-2.1), xzoom (<= 0.3-17), yank (<= 0.2.1-7.2) +Breaks: gdm (<< 2.20.7-5) +Filename: pool/main/x/xorg/x11-common_7.5+6_all.deb +Size: 280238 +MD5Sum: 312093359c4f0f7decfb049768d6bb12 +Description: X Window System (X.Org) infrastructure + +Package: xulrunner-1.9.1 +Priority: optional +Section: libs +Installed-Size: 19060 +Maintainer: Maintainers of Mozilla-related packages +Architecture: i386 +Source: xulrunner +Version: 1.9.1.11-1 +Replaces: xulrunner-1.9.1-gnome-support +Depends: libasound2 (>> 1.0.18), libatk1.0-0 (>= 1.29.3), libbz2-1.0, libc6 (>= 2.3.6-6~), libcairo2 (>= 1.8.8), libdbus-1-3 (>= 1.0.2), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.24.0), libgtk2.0-0 (>= 2.18.0), libhunspell-1.2-0 (>= 1.2.11), libjpeg62 (>= 6b1), libmozjs2d (= 1.9.1.11-1), libnspr4-0d (>> 4.7.1-1), libnss3-1d (>= 3.12.6), libpango1.0-0 (>= 1.14.0), libpng12-0 (>= 1.2.13-4), libreadline6 (>= 6.0), libsqlite3-0 (>= 3.6.23.1), libstartup-notification0 (>= 0.10), libstdc++6 (>= 4.1.1), libx11-6, libxrender1, libxt6, zlib1g (>= 1:1.1.4) +Suggests: libdbus-glib-1-2 (>= 0.78), libgconf2-4 (>= 2.27.0), libgnome2-0 (>= 2.17.3), libgnomevfs2-0 (>= 1:2.17.90), libgnomeui-0, libcanberra0 +Conflicts: j2re1.4, pango-graphite (<< 0.9.3), xulrunner-1.9.1-gnome-support +Breaks: iceweasel (<< 3.5.5-1) +Filename: pool/main/x/xulrunner/xulrunner-1.9.1_1.9.1.11-1_i386.deb +Size: 7230878 +MD5Sum: d2b3c7b52aee7284290136e2c844ed7b +Description: XUL + XPCOM application runner + +Package: xz-utils +Priority: required +Section: utils +Installed-Size: 364 +Maintainer: Jonathan Nieder +Architecture: i386 +Version: 4.999.9beta+20100713-1 +Replaces: xz-lzma (<< 4.999.9beta+20091004-1) +Depends: libc6 (>= 2.6), liblzma2 (>= 4.999.9beta+20100602) +Suggests: xz-lzma +Breaks: xz-lzma (<< 4.999.9beta+20091004-1) +Filename: pool/main/x/xz-utils/xz-utils_4.999.9beta+20100713-1_i386.deb +Size: 174098 +MD5Sum: a2a576f97035c84b78e7f269656cab86 +Description: XZ-format compression utilities + +Package: zlib1g +Priority: required +Section: libs +Installed-Size: 160 +Maintainer: Mark Brown +Architecture: i386 +Source: zlib +Version: 1:1.2.3.4.dfsg-3 +Provides: libz1 +Depends: libc6 (>= 2.1.3) +Conflicts: zlib1 (<= 1:1.0.4-7) +Filename: pool/main/z/zlib/zlib1g_1.2.3.4.dfsg-3_i386.deb +Size: 75952 +MD5Sum: 37246cd4fe5d4cb0f7c03ce3082164a3 +Description: compression library - runtime + diff --git a/test/integration/status-bug-591882-conkeror b/test/integration/status-bug-591882-conkeror new file mode 100644 index 000000000..658114d4a --- /dev/null +++ b/test/integration/status-bug-591882-conkeror @@ -0,0 +1,1357 @@ +Package: conkeror +Status: install ok installed +Priority: extra +Section: web +Installed-Size: 1044 +Maintainer: Axel Beckert +Architecture: all +Version: 0.9~git080629-2 +Provides: www-browser +Depends: xulrunner (>= 1.9~) | xulrunner-1.9 +Recommends: conkeror-spawn-process-helper +Suggests: emacs | emacsen +Description: keyboard focused web browser with Emacs look and feel + +Package: coreutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 10032 +Maintainer: Michael Stone +Architecture: i386 +Version: 6.10-6 +Replaces: textutils, shellutils, fileutils, stat, debianutils (<= 2.3.1), dpkg (<< 1.13.2) +Provides: textutils, shellutils, fileutils +Pre-Depends: libacl1 (>= 2.2.11-1), libc6 (>= 2.6.1-1), libselinux1 (>= 2.0.15) +Conflicts: stat +Description: The GNU core utilities + +Package: debconf-i18n +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1100 +Maintainer: Debconf Developers +Architecture: all +Source: debconf +Version: 1.5.24 +Replaces: debconf (<< 1.3.0), debconf-utils (<< 1.3.22) +Depends: debconf, liblocale-gettext-perl, libtext-iconv-perl, libtext-wrapi18n-perl, libtext-charwidth-perl +Conflicts: debconf-english, debconf-utils (<< 1.3.22) +Description: full internationalization support for debconf + +Package: debconf +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1508 +Maintainer: Debconf Developers +Architecture: all +Version: 1.5.24 +Replaces: debconf-tiny +Provides: debconf-2.0 +Depends: debconf-i18n | debconf-english +Pre-Depends: perl-base (>= 5.6.1-4) +Recommends: apt-utils (>= 0.5.1) +Suggests: debconf-doc, debconf-utils, whiptail | dialog | gnome-utils, libterm-readline-gnu-perl, libgnome2-perl, libqt-perl, libnet-ldap-perl, perl +Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13) +Description: Debian configuration management system + +Package: debianutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 272 +Maintainer: Clint Adams +Architecture: i386 +Version: 2.30 +Pre-Depends: libc6 (>= 2.7-1) +Description: Miscellaneous utilities specific to Debian + +Package: defoma +Status: install ok installed +Priority: optional +Section: admin +Installed-Size: 449 +Maintainer: Angus Lees +Architecture: all +Version: 0.11.10-0.2 +Depends: file, perl (>= 5.6.0-16), whiptail | dialog +Recommends: libft-perl +Suggests: defoma-doc, dfontmgr, psfontmgr, x-ttcidfont-conf +Conflicts: defoma-gs, defoma-ps, defoma-x, dfontmgr (<< 0.10.0), psfontmgr (<< 0.5.0), x-ttcidfont-conf (<< 5) +Description: Debian Font Manager -- automatic font configuration framework +Enhances: debhelper + +Package: dpkg +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 7276 +Maintainer: Dpkg Developers +Architecture: i386 +Version: 1.14.29 +Replaces: manpages-de (<= 0.4-3), manpages-pl (<= 20051117-1) +Pre-Depends: libc6 (>= 2.7-1), coreutils (>= 5.93-1), lzma +Suggests: apt +Conflicts: apt (<< 0.7.7), aptitude (<< 0.4.7-1), dpkg-dev (<< 1.14.16), dpkg-iasearch (<< 0.11), sysvinit (<< 2.82-1) +Description: Debian package management system +Origin: debian +Bugs: debbugs://bugs.debian.org + +Package: file +Status: install ok installed +Priority: standard +Section: utils +Installed-Size: 136 +Maintainer: Daniel Baumann +Architecture: i386 +Version: 4.26-1 +Depends: libc6 (>= 2.7-1), libmagic1 (= 4.26-1), zlib1g (>= 1:1.1.4) +Description: Determines file type using "magic" numbers + +Package: fontconfig-config +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 250 +Maintainer: Keith Packard +Architecture: all +Source: fontconfig +Version: 2.6.0-3 +Replaces: fontconfig (<< 2.3.2-2) +Depends: debconf (>= 0.5) | debconf-2.0, ucf (>= 0.29), ttf-dejavu | ttf-bitstream-vera | ttf-freefont | gsfonts-x11 +Conflicts: fontconfig (<< 2.3.2-2) +Description: generic font configuration library - configuration + +Package: fontconfig +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 384 +Maintainer: Keith Packard +Architecture: i386 +Version: 2.6.0-3 +Replaces: fontconfig-config (<< 2.5.93-1) +Depends: libc6 (>= 2.7-1), libfontconfig1 (>= 2.4.0), fontconfig-config +Suggests: defoma (>= 0.7.0) +Description: generic font configuration library - support binaries + +Package: gcc-4.3-base +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 160 +Maintainer: Debian GCC Maintainers +Architecture: i386 +Source: gcc-4.3 +Version: 4.3.2-1.1 +Replaces: cpp-4.3 (<< 4.3.2) +Description: The GNU Compiler Collection (base package) + +Package: libacl1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 48 +Maintainer: Nathan Scott +Architecture: i386 +Source: acl +Version: 2.2.47-2 +Depends: libattr1 (>= 2.4.41-1), libc6 (>= 2.7-1) +Conflicts: acl (<< 2.0.0), libacl1-kerberos4kth +Description: Access control list shared library + +Package: libatk1.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 168 +Maintainer: Debian GNOME Maintainers +Architecture: i386 +Source: atk1.0 +Version: 1.22.0-1 +Depends: libc6 (>= 2.7-1), libglib2.0-0 (>= 2.16.0) +Recommends: libatk1.0-data +Description: The ATK accessibility toolkit + +Package: libattr1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 36 +Maintainer: Nathan Scott +Architecture: i386 +Source: attr +Version: 1:2.4.43-2 +Depends: libc6 (>= 2.7-1) +Conflicts: attr (<< 2.0.0) +Description: Extended attribute shared library + +Package: libbz2-1.0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 92 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Source: bzip2 +Version: 1.0.5-1 +Depends: libc6 (>= 2.7-1) +Description: high-quality block-sorting file compressor library - runtime + +Package: libc6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 10756 +Maintainer: GNU Libc Maintainers +Architecture: i386 +Source: glibc +Version: 2.7-18lenny4 +Provides: glibc-2.7-1 +Depends: libgcc1 +Suggests: locales, glibc-doc, libc6-i686 +Conflicts: libterm-readline-gnu-perl (<< 1.15-2), tzdata (<< 2007k-1), tzdata-etch +Description: GNU C Library: Shared libraries + +Package: libcairo2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 844 +Maintainer: Dave Beckett +Architecture: i386 +Source: cairo +Version: 1.6.4-7 +Replaces: libcairo0.5.1, libcairo0.6.0, libcairo0.9.0, libcairo1 +Provides: libcairo +Depends: libc6 (>= 2.7-1), libdirectfb-1.0-0, libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libpixman-1-0 (>= 0.10.0), libpng12-0 (>= 1.2.13-4), libx11-6, libxcb-render-util0 (>= 0.2.1+git1), libxcb-render0, libxcb1, libxrender1, zlib1g (>= 1:1.1.4) +Conflicts: libcairo1 +Description: The Cairo 2D vector graphics library + +Package: libcomerr2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 96 +Maintainer: Theodore Y. Ts'o +Architecture: i386 +Source: e2fsprogs +Version: 1.41.3-1 +Replaces: e2fsprogs (<< 1.34-1) +Provides: libcomerr-kth-compat +Depends: libc6 (>= 2.7-1) +Description: common error description library + +Package: libcups2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 364 +Maintainer: Debian CUPS Maintainers +Architecture: i386 +Source: cups +Version: 1.3.8-1+lenny8 +Replaces: libcupsys2 (<< 1.3.7-6) +Provides: libcupsys2 +Depends: libc6 (>= 2.7-1), libcomerr2 (>= 1.01), libgnutls26 (>= 2.4.0-0), libkrb53 (>= 1.6.dfsg.2), zlib1g (>= 1:1.1.4) +Suggests: cups-common +Conflicts: libcupsys2 (<< 1.3.7-6) +Description: Common UNIX Printing System(tm) - libs + +Package: libdatrie0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 60 +Maintainer: Theppitak Karoonboonyanan +Architecture: i386 +Source: libdatrie +Version: 0.1.3-2 +Depends: libc6 (>= 2.7-1) +Description: Double-array trie library + +Package: libdb4.6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1248 +Maintainer: Debian Berkeley DB Maintainers +Architecture: i386 +Source: db4.6 +Version: 4.6.21-11 +Depends: libc6 (>= 2.7-1) +Conflicts: libdb2 (<< 2:2.7.7-3) +Description: Berkeley v4.6 Database Libraries [runtime] + +Package: libdirectfb-1.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 2140 +Maintainer: Debian DirectFB Team +Architecture: i386 +Source: directfb +Version: 1.0.1-11 +Depends: libc6 (>= 2.7-1), libsysfs2, libts-0.0-0 (>= 1.0) +Description: direct frame buffer graphics - shared libraries + +Package: libexpat1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 364 +Maintainer: Debian XML/SGML Group +Architecture: i386 +Source: expat +Version: 2.0.1-4+lenny3 +Depends: libc6 (>= 2.7-1) +Conflicts: wink (<= 1.5.1060-4) +Description: XML parsing C library - runtime library + +Package: libfontconfig1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 336 +Maintainer: Keith Packard +Architecture: i386 +Source: fontconfig +Version: 2.6.0-3 +Depends: libc6 (>= 2.7-1), libexpat1 (>= 1.95.8), libfreetype6 (>= 2.3.5), zlib1g (>= 1:1.1.4), fontconfig-config (= 2.6.0-3) +Description: generic font configuration library - runtime + +Package: libfreetype6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 672 +Maintainer: Steve Langasek +Architecture: i386 +Source: freetype +Version: 2.3.7-2+lenny1 +Replaces: freetype0, freetype1 +Depends: libc6 (>= 2.7-1), zlib1g (>= 1:1.1.4) +Suggests: libfreetype6-dev +Conflicts: freetype, xpdf-reader (<< 1.00-4) +Description: FreeType 2 font engine, shared library files + +Package: libgcc1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 88 +Maintainer: Debian GCC Maintainers +Architecture: i386 +Source: gcc-4.3 (4.3.2-1.1) +Version: 1:4.3.2-1.1 +Depends: gcc-4.3-base (= 4.3.2-1.1), libc6 (>= 2.7-1) +Description: GCC support library + +Package: libgcrypt11 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 508 +Maintainer: Debian GnuTLS Maintainers +Architecture: i386 +Version: 1.4.1-1 +Depends: libc6 (>= 2.7-1), libgpg-error0 (>= 1.4) +Suggests: rng-tools +Description: LGPL Crypto library - runtime library + +Package: libgdbm3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 80 +Maintainer: James Troup +Architecture: i386 +Source: gdbm +Version: 1.8.3-3 +Depends: libc6 (>= 2.3.6-6) +Description: GNU dbm database routines (runtime version) + +Package: libglib2.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 1732 +Maintainer: Loic Minier +Architecture: i386 +Source: glib2.0 +Version: 2.16.6-3 +Depends: libc6 (>= 2.7-1), libpcre3 (>= 7.4), libselinux1 (>= 2.0.59) +Recommends: libglib2.0-data +Conflicts: libpango1.0-0 (<< 1.11) +Description: The GLib library of C routines + +Package: libgnutls26 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 1100 +Maintainer: Debian GnuTLS Maintainers +Architecture: i386 +Source: gnutls26 +Version: 2.4.2-6+lenny2 +Replaces: gnutls0, gnutls0.4, gnutls3 +Depends: libc6 (>= 2.7-1), libgcrypt11 (>= 1.4.0), libgpg-error0 (>= 1.4), libtasn1-3 (>= 0.3.4), zlib1g (>= 1:1.1.4) +Suggests: gnutls-bin +Conflicts: gnutls0, gnutls0.4 +Description: the GNU TLS library - runtime library + +Package: libgpg-error0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 196 +Maintainer: Jose Carlos Garcia Sogo +Architecture: i386 +Source: libgpg-error +Version: 1.4-2 +Depends: libc6 (>= 2.3.6-6) +Description: library for common error values and messages in GnuPG components + +Package: libgtk2.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 5084 +Maintainer: Sebastien Bacher +Architecture: i386 +Source: gtk+2.0 +Version: 2.12.12-1~lenny2 +Replaces: libgtk2.0-0png3 +Provides: gtk2.0-binver-2.10.0 +Depends: libgtk2.0-common, libatk1.0-0 (>= 1.20.0), libc6 (>= 2.7-1), libcairo2 (>= 1.6.4-6.1), libcomerr2 (>= 1.01), libcups2 (>= 1.3.8), libfontconfig1 (>= 2.4.0), libglib2.0-0 (>= 2.16.0), libgnutls26 (>= 2.4.0-0), libjpeg62, libkrb53 (>= 1.6.dfsg.2), libpango1.0-0 (>= 1.20.3), libpng12-0 (>= 1.2.13-4), libtiff4, libx11-6, libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3 (>= 1:4.0.1), libxi6, libxinerama1, libxrandr2, libxrender1, zlib1g (>= 1:1.1.4) +Recommends: hicolor-icon-theme, libgtk2.0-bin +Suggests: librsvg2-common +Conflicts: celestia (<< 1.2.4-4), eog2 (<< 1.0.1-4), gcin (<< 1.3.4-2), gimp1.3 (<< 1.3.7-1.1), glabels (<< 2.1.3-3), gnome-panel2 (<< 2.0.4-1), gnome-themes (<< 2.6), gtk-im-libthai (<< 0.1.4-3), gtk-qt-engine (<< 1:0.8~svn-rev36-1), gtk2-engines (<< 1:2.8.2-2), gtk2-engines-cleanice (<< 2.4.0-1.1), gtk2-engines-crux (<< 2.6), gtk2-engines-gtk-qt (<< 1:0.7-2), gtk2-engines-highcontrast (<< 2.6), gtk2-engines-industrial (<< 0.2.32-5), gtk2-engines-lighthouseblue (<< 2.6), gtk2-engines-magicchicken (<< 1.1.1-7.1), gtk2-engines-metal (<< 2.2.0-2.1), gtk2-engines-mist (<< 2.6), gtk2-engines-pixbuf (<= 2.10), gtk2-engines-qtpixmap (<< 0.28-1.2), gtk2-engines-redmond95 (<< 2.2.0-2.1), gtk2-engines-smooth (<< 0.5.6-3), gtk2-engines-thinice (<< 2.6), gtk2-engines-ubuntulooks (<= 0.9.11-1), gtk2-engines-wonderland (<< 1.0-4), gtk2-engines-xfce (<< 2.4.0-1), gtk2.0-examples (<< 2.2.0), iiimf-client-gtk (<< 12.3.91-4), iiimgcf (<= 11.4.1870-7.3), imhangul (<< 0.9.13-5), libeel2-2.18, libgdkxft0, libginspx0 (<< 20050529-1.1), libgnomeui-0 (<= 2.14.1-3), libgtk2.0-0png3, librsvg2-common (<= 2.14.4-2), libwmf-dev (<< 0.2.8.4-5), libwmf0.2-7 (<< 0.2.8.4-5), libwxgtk2.6-0 (<< 2.6.3.2.2-1), metacity (<< 1:2.20.0-1), metatheme (<< 0.9.7-3), openoffice.org-core (<< 2.2.1-8), scim-bridge (<= 0.2.4-1), scim-bridge-client-gtk (<< 0.4.10-1.1), scim-gtk2-immodule (<< 1.4.4-8), swf-player (<< 0.3.6-2.3), tamil-gtk2im (<< 2.2-4.4), uim-gtk2.0 (<< 1:1.4.1-3), xfwm4 (<< 4.4.1-3) +Description: The GTK+ graphical user interface library + +Package: libgtk2.0-common +Status: install ok installed +Priority: optional +Section: misc +Installed-Size: 15934 +Maintainer: Sebastien Bacher +Architecture: all +Source: gtk+2.0 +Version: 2.12.12-1~lenny2 +Replaces: libgtk1.3-common, libgtk2.0-data +Recommends: libgtk2.0-0 +Conflicts: libgtk1.3-common, libgtk2.0-data +Description: Common files for the GTK+ graphical user interface library + +Package: libhunspell-1.2-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 336 +Maintainer: Debian OpenOffice Team +Architecture: i386 +Source: hunspell +Version: 1.2.6-1 +Depends: libc6 (>= 2.7-1), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1) +Recommends: myspell-en-us | myspell-dictionary | hunspell-dictionary +Conflicts: openoffice.org-core (= 2.2.0~rc2-1) +Description: spell checker and morphological analyzer (shared library) + +Package: libice6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 140 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libice +Version: 2:1.0.4-1 +Depends: libc6 (>= 2.6-1), x11-common +Description: X11 Inter-Client Exchange library + +Package: libjpeg62 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 164 +Maintainer: Bill Allombert +Architecture: i386 +Source: libjpeg6b +Version: 6b-14 +Depends: libc6 (>= 2.6.1-1) +Description: The Independent JPEG Group's JPEG runtime library + +Package: libkeyutils1 +Status: install ok installed +Priority: standard +Section: misc +Installed-Size: 56 +Maintainer: Daniel Baumann +Architecture: i386 +Source: keyutils +Version: 1.2-9 +Depends: libc6 (>= 2.7-1) +Description: Linux Key Management Utilities (library) + +Package: libkrb53 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 1188 +Maintainer: Sam Hartman +Architecture: i386 +Source: krb5 +Version: 1.6.dfsg.4~beta1-5lenny4 +Depends: libc6 (>= 2.7-1), libcomerr2 (>= 1.34), libkeyutils1 +Suggests: krb5-doc, krb5-user +Conflicts: libapache-mod-auth-kerb (<= 4.996-5.0-rc6-2), libapache2-mod-auth-kerb (<= 4.996-5.0-rc6-2), ssh-krb5 (<< 3.8.1p1-10) +Description: MIT Kerberos runtime libraries + +Package: liblcms1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 260 +Maintainer: Oleksandr Moskalenko +Architecture: i386 +Source: lcms +Version: 1.17.dfsg-1+lenny2 +Replaces: liblcms +Provides: liblcms +Depends: libc6 (>= 2.7-1) +Suggests: liblcms-utils +Conflicts: liblcms +Description: Color management library + +Package: liblocale-gettext-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 104 +Maintainer: Debian Perl Group +Architecture: i386 +Version: 1.05-4 +Depends: libc6 (>= 2.7-1) +Pre-Depends: perl-base (>= 5.10.0-9), perlapi-5.10.0 +Description: Using libc functions for internationalization in Perl + +Package: libmagic1 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 2412 +Maintainer: Daniel Baumann +Architecture: i386 +Source: file +Version: 4.26-1 +Depends: libc6 (>= 2.7-1), zlib1g (>= 1:1.1.4) +Suggests: file +Description: File type determination library using "magic" numbers + +Package: libmozjs1d +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 736 +Maintainer: Mike Hommey +Architecture: i386 +Source: xulrunner +Version: 1.9.0.19-1 +Depends: libc6 (>= 2.7-1), libnspr4-0d (>= 1.8.0.10) +Description: The Mozilla SpiderMonkey JavaScript library + +Package: libncurses5 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 584 +Maintainer: Daniel Baumann +Architecture: i386 +Source: ncurses +Version: 5.7+20081213-1 +Depends: libc6 (>= 2.7-1) +Recommends: libgpm2 +Description: shared libraries for terminal handling + +Package: libnewt0.52 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 820 +Maintainer: Alastair McKinstry +Architecture: i386 +Source: newt +Version: 0.52.2-11.3+lenny1 +Replaces: libnewt-utf8, libnewt0, libnewt0.51 +Depends: libc6 (>= 2.7-1), libslang2 (>= 2.0.7-1) +Recommends: libfribidi0 +Conflicts: libnewt0.51 +Description: Not Erik's Windowing Toolkit - text mode windowing with slang + +Package: libnspr4-0d +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 328 +Maintainer: Maintainers of Mozilla-related packages +Architecture: i386 +Source: nspr +Version: 4.7.1-5 +Depends: libc6 (>= 2.7-1) +Conflicts: libnspr4, libnspr4-dev (<= 4.7.1-1) +Description: NetScape Portable Runtime Library + +Package: libnss3-1d +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 2292 +Maintainer: Maintainers of Mozilla-related packages +Architecture: i386 +Source: nss +Version: 3.12.3.1-0lenny1 +Depends: libc6 (>= 2.7-1), libnspr4-0d (>= 1.8.0.10), libsqlite3-0 (>= 3.5.9), dpkg (<< 1.14.8) | dpkg (>= 1.14.18) +Conflicts: libnss3, libnss3-0d (>= 3.11.5), libnss3-dev (<= 3.12.0~rc3-1) +Description: Network Security Service libraries + +Package: libpango1.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 780 +Maintainer: Sebastien Bacher +Architecture: i386 +Source: pango1.0 +Version: 1.20.5-5+lenny1 +Provides: pango1.0-modver-1.6.0 +Depends: libpango1.0-common (>= 1.20.5-5+lenny1), libc6 (>= 2.7-1), libcairo2 (>= 1.6.4-6.1), libdatrie0 (>= 0.1.2), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libglib2.0-0 (>= 2.16.0), libthai0 (>= 0.1.9), libx11-6, libxft2 (>> 2.1.1), libxrender1, zlib1g (>= 1:1.1.4) +Conflicts: pango-libthai +Description: Layout and rendering of internationalized text + +Package: libpango1.0-common +Status: install ok installed +Priority: optional +Section: misc +Installed-Size: 204 +Maintainer: Sebastien Bacher +Architecture: all +Source: pango1.0 +Version: 1.20.5-5+lenny1 +Replaces: libpango-common (<< 1.0.0), libpango0 +Depends: debconf | debconf-2.0, defoma (>= 0.11.1), fontconfig (>= 2.1.91) +Recommends: x-ttcidfont-conf, libpango1.0-0 +Suggests: ttf-kochi-gothic, ttf-kochi-mincho, ttf-thryomanes, ttf-baekmuk, ttf-arphic-gbsn00lp, ttf-arphic-bsmi00lp, ttf-arphic-gkai00mp, ttf-arphic-bkai00mp +Conflicts: pango-libthai (<< 0.1.6-2) +Description: Modules and configuration files for the Pango + +Package: libpcre3 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 356 +Maintainer: Mark Baker +Architecture: i386 +Source: pcre3 +Version: 7.6-2.1 +Depends: libc6 (>= 2.7-1) +Conflicts: libpcre3-dev (<= 4.3-3) +Description: Perl 5 Compatible Regular Expression Library - runtime files + +Package: libpixman-1-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 220 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: pixman +Version: 0.10.0-2 +Depends: libc6 (>= 2.7-1) +Description: pixel-manipulation library for X and cairo + +Package: libpng12-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 316 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Source: libpng +Version: 1.2.27-2+lenny3 +Replaces: libpng12-dev (<= 1.2.8rel-7) +Depends: libc6 (>= 2.7-1), zlib1g (>= 1:1.1.4) +Conflicts: libpng12-dev (<= 1.2.8rel-7), mzscheme (<= 1:209-5), pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), povray-3.5 (<= 3.5.0c-10), qemacs (<= 0.3.1-5) +Description: PNG library - runtime + +Package: libpopt0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 192 +Maintainer: Paul Martin +Architecture: i386 +Source: popt +Version: 1.14-4 +Replaces: popt +Depends: libc6 (>= 2.7-1) +Conflicts: libpopt-dev (<= 1.4-1), popt, rpm (<= 4.0.2-3) +Description: lib for parsing cmdline parameters + +Package: libreadline5 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 320 +Maintainer: Matthias Klose +Architecture: i386 +Source: readline5 +Version: 5.2-3.1 +Depends: readline-common, libc6 (>= 2.7-1), libncurses5 (>= 5.6+20071006-3) +Description: GNU readline and history libraries, run-time libraries + +Package: libselinux1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 148 +Maintainer: Manoj Srivastava +Architecture: i386 +Source: libselinux +Version: 2.0.65-5 +Depends: libc6 (>= 2.7-1) +Description: SELinux shared libraries + +Package: libslang2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1104 +Maintainer: Alastair McKinstry +Architecture: i386 +Source: slang2 +Version: 2.1.3-3 +Depends: libc6 (>= 2.7-1) +Recommends: libpng12-0 +Description: The S-Lang programming library - runtime version + +Package: libsm6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libsm +Version: 2:1.0.3-2 +Depends: libc6 (>= 2.7-1), libice6 (>= 1:1.0.0), x11-common +Description: X11 Session Management library + +Package: libsqlite3-0 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 468 +Maintainer: Laszlo Boszormenyi (GCS) +Architecture: i386 +Source: sqlite3 +Version: 3.5.9-6 +Depends: libc6 (>= 2.7-1) +Description: SQLite 3 shared library + +Package: libstartup-notification0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Ondřej Surý +Architecture: i386 +Source: startup-notification +Version: 0.9-1 +Depends: libc6 (>= 2.3.6-6), libice6 (>= 1:1.0.0), libsm6, libx11-6 +Description: library for program launch feedback (shared library) + +Package: libstdc++6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1168 +Maintainer: Debian GCC Maintainers +Architecture: i386 +Source: gcc-4.3 +Version: 4.3.2-1.1 +Depends: gcc-4.3-base (= 4.3.2-1.1), libc6 (>= 2.7-1), libgcc1 (>= 1:4.1.1) +Conflicts: scim (<< 1.4.2-1) +Description: The GNU Standard C++ Library v3 + +Package: libsysfs2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 112 +Maintainer: Martin Pitt +Architecture: i386 +Source: sysfsutils +Version: 2.1.0-5 +Depends: libc6 (>= 2.7-1) +Description: interface library to sysfs + +Package: libtasn1-3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 164 +Maintainer: Debian GnuTLS Maintainers +Architecture: i386 +Version: 1.4-1 +Depends: libc6 (>= 2.7-1) +Conflicts: libtasn1-2 (= 0.3.1-1) +Description: Manage ASN.1 structures (runtime) + +Package: libtext-charwidth-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 36 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Source: libtext-charwidth-perl (0.04-5) +Version: 0.04-5+b1 +Depends: libc6 (>= 2.7-1), perl-base (>= 5.10.0-9), perlapi-5.10.0 +Description: get display widths of characters on the terminal + +Package: libtext-iconv-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 44 +Maintainer: Anibal Monsalve Salazar +Architecture: i386 +Source: libtext-iconv-perl (1.7-1) +Version: 1.7-1+b1 +Depends: libc6 (>= 2.7-1), perl-base (>= 5.10.0-9), perlapi-5.10.0 +Description: converts between character sets in Perl + +Package: libtext-wrapi18n-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 28 +Maintainer: Anibal Monsalve Salazar +Architecture: all +Version: 0.06-6 +Depends: libtext-charwidth-perl +Description: internationalized substitute of Text::Wrap + +Package: libthai-data +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 340 +Maintainer: Theppitak Karoonboonyanan +Architecture: all +Source: libthai +Version: 0.1.9-4+lenny1 +Description: Data files for Thai language support library + +Package: libthai0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 100 +Maintainer: Theppitak Karoonboonyanan +Architecture: i386 +Source: libthai +Version: 0.1.9-4+lenny1 +Depends: libc6 (>= 2.7-1), libdatrie0 (>= 0.1.2), libthai-data +Description: Thai language support library + +Package: libtiff4 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 456 +Maintainer: Jay Berkenbilt +Architecture: i386 +Source: tiff +Version: 3.8.2-11.2 +Depends: libc6 (>= 2.7-1), libjpeg62, zlib1g (>= 1:1.1.4) +Description: Tag Image File Format (TIFF) library + +Package: libts-0.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 108 +Maintainer: Neil Williams +Architecture: i386 +Source: tslib +Version: 1.0-4 +Replaces: libts0, tslib +Provides: libts0, tslib +Depends: libc6 (>= 2.7-1) +Conflicts: libts0, tslib +Description: touch screen library + +Package: libx11-6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 1240 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libx11 +Version: 2:1.1.5-2 +Depends: libc6 (>= 2.7-1), libxcb-xlib0, libxcb1, libx11-data +Conflicts: xlibs-data (<< 1:7.0.0) +Description: X11 client-side library + +Package: libx11-data +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 3108 +Maintainer: Debian X Strike Force +Architecture: all +Source: libx11 +Version: 2:1.1.5-2 +Replaces: libx11-6 (<= 2:1.0.0-1) +Description: X11 client-side library + +Package: libxau6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxau +Version: 1:1.0.3-3 +Depends: libc6 (>= 2.7-1) +Description: X11 authorisation library + +Package: libxcb-render-util0 +Status: install ok installed +Priority: extra +Section: libs +Installed-Size: 40 +Maintainer: Julien Danjou +Architecture: i386 +Source: xcb-util +Version: 0.2.1+git1-1 +Depends: libc6 (>= 2.7-1), libxcb-render0, libxcb1 +Description: utility libraries for X C Binding -- render-util + +Package: libxcb-render0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 88 +Maintainer: XCB Developers +Architecture: i386 +Source: libxcb +Version: 1.1-1.2 +Depends: libc6 (>= 2.7-1), libxcb1 +Description: X C Binding, render extension + +Package: libxcb-xlib0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 68 +Maintainer: XCB Developers +Architecture: i386 +Source: libxcb +Version: 1.1-1.2 +Depends: libc6 (>= 2.7-1), libxcb1 +Description: X C Binding, Xlib/XCB interface library + +Package: libxcb1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 160 +Maintainer: XCB Developers +Architecture: i386 +Source: libxcb +Version: 1.1-1.2 +Depends: libc6 (>= 2.7-1), libxau6, libxdmcp6 +Description: X C Binding + +Package: libxcomposite1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 60 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxcomposite +Version: 1:0.4.0-3 +Depends: libc6 (>= 2.7-1), libx11-6, libxext6, libxfixes3 (>= 1:4.0.1) +Description: X11 Composite extension library + +Package: libxcursor1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 80 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxcursor +Version: 1:1.1.9-1 +Depends: libc6 (>= 2.6-1), libx11-6, libxfixes3 (>= 1:4.0.1), libxrender1 +Description: X cursor management library + +Package: libxdamage1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 60 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxdamage +Version: 1:1.1.1-4 +Depends: libc6 (>= 2.7-1), libx11-6, libxfixes3 (>= 1:4.0.1) +Description: X11 damaged region extension library + +Package: libxdmcp6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 76 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxdmcp +Version: 1:1.0.2-3 +Depends: libc6 (>= 2.7-1) +Description: X11 Display Manager Control Protocol library + +Package: libxext6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 184 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxext +Version: 2:1.0.4-2 +Depends: libc6 (>= 2.7-1), libx11-6, libxau6, x11-common +Description: X11 miscellaneous extension library + +Package: libxfixes3 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxfixes +Version: 1:4.0.3-2 +Depends: libc6 (>= 2.3.6-6), libx11-6 +Pre-Depends: x11-common (>= 1:7.0.0) +Description: X11 miscellaneous 'fixes' extension library + +Package: libxft2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 132 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: xft +Version: 2.1.12-3 +Depends: libc6 (>= 2.7-1), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libx11-6, libxrender1, zlib1g (>= 1:1.1.4) +Description: FreeType-based font drawing library for X + +Package: libxi6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 148 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxi +Version: 2:1.1.4-1 +Depends: libc6 (>= 2.7-1), libx11-6, libxext6, x11-common +Description: X11 Input extension library + +Package: libxinerama1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 60 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxinerama +Version: 2:1.0.3-2 +Depends: libc6 (>= 2.7-1), libx11-6, libxext6 +Description: X11 Xinerama extension library + +Package: libxrandr2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxrandr +Version: 2:1.2.3-1 +Depends: libc6 (>= 2.7-1), libx11-6, libxext6, libxrender1 +Description: X11 RandR extension library + +Package: libxrender1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 88 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxrender +Version: 1:0.9.4-2 +Depends: libc6 (>= 2.7-1), libx11-6 +Description: X Rendering Extension client library + +Package: libxt6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 380 +Maintainer: Debian X Strike Force +Architecture: i386 +Source: libxt +Version: 1:1.0.5-3 +Depends: libc6 (>= 2.5-5), libice6 (>= 1:1.0.0), libsm6, libx11-6 +Pre-Depends: x11-common (>= 1:7.0.0) +Description: X11 toolkit intrinsics library + +Package: lsb-base +Status: install ok installed +Priority: required +Section: misc +Installed-Size: 72 +Maintainer: Chris Lawrence +Architecture: all +Source: lsb +Version: 3.2-20 +Replaces: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Depends: sed, ncurses-bin +Conflicts: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Description: Linux Standard Base 3.2 init script functionality + +Package: lzma +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 124 +Maintainer: Mohammed Adnène Trojette +Architecture: i386 +Version: 4.43-14 +Depends: libc6 (>= 2.7-1), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.2.1) +Description: Compression method of 7z format in 7-Zip program + +Package: ncurses-bin +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 480 +Maintainer: Daniel Baumann +Architecture: i386 +Source: ncurses +Version: 5.7+20081213-1 +Provides: tput +Pre-Depends: libc6 (>= 2.7-1), libncurses5 (>= 5.6+20071006-3) +Conflicts: ncurses, tput +Description: terminal-related programs and man pages + +Package: perl-base +Essential: yes +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 4316 +Maintainer: Brendan O'Dea +Architecture: i386 +Source: perl +Version: 5.10.0-19lenny2 +Replaces: libclass-multimethods-perl (<< 1.70-4), libperl5.8 (<< 5.8.0-20), libscalar-list-utils-perl, libxsloader-perl, perl (<= 5.10.0-9), perl-modules (<< 5.10.0-12) +Provides: libscalar-list-utils-perl, libxsloader-perl, perl5-base, perlapi-5.10.0 +Pre-Depends: libc6 (>= 2.7-1), dpkg (>= 1.14.20) +Suggests: perl +Conflicts: autoconf2.13 (<< 2.13-45), findimagedupes (<< 2.11-2), icheck (<< 0.9.7-6.1), libcflow-perl (<< 1:0.68-11.1), libclass-methodmaker-perl (<< 2.10-1), libclearsilver-perl (<< 0.10.4-1.1), libcrypt-openssl-bignum-perl (<< 0.04-1), libcrypt-openssl-dsa-perl (<< 0.13-3), libcrypt-openssl-random-perl (<< 0.04-1), libcrypt-openssl-rsa-perl (<< 0.25-1), libhamlib2-perl (<< 1.2.6.2-6), libqt-perl (<< 3.008-3), libscalar-list-utils-perl (<< 1:1.18-1), libsufary-perl (<< 2.1.1-8), libsys-cpu-perl (<< 0.40-2.1), libterm-size-perl (<< 0.2-4), libvideo-ivtv-perl (<< 0.13-6), libxsloader-perl (<< 0.08-1), megahal (<< 9.1.1a-5), razor (<< 1:2.84-6) +Description: minimal Perl system + +Package: perl-modules +Status: install ok installed +Priority: standard +Section: perl +Installed-Size: 14520 +Maintainer: Brendan O'Dea +Architecture: all +Source: perl +Version: 5.10.0-19lenny2 +Replaces: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libcgi-pm-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libpod-parser-perl, libpod-simple-perl, libtest-harness-perl, libtest-simple-perl, libversion-perl, podlators-perl +Provides: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libcgi-pm-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libpod-parser-perl, libpod-simple-perl, libtest-harness-perl, libtest-simple-perl, libversion-perl, podlators-perl +Depends: perl (>= 5.10.0-1) +Conflicts: libansicolor-perl (<< 1.10-1), libarchive-tar-perl (<= 1.38-2), libattribute-handlers-perl (<< 0.78.02-1), libcgi-pm-perl (<< 3.15-1), libcpanplus-perl (<< 0.83.09-1), libextutils-cbuilder-perl (<< 0.21-1), libextutils-parsexs-perl (<= 2.18), libfile-temp-perl (<< 0.18), libi18n-langtags-perl (<< 0.35-1), libio-zlib-perl (<< 1.07-1), liblocale-codes-perl (<< 2.06.1-1), liblocale-maketext-perl (<< 1.08-1), liblocale-maketext-simple-perl (<< 0.18-1), libmath-bigint-perl (<< 1.77-1), libmodule-build-perl (<< 0.2808.1-1), libmodule-corelist-perl (<< 2.13-1), libmodule-load-conditional-perl (<< 0.22-1), libmodule-load-perl (<< 0.12-1), libmodule-pluggable-perl (<< 3.6-1), libnet-perl (<= 1:1.19-3), libnet-ping-perl (<< 2.31-1), libparams-check-perl (<< 0.26-1), libpod-parser-perl (<< 1.32-1), libpod-simple-perl (<< 3.05-2), libtest-harness-perl (<< 2.56-1), libtest-simple-perl (<< 0.62-1), libversion-perl (<< 1:0.7400-2), podlators-perl (<< 2.2.0) +Description: Core Perl modules +Build-Essential: yes + +Package: perl +Status: install ok installed +Priority: standard +Section: perl +Installed-Size: 13524 +Maintainer: Brendan O'Dea +Architecture: i386 +Version: 5.10.0-19lenny2 +Replaces: libarchive-tar-perl (<= 1.38-2), libdigest-md5-perl, libdigest-sha-perl, libmime-base64-perl, libmodule-corelist-perl (<< 2.14-2), libstorable-perl, libtime-hires-perl, libtime-piece-perl, perl-base (<< 5.8.8-1), perl-doc (<< 5.8.0-1), perl-modules (<< 5.8.1-1) +Provides: data-dumper, libdigest-md5-perl, libdigest-sha-perl, libmime-base64-perl, libstorable-perl, libtime-hires-perl, libtime-piece-perl, perl5 +Depends: perl-base (= 5.10.0-19lenny2), perl-modules (>= 5.10.0-19lenny2), libc6 (>= 2.7-1), libdb4.6, libgdbm3 +Recommends: netbase +Suggests: perl-doc, libterm-readline-gnu-perl | libterm-readline-perl-perl +Conflicts: libdigest-md5-perl (<< 3.07-1), libdigest-sha-perl (<< 5.45-1), libmime-base64-perl (<< 3.07-1), libstorable-perl (<< 2.15-1), libtime-hires-perl (<< 1.86-1), libtime-piece-perl (<< 1.12-1), perl-doc (<< 5.10.0-1) +Description: Larry Wall's Practical Extraction and Report Language +Build-Essential: yes + +Package: readline-common +Status: install ok installed +Priority: important +Section: utils +Installed-Size: 136 +Maintainer: Matthias Klose +Architecture: all +Source: readline5 +Version: 5.2-3.1 +Replaces: libreadline-common, libreadline4 (<< 4.3-16), libreadline5 (<< 5.0-11) +Conflicts: libreadline-common, libreadline5 (<< 5.0-11) +Description: GNU readline and history libraries, common files + +Package: sed +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 628 +Maintainer: Clint Adams +Architecture: i386 +Version: 4.1.5-6 +Replaces: ssed (<< 3.59) +Pre-Depends: libc6 (>= 2.7-1) +Description: The GNU sed stream editor + +Package: ttf-dejavu-core +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 2488 +Maintainer: Debian Fonts Task Force +Architecture: all +Source: ttf-dejavu +Version: 2.25-3 +Replaces: ttf-dejavu (<< 2.20-1) +Depends: defoma +Conflicts: ttf-dejavu (<< 2.20-1) +Description: Vera font family derivate with additional characters + +Package: ttf-dejavu-extra +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 5504 +Maintainer: Debian Fonts Task Force +Architecture: all +Source: ttf-dejavu +Version: 2.25-3 +Replaces: ttf-dejavu (<< 2.20-1) +Depends: defoma, ttf-dejavu-core +Conflicts: ttf-dejavu (<< 2.20-1) +Description: Vera font family derivate with additional characters + +Package: ttf-dejavu +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 68 +Maintainer: Debian Fonts Task Force +Architecture: all +Version: 2.25-3 +Depends: ttf-dejavu-core, ttf-dejavu-extra +Conflicts: ttf-dejavu (<< 2.20-1) +Description: Metapackage to pull in ttf-dejavu-core and ttf-dejavu-extra +Task: bulgarian-desktop, hungarian-desktop, kurdish-desktop, macedonian-desktop, romanian-desktop, ukrainian-desktop + +Package: ucf +Status: install ok installed +Priority: standard +Section: utils +Installed-Size: 256 +Maintainer: Manoj Srivastava +Architecture: all +Version: 3.0016 +Depends: debconf (>= 1.5.19), coreutils (>= 5.91) +Description: Update Configuration File: preserve user changes to config files. + +Package: whiptail +Status: install ok installed +Priority: important +Section: utils +Installed-Size: 96 +Maintainer: Alastair McKinstry +Architecture: i386 +Source: newt +Version: 0.52.2-11.3+lenny1 +Replaces: newt0.10, newt0.21 (<< 0.21-4), whiptail-utf8 +Provides: whiptail-provider, whiptail-utf8 +Depends: libc6 (>= 2.7-1), libnewt0.52 (>= 0.52.2), libpopt0 (>= 1.14), libslang2 (>= 2.0.7-1) +Conflicts: whiptail-provider +Description: Displays user-friendly dialog boxes from shell scripts + +Package: x11-common +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 696 +Maintainer: Debian X Strike Force +Architecture: all +Source: xorg +Version: 1:7.3+20 +Replaces: x-common, xfree86-common, xorg-common, xserver-common (<< 7) +Depends: debconf (>= 0.5) | debconf-2.0, debianutils (>= 1.13), lsb-base (>= 1.3-9ubuntu2) +Pre-Depends: debconf | debconf-2.0 +Conflicts: aee (<= 2.2.15b-1), ascd (<= 0.13.2-3), beaver (<= 0.2.5-2), bibview (<= 2.2-8), bugsx (<= 1.08-8), buici-clock (<= 0.4.5+b1), communicator-smotif-477, ctwm (<= 3.7-2), emelfm (<= 0.9.2-7), epan, fte-xwindow (<= 0.50.0-1.3), fvwm1 (<= 1.24r-46), fvwm95 (<= 2.0.43ba-23+b1), gerstensaft (<= 0.2-5.1), ghostview, gipsc (<= 0.4.3-2), grace (<= 1:5.1.18-1), grace6 (<= 5.99.0+final-4), gradio (<= 1.0.1-6), groff (<= 1.18.1.1-7), guitar (<= 0.1.4-11), hamsoft (<< 0.2.3-1), hanterm-classic (<= 3.1.6.0-4), hanterm-xf (<= 1:3.3.1p18-9.2), hfsutils-tcltk (<= 3.2.6-7), ibp (<= 0.21-4), isdnutils-xtools (<= 1:3.8.2005-12-06-4), ivtools-bin (<= 1.1.3-5), ivtools-dev (<= 1.1.3-5), kdrill (<= 6.4-2.1), kinput2-canna (<= 3.1-7), kinput2-canna-wnn (<= 3.1-7), kinput2-wnn (<= 3.1-7), kterm (<= 6.2.0-45), lbxproxy (<< 7.0), libmotif-dev (<= 2.2.3-1.3), libxft-dev (<= 2.1.8.2-5), lm-batmon (<= 0.96-3), login.app (<= 1.2.1-18), lsb-core (<= 3.1-4), lwm (<= 1.2.1-1), mctools-lite (<= 970129-16), mgp (<= 1.11b-6), motif-clients (<= 2.2.3-1.3), navigator-smotif-477, netscape-base-4, olvwm (<= 4.4.3.2p1.4-21), olwm (<= 3.2p1.4-21), oneko (<= 1.2.sakura.6-1), opera (<< 9.10-20060616), pgaccess (<= 1:0.98.8.20030520-2), phototk, pixmap (<= 2.6pl4-14.1), plotmtv (<= 1.4.4t-8.1), pmud (<= 0.10-9), ppxp (<= 0.2001080415-14), ppxp-x11 (<= 0.2001080415-14), procmeter (<= 2.5.1-11), propsel (<= 971130-5.3), proxymngr (<< 7.0), qcam (<= 0.91-11.1), regexplorer (<= 0.1.6-12), seyon (<= 2.20c-20), skkinput (<= 1:2.06.4-4), stella (<< 2.2-1), tkdesk (<= 2.0-5), tkseti (<= 3.06-1), tkworld, twlog (<= 1.3-4), twm (<< 7.0), ucbmpeg-play (<< 2.3p-13), vide (<= 1.21-3), videogen (<= 0.32-1), vtwm (<= 5.4.7-2), w9wm (<= 0.4.2-4), wdm (<= 1.28-1), wily (<= 0.13.41-6), wmavgload (<= 0.7.0-6.1), wmcpu (<= 1.3-4.1), wmdate (<= 0.5-7.1), wmnet (<= 1.05-12), wmnetselect (<= 0.85-5.5), wmscope (<= 3.0-9.1), wmsensors (<= 1.0.4-3.4), wmtv (<= 0.6.5-15), x-common, xautolock (<= 1:2.1-6), xbanner (<= 1.31-23), xbase-clients (<< 1:7.0), xbatt (<= 1.2.1-4), xbattbar (<= 1.4.2-3.1), xcal (<= 4.1-18.2), xcalendar-i18n (<= 4.0.0.i18p1-13.1), xcb (<= 2.4-4), xclip (<= 0.08-5), xclips (<= 6.21-6), xcolors (<= 1.5a-2), xcolorsel (<= 1.1a-11), xdkcal (<= 0.9d-2.1), xdm (<= 1:1.0.1-6), xdmx (<< 1:1.0), xdu (<= 3.0-14), xearth (<= 1.1-10.2), xengine (<= 1.11-9), xephem (<= 3.4-5), xext, xezmlm (<= 1.0.3-11), xfaces (<= 3.3-25), xfishtank (<= 2.2-23.1), xfm (<= 1.4.3-8), xfractint (<< 20.3.01-1), xfree86-common, xfs (<< 1:1.0), xfs-xtt (<= 1:1.4.1.xf430-6), xftp, xfwp (<< 7.0), xgdipc (<= 1.2-0.3), xgmod (<= 3.1-9), xgobi, xgraph (<= 12.1-3), xinput (<= 1.2-5.2), xipmsg (<= 0.8088-1.1), xisp, xlbiff (<< 4.1-4), xli (<= 1.17.0-21), xlockmore (<= 1:5.21-1), xlockmore-gl (<= 1:5.21-1), xlogmaster (<= 1.6.0-8), xmailbox (<= 2.5-9), xmem (<= 1.20-19), xmeter (<= 1.15-6), xmh (<= 6.8.2.dfsg.1-4), xmix (<= 2.1-5), xmon (<= 1.5.6-1.3), xnecview (<= 1.34-2), xnest (<< 1:1.0), xodo (<= 1.2-9.2), xorg-common, xpaste, xpmumon (<= 1.3.0), xpostit (<= 3.3.1-8.2), xpostitplus, xprint (<= 1:0.1.0.alpha1-13), xrn (<= 9.02-7.1), xserver-common (<< 7), xserver-xfree86 (<< 1:7.0), xserver-xfree86-dbg, xserver-xorg (<< 1:7.3+11), xslideshow (<= 3.1-8.1), xsysinfo (<= 1.7-2), xtel (<= 3.3.0-5.4), xterm (<< 208-1), xtoolwait (<= 1.3-6), xtrkcad (<= 3.1.4-1), xtrlock (<= 2.0-11), xturqstat (<= 2.2.2sarge1), xutils (<< 1:7.0), xv (<= 3.10a-26), xvfb (<< 1:1.0), xview-clients (<= 3.2p1.4-21), xviewg (<= 3.2p1.4-21), xviewg-dev (<= 3.2p1.4-21), xvkbd (<= 2.6-2.1), xwit (<= 3.4-6), xxkb (<= 1.10-2.1), xzoom (<= 0.3-17), yank (<= 0.2.1-7.2) +Description: X Window System (X.Org) infrastructure + +Package: xulrunner-1.9 +Status: install ok installed +Priority: optional +Section: devel +Installed-Size: 17800 +Maintainer: Mike Hommey +Architecture: i386 +Source: xulrunner +Version: 1.9.0.19-1 +Replaces: xulrunner-1.9-common +Depends: libatk1.0-0 (>= 1.20.0), libbz2-1.0, libc6 (>= 2.7-1), libcairo2 (>= 1.6.0), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.12.0), libhunspell-1.2-0 (>= 1.2.4), libjpeg62, liblcms1 (>= 1.15-1), libmozjs1d (>= 1.9.0.15), libnspr4-0d (>> 4.7.1-1), libnss3-1d (>= 3.12.3), libpango1.0-0 (>= 1.20.3), libpng12-0 (>= 1.2.13-4), libreadline5 (>= 5.2), libsqlite3-0 (>= 3.5.9), libstartup-notification0 (>= 0.8-1), libstdc++6 (>= 4.1.1), libx11-6, libxrender1, libxt6, zlib1g (>= 1:1.1.4) +Suggests: xulrunner-1.9-gnome-support +Conflicts: j2re1.4, pango-graphite +Description: XUL + XPCOM application runner + +Package: zlib1g +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 128 +Maintainer: Mark Brown +Architecture: i386 +Source: zlib +Version: 1:1.2.3.3.dfsg-12 +Provides: libz1 +Depends: libc6 (>= 2.7-1) +Conflicts: zlib1 (<= 1:1.0.4-7) +Description: compression library - runtime + diff --git a/test/integration/test-bug-591882-conkeror b/test/integration/test-bug-591882-conkeror new file mode 100755 index 000000000..cba7e7665 --- /dev/null +++ b/test/integration/test-bug-591882-conkeror @@ -0,0 +1,75 @@ +#!/bin/sh +set -e + +local TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture "i386" +setupflataptarchive + +UPGRADEFAIL="Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + conkeror libdatrie0 libkrb53 libxcb-xlib0 xulrunner-1.9 +The following NEW packages will be installed: + gcc-4.4-base libavahi-client3 libavahi-common-data libavahi-common3 libc-bin + libdatrie1 libdb4.7 libdb4.8 libdbus-1-3 libgssapi-krb5-2 libjasper1 + libk5crypto3 libkrb5-3 libkrb5support0 liblzma2 libpam-modules libpam0g + libuuid1 libxcb-atom1 libxcb-aux0 libxcb-event1 libxml2 passwd + sensible-utils shared-mime-info xz-utils +The following packages will be upgraded: + coreutils debconf debconf-i18n debianutils defoma dpkg file fontconfig + fontconfig-config libacl1 libatk1.0-0 libattr1 libbz2-1.0 libc6 libcairo2 + libcomerr2 libcups2 libexpat1 libfontconfig1 libfreetype6 libgcc1 + libgcrypt11 libgdbm3 libglib2.0-0 libgnutls26 libgpg-error0 libgtk2.0-0 + libgtk2.0-common libhunspell-1.2-0 libice6 libjpeg62 libkeyutils1 + liblocale-gettext-perl libmagic1 libncurses5 libnewt0.52 libnspr4-0d + libnss3-1d libpango1.0-0 libpango1.0-common libpcre3 libpixman-1-0 + libpng12-0 libpopt0 libselinux1 libslang2 libsm6 libsqlite3-0 + libstartup-notification0 libstdc++6 libtasn1-3 libtext-charwidth-perl + libtext-iconv-perl libtext-wrapi18n-perl libthai-data libthai0 libtiff4 + libx11-6 libx11-data libxau6 libxcb-render-util0 libxcb-render0 libxcb1 + libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 + libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 lsb-base ncurses-bin perl + perl-base perl-modules readline-common sed ttf-dejavu-core ucf whiptail + x11-common zlib1g +87 upgraded, 26 newly installed, 5 to remove and 0 not upgraded. +Need to get 0B/54.4MB of archives. +After this operation, 12.4MB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." + +UPGRADESUCCESS="Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libdatrie0 libkrb53 libxcb-xlib0 xulrunner-1.9 +The following NEW packages will be installed: + gcc-4.4-base libasound2 libavahi-client3 libavahi-common-data + libavahi-common3 libc-bin libdatrie1 libdb4.7 libdb4.8 libdbus-1-3 + libgssapi-krb5-2 libjasper1 libk5crypto3 libkrb5-3 libkrb5support0 liblzma2 + libmozjs2d libpam-modules libpam0g libreadline6 libuuid1 libxcb-atom1 + libxcb-aux0 libxcb-event1 libxml2 passwd sensible-utils shared-mime-info + xulrunner-1.9.1 xz-utils +The following packages will be upgraded: + conkeror coreutils debconf debconf-i18n debianutils defoma dpkg file + fontconfig fontconfig-config libacl1 libatk1.0-0 libattr1 libbz2-1.0 libc6 + libcairo2 libcomerr2 libcups2 libexpat1 libfontconfig1 libfreetype6 libgcc1 + libgcrypt11 libgdbm3 libglib2.0-0 libgnutls26 libgpg-error0 libgtk2.0-0 + libgtk2.0-common libhunspell-1.2-0 libice6 libjpeg62 libkeyutils1 + liblocale-gettext-perl libmagic1 libncurses5 libnewt0.52 libnspr4-0d + libnss3-1d libpango1.0-0 libpango1.0-common libpcre3 libpixman-1-0 + libpng12-0 libpopt0 libselinux1 libslang2 libsm6 libsqlite3-0 + libstartup-notification0 libstdc++6 libtasn1-3 libtext-charwidth-perl + libtext-iconv-perl libtext-wrapi18n-perl libthai-data libthai0 libtiff4 + libx11-6 libx11-data libxau6 libxcb-render-util0 libxcb-render0 libxcb1 + libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 + libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 lsb-base ncurses-bin perl + perl-base perl-modules readline-common sed ttf-dejavu-core ucf whiptail + x11-common zlib1g +88 upgraded, 30 newly installed, 4 to remove and 0 not upgraded. +Need to get 0B/62.9MB of archives. +After this operation, 36.0MB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." + +# Test that the old behavior can be restored with the option +testequal "$UPGRADEFAIL" aptget dist-upgrade --trivial-only -o pkgProblemResolver::FixByInstall=0 +testequal "$UPGRADESUCCESS" aptget dist-upgrade --trivial-only #-o pkgProblemResolver::FixByInstall=0 -- cgit v1.2.3 From ea6db08d45e012d577f3081fa2070db9e034add9 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 16 Aug 2010 11:38:20 +0200 Subject: * apt-pkg/contrib/strutl.cc: - fix error checking for vsnprintf in its safe variant Spotted by -Wextra: contrib/strutl.cc: In function 'char* safe_snprintf(char*, char*, const char*, ...)': contrib/strutl.cc:1172:14: warning: comparison of unsigned expression < 0 is always false --- apt-pkg/contrib/strutl.cc | 2 +- debian/changelog | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc index ace74cb37..c1844de40 100644 --- a/apt-pkg/contrib/strutl.cc +++ b/apt-pkg/contrib/strutl.cc @@ -1161,7 +1161,7 @@ void strprintf(string &out,const char *format,...) char *safe_snprintf(char *Buffer,char *End,const char *Format,...) { va_list args; - unsigned long Did; + int Did; va_start(args,Format); diff --git a/debian/changelog b/debian/changelog index 671d9844e..23c1218d9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -37,8 +37,10 @@ apt (0.8.0~pre1) UNRELASED; urgency=low - purge packages in 'rc' state, thanks Rogier! (Closes: #150831) * apt-pkg/pkgcache.cc: - fix LongDesc handling in LANG=C environment + * apt-pkg/contrib/strutl.cc: + - fix error checking for vsnprintf in its safe variant - -- David Kalnischkies Fri, 13 Aug 2010 16:40:57 +0200 + -- David Kalnischkies Mon, 16 Aug 2010 11:35:53 +0200 apt (0.7.26~exp12) experimental; urgency=low -- cgit v1.2.3 From 6802b90c0871726f0018b2c3c059bf8c95a4a710 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 16 Aug 2010 12:12:51 +0200 Subject: * methods/bzip2.cc: - fix error checking for read in case of failing bzip2/lzma/whatever MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Spotted by -Wextra: bzip2.cc: In member function ‘virtual bool Bzip2Method::Fetch(pkgAcqMethod::FetchItem*)’: bzip2.cc:108:19: warning: comparison of unsigned expression < 0 is always false bzip2.cc:111:19: warning: comparison of unsigned expression < 0 is always false --- debian/changelog | 4 +++- methods/bzip2.cc | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 23c1218d9..f72cad087 100644 --- a/debian/changelog +++ b/debian/changelog @@ -39,8 +39,10 @@ apt (0.8.0~pre1) UNRELASED; urgency=low - fix LongDesc handling in LANG=C environment * apt-pkg/contrib/strutl.cc: - fix error checking for vsnprintf in its safe variant + * methods/bzip2.cc: + - fix error checking for read in case of failing bzip2/lzma/whatever - -- David Kalnischkies Mon, 16 Aug 2010 11:35:53 +0200 + -- David Kalnischkies Mon, 16 Aug 2010 12:07:54 +0200 apt (0.7.26~exp12) experimental; urgency=low diff --git a/methods/bzip2.cc b/methods/bzip2.cc index 19e49828e..241f21c66 100644 --- a/methods/bzip2.cc +++ b/methods/bzip2.cc @@ -102,9 +102,8 @@ bool Bzip2Method::Fetch(FetchItem *Itm) while (1) { unsigned char Buffer[4*1024]; - unsigned long Count; - Count = read(GzOut[0],Buffer,sizeof(Buffer)); + ssize_t Count = read(GzOut[0],Buffer,sizeof(Buffer)); if (Count < 0 && errno == EINTR) continue; -- cgit v1.2.3 From a23a7811d04b3f3f7ce761d025b684b3cf82b25e Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 18 Aug 2010 11:23:49 +0200 Subject: * debian/apt.cron.daily: - create backups for our extended_states file (Closes: #593430) --- debian/apt.cron.daily | 9 +++++++++ debian/changelog | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily index e59b05ee4..8c0e4c416 100644 --- a/debian/apt.cron.daily +++ b/debian/apt.cron.daily @@ -320,6 +320,15 @@ debug_echo() # ------------------------ main ---------------------------- +# Backup the 7 last versions of APT's extended_states file +# shameless copy from dpkg cron +if cd /var/backups ; then + if ! cmp -s apt.extended_states.0 /var/lib/apt/extended_states; then + cp -p /var/lib/apt/extended_states apt.extended_states + savelog -c 7 apt.extended_states >/dev/null + fi +fi + # check apt-config exstance if ! which apt-config >/dev/null ; then exit 0 diff --git a/debian/changelog b/debian/changelog index 2e8253bcf..4fdfb2769 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,8 +5,10 @@ apt (0.8.0~pre2) UNRELEASED; urgency=low - fix error checking for vsnprintf in its safe variant * methods/bzip2.cc: - fix error checking for read in case of failing bzip2/lzma/whatever + * debian/apt.cron.daily: + - create backups for our extended_states file (Closes: #593430) - -- David Kalnischkies Wed, 18 Aug 2010 01:32:02 +0200 + -- David Kalnischkies Wed, 18 Aug 2010 11:09:52 +0200 apt (0.8.0~pre1) experimental; urgency=low -- cgit v1.2.3 From ce9864a8bfdfc7f5380b3335a6a14f305d372d45 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 18 Aug 2010 12:56:57 +0200 Subject: implement the first round of automated dummy package building and archive building --- test/integration/framework | 129 +++++++++++++++++++-- .../test-bug-590041-prefer-non-virtual-packages | 2 +- ...g-590438-broken-provides-thanks-to-remove-order | 2 +- test/integration/test-bug-591882-conkeror | 2 +- 4 files changed, 125 insertions(+), 10 deletions(-) diff --git a/test/integration/framework b/test/integration/framework index 5e6c5427f..e3d77c5cd 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -92,10 +92,124 @@ configarchitecture() { done } -buildflataptarchive() { - msginfo "Build APT archive for ${CCMD}$0${CINFO}…" +buildsimplenativepackage() { + local NAME="$1" + local ARCH="$2" + local VERSION="$3" + local RELEASE="${4:-unstable}" + local DEPENDENCIES="$5" + local DESCRIPTION="$6" + msgndebug "Build package ${CCMD}${NAME}=${VERSION}/${RELEASE}${CDEBUG}… " + local BUILDDIR=incoming/${NAME}-${VERSION} + mkdir -p ${BUILDDIR}/debian/source + cd ${BUILDDIR} + echo "* most suckless software product ever" > FEATURES + test -e debian/copyright || (echo "Copyleft by Joe Sixpack $(date +%Y)" > debian/copyright) + test -e debian/changelog || (echo "$NAME ($VERSION) $RELEASE; urgency=low + + * Initial release + + -- Joe Sixpack $(date -R)" > debian/changelog) + test -e debian/control || (echo "Source: $NAME +Section: admin +Priority: optional +Maintainer: Joe Sixpack +Build-Depends: debhelper (>= 7) +Standards-Version: 3.9.1 + +Package: $NAME +Architecture: $ARCH" > debian/control) + test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> debian/control + if [ -z "$DESCRIPTION" ]; then + echo "Description: an autogenerated dummy ${NAME}=${VERSION}/${RELEASE} + If you find such a package installed on your system, + YOU did something horribly wrong! They are autogenerated + und used only by testcases for APT and surf no other propose…" >> debian/control + else + echo "Description: $DESCRIPTION" >> debian/control + fi + test -e debian/compat || (echo "7" > debian/compat) + test -e debian/source/format || (echo "3.0 (native)" > debian/source/format) + test -e debian/rules || cp /usr/share/doc/debhelper/examples/rules.tiny debian/rules + dpkg-buildpackage -uc -us -a$ARCH > /dev/null 2> /dev/null + cd - > /dev/null + rm -rf $BUILDDIR + msgdone "debug" +} + +buildaptarchive() { + msgninfo "Build APT archive for ${CCMD}$0${CINFO} based on " + if [ -d incoming ]; then + buildaptarchivefromincoming $* + else + buildaptarchivefromfiles $* + fi +} + +createaptftparchiveconfig() { + local ARCHS="$(find pool/ -name '*.deb' | grep -oE '_[a-z0-9-]+\.deb$' | sort | uniq | sed -e '/^_all.deb$/ d' -e 's#^_\([a-z0-9-]*\)\.deb$#\1#' | tr '\n' ' ')" + echo -n 'Dir { + ArchiveDir "' >> ftparchive.conf + echo -n $(readlink -f .) >> ftparchive.conf + echo -n '"; + CacheDir "' >> ftparchive.conf + echo -n $(readlink -f ..) >> ftparchive.conf + echo -n '"; +}; +TreeDefault { + Directory "pool/"; + SrcDirectory "pool/"; +}; +APT { + FTPArchive { + Release { + Origin "joesixpack"; + Label "apttestcases"; + Suite "unstable"; + Description "repository with dummy packages"; + Architectures "' >> ftparchive.conf + echo -n "$ARCHS" >> ftparchive.conf + echo 'source"; + }; + }; +};' >> ftparchive.conf + if [ -z "$1" ]; then + echo -n 'tree "dists/unstable" { + Architectures "' >> ftparchive.conf + echo -n "$ARCHS" >> ftparchive.conf + echo 'source"; + Sections "main"; +};' >> ftparchive.conf + fi +} + +buildaptftparchivedirectorystructure() { + local ARCHS="$(find pool/ -name '*.deb' | grep -oE '_[a-z0-9-]+\.deb$' | sort | uniq | sed -e '/^_all.deb$/ d' -e 's#^_\([a-z0-9-]*\)\.deb$#\1#')" + for arch in $ARCHS; do + mkdir -p dists/unstable/main/binary-${arch} + done + mkdir -p dists/unstable/main/source + mkdir -p dists/unstable/main/i18n +} + +buildaptarchivefromincoming() { + msginfo "incoming packages…" + cd aptarchive + [ -e pool ] || ln -s ../incoming pool + [ -e ftparchive.conf ] || createaptftparchiveconfig + [ -e dists ] || buildaptftparchivedirectorystructure + aptftparchive -qq generate ftparchive.conf + for dir in $(find ./dists -mindepth 1 -maxdepth 1 -type d); do + aptftparchive -qq release $dir > $dir/Release + sed -i -e '/0 Release$/ d' $dir/Release # remove the self reference + done + cd - > /dev/null + msgdone "info" +} + +buildaptarchivefromfiles() { + msginfo "prebuild files…" cd aptarchive - APTARCHIVE=$(readlink -f .) if [ -f Packages ]; then msgninfo "\tPackages file… " cat Packages | gzip > Packages.gz @@ -110,13 +224,14 @@ buildflataptarchive() { cat Sources | lzma > Sources.lzma msgdone "info" fi + aptftparchive -qq release . > Release + sed -i -e '/0 Release$/ d' Release # remove the self reference cd .. - aptftparchive release . > Release } -setupflataptarchive() { - buildflataptarchive - APTARCHIVE=$(readlink -f ./aptarchive) +setupaptarchive() { + buildaptarchive + local APTARCHIVE=$(readlink -f ./aptarchive) if [ -f ${APTARCHIVE}/Packages ]; then msgninfo "\tadd deb sources.list line… " echo "deb file://$APTARCHIVE /" > rootdir/etc/apt/sources.list.d/apt-test-archive-deb.list diff --git a/test/integration/test-bug-590041-prefer-non-virtual-packages b/test/integration/test-bug-590041-prefer-non-virtual-packages index aa9e487e1..3e2693f85 100755 --- a/test/integration/test-bug-590041-prefer-non-virtual-packages +++ b/test/integration/test-bug-590041-prefer-non-virtual-packages @@ -41,7 +41,7 @@ $pkglibc6 $pkglibdb1 EOF -setupflataptarchive +setupaptarchive testshowvirtual libc6:i386 testequal "$pkglibc6" aptcache show libc6:armel diff --git a/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order b/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order index 17ce50295..9fd7741f4 100755 --- a/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order +++ b/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order @@ -6,7 +6,7 @@ local TESTDIR=$(readlink -f $(dirname $0)) setupenvironment configarchitecture "i386" -setupflataptarchive +setupaptarchive pkgbasefile="Package: base-files Status: install ok installed diff --git a/test/integration/test-bug-591882-conkeror b/test/integration/test-bug-591882-conkeror index cba7e7665..b1dbb3a0a 100755 --- a/test/integration/test-bug-591882-conkeror +++ b/test/integration/test-bug-591882-conkeror @@ -5,7 +5,7 @@ local TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework setupenvironment configarchitecture "i386" -setupflataptarchive +setupaptarchive UPGRADEFAIL="Reading package lists... Building dependency tree... -- cgit v1.2.3 From fc89263e0dc1eceb016d52f2007a458b2dc5afaf Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 18 Aug 2010 13:20:16 +0200 Subject: add proper MSGLEVEL handling by overriding methods dynamic --- test/integration/framework | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/test/integration/framework b/test/integration/framework index e3d77c5cd..a4c857f17 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -28,11 +28,37 @@ msgskip() { echo "${CWARNING}SKIP${CNORMAL}" >&2; } msgfail() { echo "${CFAIL}FAIL${CNORMAL}" >&2; } # enable / disable Debugging -msginfo() { true; } -msgdebug() { true; } -msgninfo() { true; } -msgndebug() { true; } -msgdone() { if [ "$1" = "debug" -o "$1" = "info" ]; then true; else echo "${CDONE}DONE${CNORMAL}" >&2; fi } +MSGLEVEL=${MSGLEVEL:-3} +if [ $MSGLEVEL -le 0 ]; then + msgdie() { true; } +fi +if [ $MSGLEVEL -le 1 ]; then + msgwarn() { true; } + msgnwarn() { true; } +fi +if [ $MSGLEVEL -le 2 ]; then + msgmsg() { true; } + msgnmsg() { true; } +fi +if [ $MSGLEVEL -le 3 ]; then + msginfo() { true; } + msgninfo() { true; } +fi +if [ $MSGLEVEL -le 4 ]; then + msgdebug() { true; } + msgndebug() { true; } +fi +msgdone() { + if [ "$1" = "debug" -a $MSGLEVEL -le 4 ] || + [ "$1" = "info" -a $MSGLEVEL -le 3 ] || + [ "$1" = "msg" -a $MSGLEVEL -le 2 ] || + [ "$1" = "warn" -a $MSGLEVEL -le 1 ] || + [ "$1" = "die" -a $MSGLEVEL -le 0 ]; then + true; + else + echo "${CDONE}DONE${CNORMAL}" >&2; + fi +} runapt() { msgdebug "Executing: ${CCMD}$*${CDEBUG} " -- cgit v1.2.3 From b7899b004710a0050407d4c6cdfc792110dd03cd Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 18 Aug 2010 18:21:34 +0200 Subject: extend the magic which creates the test archive by using FileLists to ship the build packages in the correct distribution and section --- test/integration/framework | 119 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 91 insertions(+), 28 deletions(-) diff --git a/test/integration/framework b/test/integration/framework index a4c857f17..66a0b5dc7 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -125,26 +125,33 @@ buildsimplenativepackage() { local RELEASE="${4:-unstable}" local DEPENDENCIES="$5" local DESCRIPTION="$6" + local SECTION="${7:-others}" + local DISTSECTION + if [ "$SECTION" = "$(echo "$SECTION" | cut -d'/' -f 2)" ]; then + DISTSECTION="main" + else + DISTSECTION="$(echo "$SECTION" | cut -d'/' -f 1)" + fi msgndebug "Build package ${CCMD}${NAME}=${VERSION}/${RELEASE}${CDEBUG}… " local BUILDDIR=incoming/${NAME}-${VERSION} mkdir -p ${BUILDDIR}/debian/source cd ${BUILDDIR} echo "* most suckless software product ever" > FEATURES - test -e debian/copyright || (echo "Copyleft by Joe Sixpack $(date +%Y)" > debian/copyright) - test -e debian/changelog || (echo "$NAME ($VERSION) $RELEASE; urgency=low + test -e debian/copyright || echo "Copyleft by Joe Sixpack $(date +%Y)" > debian/copyright + test -e debian/changelog || echo "$NAME ($VERSION) $RELEASE; urgency=low * Initial release - -- Joe Sixpack $(date -R)" > debian/changelog) - test -e debian/control || (echo "Source: $NAME -Section: admin + -- Joe Sixpack $(date -R)" > debian/changelog + test -e debian/control || echo "Source: $NAME +Section: $SECTION Priority: optional Maintainer: Joe Sixpack Build-Depends: debhelper (>= 7) Standards-Version: 3.9.1 Package: $NAME -Architecture: $ARCH" > debian/control) +Architecture: $ARCH" > debian/control test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> debian/control if [ -z "$DESCRIPTION" ]; then echo "Description: an autogenerated dummy ${NAME}=${VERSION}/${RELEASE} @@ -154,17 +161,24 @@ Architecture: $ARCH" > debian/control) else echo "Description: $DESCRIPTION" >> debian/control fi - test -e debian/compat || (echo "7" > debian/compat) - test -e debian/source/format || (echo "3.0 (native)" > debian/source/format) + test -e debian/compat || echo "7" > debian/compat + test -e debian/source/format || echo "3.0 (native)" > debian/source/format test -e debian/rules || cp /usr/share/doc/debhelper/examples/rules.tiny debian/rules - dpkg-buildpackage -uc -us -a$ARCH > /dev/null 2> /dev/null + local BUILT="$(dpkg-buildpackage -uc -us -a$ARCH 2> /dev/null)" + local PKGS="$( echo "$BUILT" | grep '^dpkg-deb: building package' | cut -d'/' -f 2 | sed -e "s#'\.##")" + local SRCS="$( echo "$BUILT" | grep '^dpkg-source: info: building' | grep -o '[a-z0-9._-]*$')" cd - > /dev/null + for PKG in $PKGS; do + echo "pool/${PKG}" >> ./incoming/${RELEASE}.${DISTSECTION}.pkglist + done + for SRC in $SRCS; do + echo "pool/${SRC}" >> ./incoming/${RELEASE}.${DISTSECTION}.srclist + done rm -rf $BUILDDIR msgdone "debug" } buildaptarchive() { - msgninfo "Build APT archive for ${CCMD}$0${CINFO} based on " if [ -d incoming ]; then buildaptarchivefromincoming $* else @@ -181,6 +195,14 @@ createaptftparchiveconfig() { CacheDir "' >> ftparchive.conf echo -n $(readlink -f ..) >> ftparchive.conf echo -n '"; + FileListDir "' >> ftparchive.conf + echo -n $(readlink -f pool/) >> ftparchive.conf + echo -n '"; +}; +Default { + Packages::Compress ". gzip bzip2 lzma"; + Sources::Compress ". gzip bzip2 lzma"; + Contents::Compress ". gzip bzip2 lzma"; }; TreeDefault { Directory "pool/"; @@ -199,42 +221,61 @@ APT { }; }; };' >> ftparchive.conf - if [ -z "$1" ]; then - echo -n 'tree "dists/unstable" { + for DIST in $(find ./pool/ -maxdepth 1 -name '*.pkglist' -type f | cut -d'/' -f 3 | cut -d'.' -f 1 | sort | uniq); do + echo -n 'tree "dists/' >> ftparchive.conf + echo -n "$DIST" >> ftparchive.conf + echo -n '" { Architectures "' >> ftparchive.conf echo -n "$ARCHS" >> ftparchive.conf - echo 'source"; - Sections "main"; + echo -n 'source"; + FileList "' >> ftparchive.conf + echo -n "${DIST}.\$(SECTION).pkglist" >> ftparchive.conf + echo -n '"; + SourceFileList "' >> ftparchive.conf + echo -n "${DIST}.\$(SECTION).srclist" >> ftparchive.conf + echo -n '"; + Sections "' >> ftparchive.conf + echo -n "$(find ./pool/ -maxdepth 1 -name "${DIST}.*.pkglist" -type f | cut -d'/' -f 3 | cut -d'.' -f 2 | sort | uniq | tr '\n' ' ')" >> ftparchive.conf + echo '"; };' >> ftparchive.conf - fi + done + less ftparchive.conf } buildaptftparchivedirectorystructure() { - local ARCHS="$(find pool/ -name '*.deb' | grep -oE '_[a-z0-9-]+\.deb$' | sort | uniq | sed -e '/^_all.deb$/ d' -e 's#^_\([a-z0-9-]*\)\.deb$#\1#')" - for arch in $ARCHS; do - mkdir -p dists/unstable/main/binary-${arch} + local DISTS="$(grep -i '^tree ' ftparchive.conf | cut -d'/' -f 2 | sed -e 's#".*##')" + for DIST in $DISTS; do + local SECTIONS="$(grep -i -A 5 "dists/$DIST" ftparchive.conf | grep -i 'Sections' | cut -d'"' -f 2)" + for SECTION in $SECTIONS; do + local ARCHS="$(grep -A 5 "dists/$DIST" ftparchive.conf | grep Architectures | cut -d'"' -f 2 | sed -e 's#source##')" + for ARCH in $ARCHS; do + mkdir -p dists/${DIST}/${SECTION}/binary-${ARCH} + done + mkdir -p dists/${DIST}/${SECTION}/source + mkdir -p dists/${DIST}/${SECTION}/i18n + done done - mkdir -p dists/unstable/main/source - mkdir -p dists/unstable/main/i18n } buildaptarchivefromincoming() { - msginfo "incoming packages…" + msginfo "Build APT archive for ${CCMD}$0${CINFO} based on incoming packages…" cd aptarchive [ -e pool ] || ln -s ../incoming pool [ -e ftparchive.conf ] || createaptftparchiveconfig [ -e dists ] || buildaptftparchivedirectorystructure + msgninfo "\tGenerate Packages, Sources and Contents files… " aptftparchive -qq generate ftparchive.conf + msgdone "info" + msgninfo "\tGenerate Release files… " for dir in $(find ./dists -mindepth 1 -maxdepth 1 -type d); do - aptftparchive -qq release $dir > $dir/Release - sed -i -e '/0 Release$/ d' $dir/Release # remove the self reference + aptftparchive -qq release $dir | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference done cd - > /dev/null msgdone "info" } buildaptarchivefromfiles() { - msginfo "prebuild files…" + msginfo "Build APT archive for ${CCMD}$0${CINFO} based on prebuild files…" cd aptarchive if [ -f Packages ]; then msgninfo "\tPackages file… " @@ -250,13 +291,26 @@ buildaptarchivefromfiles() { cat Sources | lzma > Sources.lzma msgdone "info" fi - aptftparchive -qq release . > Release - sed -i -e '/0 Release$/ d' Release # remove the self reference + msgninfo "\tRelease file… " + aptftparchive -qq release . | sed -e '/0 Release$/ d' > Release # remove the self reference + msgdone "info" cd .. } -setupaptarchive() { - buildaptarchive +setupdistsaptarchive() { + local APTARCHIVE=$(readlink -f ./aptarchive) + rm -f root/etc/apt/sources.list.d/apt-test-*-deb.list + rm -f root/etc/apt/sources.list.d/apt-test-*-deb-src.list + for DISTS in $(find ./aptarchive/dists/ -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 4); do + SECTIONS=$(find ./aptarchive/dists/${DISTS}/ -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 5 | tr '\n' ' ') + msgninfo "\tadd deb and deb-src sources.list lines for ${CCMD}${DISTS} ${SECTIONS}${CINFO}… " + echo "deb file://$APTARCHIVE $DISTS $SECTIONS" > rootdir/etc/apt/sources.list.d/apt-test-${DISTS}-deb.list + echo "deb-src file://$APTARCHIVE $DISTS $SECTIONS" > rootdir/etc/apt/sources.list.d/apt-test-${DISTS}-deb-src.list + msgdone "info" + done +} + +setupflataptarchive() { local APTARCHIVE=$(readlink -f ./aptarchive) if [ -f ${APTARCHIVE}/Packages ]; then msgninfo "\tadd deb sources.list line… " @@ -272,6 +326,15 @@ setupaptarchive() { else rm -f rootdir/etc/apt/sources.list.d/apt-test-archive-deb-src.list fi +} + +setupaptarchive() { + buildaptarchive + if [ -e aptarchive/dists ]; then + setupdistsaptarchive + else + setupflataptarchive + fi aptget update -qq } -- cgit v1.2.3 From cffea9af1a8819e7caf6d8655318867660a05bec Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 18 Aug 2010 21:03:50 +0200 Subject: setup the environment correctly for dpkg, too --- test/integration/framework | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/test/integration/framework b/test/integration/framework index 66a0b5dc7..e964235b0 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -84,14 +84,16 @@ setupenvironment() { cd $TMPWORKINGDIRECTORY mkdir rootdir aptarchive cd rootdir - mkdir -p etc/apt/apt.conf.d etc/apt/sources.list.d etc/apt/trusted.gpg.d etc/apt/preferences.d var/cache var/lib/dpkg - mkdir -p var/cache/apt/archives/partial var/lib/apt/lists/partial + mkdir -p etc/apt/apt.conf.d etc/apt/sources.list.d etc/apt/trusted.gpg.d etc/apt/preferences.d var/cache + mkdir -p var/log/apt var/lib/apt + mkdir -p var/lib/dpkg/info var/lib/dpkg/updates var/lib/dpkg/triggers local STATUSFILE=$(echo "$(basename $0)" | sed 's/^test-/status-/') if [ -f "${TESTDIR}/${STATUSFILE}" ]; then cp "${TESTDIR}/${STATUSFILE}" var/lib/dpkg/status else touch var/lib/dpkg/status fi + touch var/lib/apt/extended_states var/lib/dpkg/available mkdir -p usr/lib/apt ln -s ${BUILDDIRECTORY}/methods usr/lib/apt/methods cd .. @@ -101,9 +103,15 @@ setupenvironment() { else touch aptarchive/Packages fi - echo "RootDir \"${TMPWORKINGDIRECTORY}/rootdir\";" > aptconfig.conf + echo "Dir \"${TMPWORKINGDIRECTORY}/rootdir\";" > aptconfig.conf echo "Debug::NoLocking \"true\";" >> aptconfig.conf echo "APT::Get::Show-User-Simulation-Note \"false\";" >> aptconfig.conf + echo "Dir::Bin::dpkg \"fakeroot\";" >> aptconfig.conf + echo "DPKG::options:: \"dpkg\";" >> aptconfig.conf + echo "DPKG::options:: \"--root=${TMPWORKINGDIRECTORY}/rootdir\";" >> aptconfig.conf + echo "DPKG::options:: \"--force-not-root\";" >> aptconfig.conf + echo "DPKG::options:: \"--force-bad-path\";" >> aptconfig.conf + echo "DPKG::options:: \"--log=${TMPWORKINGDIRECTORY}/rootdir/var/log/dpkg.log\";" >> aptconfig.conf export LC_ALL=C msgdone "info" } @@ -132,7 +140,7 @@ buildsimplenativepackage() { else DISTSECTION="$(echo "$SECTION" | cut -d'/' -f 1)" fi - msgndebug "Build package ${CCMD}${NAME}=${VERSION}/${RELEASE}${CDEBUG}… " + msgninfo "Build package ${CCMD}${NAME}=${VERSION}/${RELEASE}${CINFO}… " local BUILDDIR=incoming/${NAME}-${VERSION} mkdir -p ${BUILDDIR}/debian/source cd ${BUILDDIR} @@ -175,7 +183,7 @@ Architecture: $ARCH" > debian/control echo "pool/${SRC}" >> ./incoming/${RELEASE}.${DISTSECTION}.srclist done rm -rf $BUILDDIR - msgdone "debug" + msgdone "info" } buildaptarchive() { @@ -239,7 +247,6 @@ APT { echo '"; };' >> ftparchive.conf done - less ftparchive.conf } buildaptftparchivedirectorystructure() { -- cgit v1.2.3 From 4368851d55589a55fc10ff347890d8bbf33ee002 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 19 Aug 2010 00:04:05 +0200 Subject: * apt-pkg/init.cc: - set the default values for dir::etc::trusted options correctly --- apt-pkg/indexcopy.cc | 5 ++--- apt-pkg/init.cc | 3 +++ debian/changelog | 4 +++- methods/gpgv.cc | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index b4e587d7b..a2a1d5934 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -661,9 +661,8 @@ bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG, { string const gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv"); // FIXME: remove support for deprecated APT::GPGV setting - string const trustedFile = _config->FindFile("Dir::Etc::Trusted", - _config->Find("APT::GPGV::TrustedKeyring", "/etc/apt/trusted.gpg").c_str()); - string const trustedPath = _config->FindDir("Dir::Etc::TrustedParts", "/etc/apt/trusted.gpg.d"); + string const trustedFile = _config->FindFile("Dir::Etc::Trusted"); + string const trustedPath = _config->FindDir("Dir::Etc::TrustedParts"); bool const Debug = _config->FindB("Debug::Acquire::gpgv", false); diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc index 7a332c86e..846b27313 100644 --- a/apt-pkg/init.cc +++ b/apt-pkg/init.cc @@ -70,6 +70,9 @@ bool pkgInitConfig(Configuration &Cnf) Cnf.Set("Dir::Etc::parts","apt.conf.d"); Cnf.Set("Dir::Etc::preferences","preferences"); Cnf.Set("Dir::Etc::preferencesparts","preferences.d"); + string const deprecated = _config->Find("APT::GPGV::TrustedKeyring"); + Cnf.Set("Dir::Etc::trusted", deprecated.empty() ? "trusted.gpg" : deprecated); + Cnf.Set("Dir::Etc::trustedparts","trusted.gpg.d"); Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods"); Cnf.Set("Dir::Media::MountPath","/media/apt"); diff --git a/debian/changelog b/debian/changelog index 4fdfb2769..91300e10c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,8 +7,10 @@ apt (0.8.0~pre2) UNRELEASED; urgency=low - fix error checking for read in case of failing bzip2/lzma/whatever * debian/apt.cron.daily: - create backups for our extended_states file (Closes: #593430) + * apt-pkg/init.cc: + - set the default values for dir::etc::trusted options correctly - -- David Kalnischkies Wed, 18 Aug 2010 11:09:52 +0200 + -- David Kalnischkies Thu, 19 Aug 2010 00:01:30 +0200 apt (0.8.0~pre1) experimental; urgency=low diff --git a/methods/gpgv.cc b/methods/gpgv.cc index 018e4f622..efe1f73f7 100644 --- a/methods/gpgv.cc +++ b/methods/gpgv.cc @@ -69,7 +69,7 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, { // TRANSLATOR: %s is the trusted keyring parts directory ioprintf(ret, _("No keyring installed in %s."), - _config->FindDir("Dir::Etc::TrustedParts", "/etc/apt/trusted.gpg.d").c_str()); + _config->FindDir("Dir::Etc::TrustedParts").c_str()); return ret.str(); } exit(111); -- cgit v1.2.3 From 754b55091a75ddf3be5bf39df0c5021ff3e567e0 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 19 Aug 2010 00:10:25 +0200 Subject: * ftparchive/writer.cc: - init valid-until correctly to prevent garbage entering Release file --- debian/changelog | 4 +++- ftparchive/writer.cc | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 91300e10c..ecd1b24d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,8 +9,10 @@ apt (0.8.0~pre2) UNRELEASED; urgency=low - create backups for our extended_states file (Closes: #593430) * apt-pkg/init.cc: - set the default values for dir::etc::trusted options correctly + * ftparchive/writer.cc: + - init valid-until correctly to prevent garbage entering Release file - -- David Kalnischkies Thu, 19 Aug 2010 00:01:30 +0200 + -- David Kalnischkies Thu, 19 Aug 2010 00:09:00 +0200 apt (0.8.0~pre1) experimental; urgency=low diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc index 650eec57c..58e32dade 100644 --- a/ftparchive/writer.cc +++ b/ftparchive/writer.cc @@ -925,7 +925,7 @@ ReleaseWriter::ReleaseWriter(string const &DB) } time_t const validuntil = now + _config->FindI("APT::FTPArchive::Release::ValidTime", 0); - char validstr[128]; + char validstr[128] = ""; if (now == validuntil || strftime(validstr, sizeof(validstr), "%a, %d %b %Y %H:%M:%S UTC", gmtime(&validuntil)) == 0) -- cgit v1.2.3 From 86f33b2382bbc8a4c06343801564f6a74e3081f4 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 19 Aug 2010 00:31:55 +0200 Subject: * apt-pkg/deb/debsystem.cc: - set dir::state::status based at least on dir --- apt-pkg/deb/debsystem.cc | 2 +- debian/changelog | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index 7056d771d..ab08a8f4d 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -165,7 +165,7 @@ bool debSystem::Initialize(Configuration &Cnf) which is yet to be determined. The functions in pkgcachegen should be the only users of these */ Cnf.CndSet("Dir::State::extended_states", Cnf.FindDir("Dir::State").append("extended_states")); - Cnf.CndSet("Dir::State::status","/var/lib/dpkg/status"); + Cnf.CndSet("Dir::State::status", Cnf.FindDir("Dir", "/").append("var/lib/dpkg/status")); Cnf.CndSet("Dir::Bin::dpkg","/usr/bin/dpkg"); if (StatusFile) { diff --git a/debian/changelog b/debian/changelog index ecd1b24d1..88b22c01b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,8 +11,10 @@ apt (0.8.0~pre2) UNRELEASED; urgency=low - set the default values for dir::etc::trusted options correctly * ftparchive/writer.cc: - init valid-until correctly to prevent garbage entering Release file + * apt-pkg/deb/debsystem.cc: + - set dir::state::status based at least on dir - -- David Kalnischkies Thu, 19 Aug 2010 00:09:00 +0200 + -- David Kalnischkies Thu, 19 Aug 2010 00:28:21 +0200 apt (0.8.0~pre1) experimental; urgency=low -- cgit v1.2.3 From cd725954f6df5b809fe8d90ee135e222d1cef30e Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 19 Aug 2010 00:32:56 +0200 Subject: sign the created Release files with our own dummy key "Joe Sixpack" --- test/integration/framework | 15 ++++++++++++--- test/integration/joesixpack.pub | Bin 0 -> 639 bytes test/integration/joesixpack.sec | Bin 0 -> 1290 bytes 3 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 test/integration/joesixpack.pub create mode 100644 test/integration/joesixpack.sec diff --git a/test/integration/framework b/test/integration/framework index e964235b0..01b795ba9 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -82,7 +82,7 @@ setupenvironment() { local OLDWORKINGDIRECTORY=$(pwd) trap "cd /; rm -rf $TMPWORKINGDIRECTORY; cd $OLDWORKINGDIRECTORY" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM cd $TMPWORKINGDIRECTORY - mkdir rootdir aptarchive + mkdir rootdir aptarchive keys cd rootdir mkdir -p etc/apt/apt.conf.d etc/apt/sources.list.d etc/apt/trusted.gpg.d etc/apt/preferences.d var/cache mkdir -p var/log/apt var/lib/apt @@ -93,7 +93,7 @@ setupenvironment() { else touch var/lib/dpkg/status fi - touch var/lib/apt/extended_states var/lib/dpkg/available + touch var/lib/dpkg/available mkdir -p usr/lib/apt ln -s ${BUILDDIRECTORY}/methods usr/lib/apt/methods cd .. @@ -103,6 +103,8 @@ setupenvironment() { else touch aptarchive/Packages fi + cp $(find $TESTDIR -name '*.pub' -o -name '*.sec') keys/ + ln -s ${TMPWORKINGDIRECTORY}/keys/joesixpack.pub rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg echo "Dir \"${TMPWORKINGDIRECTORY}/rootdir\";" > aptconfig.conf echo "Debug::NoLocking \"true\";" >> aptconfig.conf echo "APT::Get::Show-User-Simulation-Note \"false\";" >> aptconfig.conf @@ -275,7 +277,7 @@ buildaptarchivefromincoming() { msgdone "info" msgninfo "\tGenerate Release files… " for dir in $(find ./dists -mindepth 1 -maxdepth 1 -type d); do - aptftparchive -qq release $dir | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference + aptftparchive -qq release $dir -o APT::FTPArchive::Release::Codename="$(echo "$dir" | cut -d'/' -f 3)" | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference done cd - > /dev/null msgdone "info" @@ -342,7 +344,14 @@ setupaptarchive() { else setupflataptarchive fi + msgninfo "\tSign archive with Joe Sixpack key… " + for RELEASE in $(find aptarchive/ -name Release); do + gpg --no-default-keyring --secret-keyring ./keys/joesixpack.sec --keyring ./keys/joesixpack.pub --default-key Joe -abs -o ${RELEASE}.gpg ${RELEASE} + done + msgdone "info" + msgninfo "\tSync APT's cache with the archive… " aptget update -qq + msgdone "info" } diff() { diff --git a/test/integration/joesixpack.pub b/test/integration/joesixpack.pub new file mode 100644 index 000000000..2b40b97b6 Binary files /dev/null and b/test/integration/joesixpack.pub differ diff --git a/test/integration/joesixpack.sec b/test/integration/joesixpack.sec new file mode 100644 index 000000000..92aaada76 Binary files /dev/null and b/test/integration/joesixpack.sec differ -- cgit v1.2.3 From 75954ae2420ae7755d8482f2f1eecc03595a5153 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 20 Aug 2010 19:09:16 +0200 Subject: * apt-pkg/deb/dpkgpm.cc: - use the InstVer instead of the CurrentVer for the autobit transfer Add also a small testcase to check the handling automatical --- apt-pkg/deb/dpkgpm.cc | 6 ++-- debian/changelog | 4 ++- test/integration/framework | 54 +++++++++++++++++++++++++---- test/integration/test-disappearing-packages | 54 +++++++++++++++++++++++++++++ 4 files changed, 108 insertions(+), 10 deletions(-) create mode 100755 test/integration/test-disappearing-packages diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index aa0b04bd5..5530ef129 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -554,7 +554,7 @@ void pkgDPkgPM::handleDisappearAction(string const &pkgname) // the disappeared package was auto-installed - nothing to do if ((Cache[Pkg].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) return; - pkgCache::VerIterator PkgVer = Pkg.CurrentVer(); + pkgCache::VerIterator PkgVer = Cache[Pkg].InstVerIter(Cache); if (unlikely(PkgVer.end() == true)) return; /* search in the list of dependencies for (Pre)Depends, @@ -571,7 +571,9 @@ void pkgDPkgPM::handleDisappearAction(string const &pkgname) // the package is already marked as manual if ((Cache[Tar].Flags & pkgCache::Flag::Auto) != pkgCache::Flag::Auto) continue; - pkgCache::VerIterator TarVer = Tar.CurrentVer(); + pkgCache::VerIterator TarVer = Cache[Tar].InstVerIter(Cache); + if (TarVer.end() == true) + continue; for (pkgCache::DepIterator Rep = TarVer.DependsList(); Rep.end() != true; ++Rep) { if (Rep->Type != pkgCache::Dep::Replaces) diff --git a/debian/changelog b/debian/changelog index 88b22c01b..a08dce97f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,8 +13,10 @@ apt (0.8.0~pre2) UNRELEASED; urgency=low - init valid-until correctly to prevent garbage entering Release file * apt-pkg/deb/debsystem.cc: - set dir::state::status based at least on dir + * apt-pkg/deb/dpkgpm.cc: + - use the InstVer instead of the CurrentVer for the autobit transfer - -- David Kalnischkies Thu, 19 Aug 2010 00:28:21 +0200 + -- David Kalnischkies Fri, 20 Aug 2010 19:06:29 +0200 apt (0.8.0~pre1) experimental; urgency=low diff --git a/test/integration/framework b/test/integration/framework index 01b795ba9..82fca2046 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -74,13 +74,13 @@ aptget() { runapt apt-get $*; } aptftparchive() { runapt apt-ftparchive $*; } setupenvironment() { - local TMPWORKINGDIRECTORY=$(mktemp -d) + TMPWORKINGDIRECTORY=$(mktemp -d) local TESTDIR=$(readlink -f $(dirname $0)) msgninfo "Preparing environment for ${CCMD}$0${CINFO} in ${TMPWORKINGDIRECTORY}… " BUILDDIRECTORY="${TESTDIR}/../../build/bin" test -x "${BUILDDIRECTORY}/apt-get" || msgdie "You need to build tree first" local OLDWORKINGDIRECTORY=$(pwd) - trap "cd /; rm -rf $TMPWORKINGDIRECTORY; cd $OLDWORKINGDIRECTORY" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM +# trap "cd /; rm -rf $TMPWORKINGDIRECTORY; cd $OLDWORKINGDIRECTORY" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM cd $TMPWORKINGDIRECTORY mkdir rootdir aptarchive keys cd rootdir @@ -128,7 +128,7 @@ configarchitecture() { done } -buildsimplenativepackage() { +setupsimplenativepackage() { local NAME="$1" local ARCH="$2" local VERSION="$3" @@ -142,7 +142,6 @@ buildsimplenativepackage() { else DISTSECTION="$(echo "$SECTION" | cut -d'/' -f 1)" fi - msgninfo "Build package ${CCMD}${NAME}=${VERSION}/${RELEASE}${CINFO}… " local BUILDDIR=incoming/${NAME}-${VERSION} mkdir -p ${BUILDDIR}/debian/source cd ${BUILDDIR} @@ -174,17 +173,47 @@ Architecture: $ARCH" > debian/control test -e debian/compat || echo "7" > debian/compat test -e debian/source/format || echo "3.0 (native)" > debian/source/format test -e debian/rules || cp /usr/share/doc/debhelper/examples/rules.tiny debian/rules + cd - > /dev/null +} + +buildsimplenativepackage() { + local NAME="$1" + local ARCH="$2" + local VERSION="$3" + local RELEASE="${4:-unstable}" + local DEPENDENCIES="$5" + local DESCRIPTION="$6" + local SECTION="${7:-others}" + local DISTSECTION + if [ "$SECTION" = "$(echo "$SECTION" | cut -d'/' -f 2)" ]; then + DISTSECTION="main" + else + DISTSECTION="$(echo "$SECTION" | cut -d'/' -f 1)" + fi + setupsimplenativepackage "$NAME" "$ARCH" "$VERSION" "$RELEASE" "$DEPENDENCIES" "$DESCRIPTION" "$SECTION" + buildpackage "incoming/${NAME}-${VERSION}" "$RELEASE" "$DISTSECTION" + rm -rf "incoming/${NAME}-${VERSION}" +} + +buildpackage() { + local BUILDDIR=$1 + local RELEASE=$2 + local SECTION=$3 + msgninfo "Build package $(echo "$BUILDDIR" | grep -o '[^/]*$') for ${RELEASE} in ${SECTION}… " + cd $BUILDDIR + if [ "$ARCH" = "all" ]; then + ARCH="$(dpkg-architecture -qDEB_HOST_ARCH 2> /dev/null)" + fi local BUILT="$(dpkg-buildpackage -uc -us -a$ARCH 2> /dev/null)" local PKGS="$( echo "$BUILT" | grep '^dpkg-deb: building package' | cut -d'/' -f 2 | sed -e "s#'\.##")" local SRCS="$( echo "$BUILT" | grep '^dpkg-source: info: building' | grep -o '[a-z0-9._-]*$')" cd - > /dev/null for PKG in $PKGS; do - echo "pool/${PKG}" >> ./incoming/${RELEASE}.${DISTSECTION}.pkglist + echo "pool/${PKG}" >> ${TMPWORKINGDIRECTORY}/incoming/${RELEASE}.${SECTION}.pkglist done for SRC in $SRCS; do - echo "pool/${SRC}" >> ./incoming/${RELEASE}.${DISTSECTION}.srclist + echo "pool/${SRC}" >> ${TMPWORKINGDIRECTORY}/incoming/${RELEASE}.${SECTION}.srclist done - rm -rf $BUILDDIR msgdone "info" } @@ -365,6 +394,17 @@ diff() { fi } +testfileequal() { + local FILE="$1" + shift + msgtest "Test for correctness of file" "$FILE" + if [ -z "$*" ]; then + echo -n "" | diff $FILE - && msgpass || msgfail + else + echo "$*" | diff $FILE - && msgpass || msgfail + fi +} + testequal() { local COMPAREFILE=$(mktemp) echo "$1" > $COMPAREFILE diff --git a/test/integration/test-disappearing-packages b/test/integration/test-disappearing-packages new file mode 100755 index 000000000..ebf2bb14f --- /dev/null +++ b/test/integration/test-disappearing-packages @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +local TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture "i386" + +buildsimplenativepackage "old-pkg" "i386" "1.0" "stable" +buildsimplenativepackage "unrelated" "all" "0.5" "unstable" + +setupsimplenativepackage "new-pkg" "i386" "2.0" "unstable" "Provides: old-pkg +Replaces: old-pkg +Conflicts: old-pkg (<< 2.0)" +local BUILDDIR="incoming/new-pkg-2.0" +echo "/usr/share/doc/new-pkg /usr/share/doc/old-pkg" > ${BUILDDIR}/debian/new-pkg.links +buildpackage "$BUILDDIR" "unstable" "main" +rm -rf "$BUILDDIR" + +setupsimplenativepackage "old-pkg" "all" "2.0" "unstable" "Depends: new-pkg" +local BUILDDIR="incoming/old-pkg-2.0" +echo "/usr/share/doc/new-pkg /usr/share/doc/old-pkg" > ${BUILDDIR}/debian/old-pkg.links +echo " +override_dh_link: + rm -rf debian/old-pkg/usr/share/doc/old-pkg/ + dh_link" >> ${BUILDDIR}/debian/rules +buildpackage "$BUILDDIR" "unstable" "main" +rm -rf "$BUILDDIR" + +setupaptarchive + +aptget install old-pkg=1.0 --trivial-only -qq 2>&1 > /dev/null + +testfileequal "rootdir/var/lib/apt/extended_states" "" # old-pkg is manual installed + +local CMD="aptget dist-upgrade -y -q=0" +msgtest "Test for equality of" "$CMD" +local COMPAREFILE=$(mktemp) +echo "The following package disappeared from your system as +all files have been overwritten by other packages: + old-pkg +Note: This is done automatic and on purpose by dpkg." > $COMPAREFILE +$CMD 2>&1 | tail -n 4 | diff $COMPAREFILE - && msgpass || msgfail +rm $COMPAREFILE + +sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d' +testfileequal "rootdir/var/log/apt/history.log" " +Install: old-pkg:i386 (1.0) + +Install: new-pkg:i386 (2.0, automatic) +Upgrade: old-pkg:i386 (1.0, 2.0) +Disappeared: old-pkg (1.0)" + +testfileequal "rootdir/var/lib/apt/extended_states" "" # new-pkg should have get the manual flag from old-pkg -- cgit v1.2.3 From de2b1358926d293c85277e1d9a58ac94915470ec Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 21 Aug 2010 00:52:59 +0200 Subject: * methods/http.cc: - some http servers violate HTTP1.1 by not issuing a Reason-Phrase (or at least a space after the code) especially for 200, but lets be nice and ignore it as we don't need the reason in general --- debian/changelog | 6 +++++- methods/http.cc | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index a08dce97f..c2c0b605d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,8 +15,12 @@ apt (0.8.0~pre2) UNRELEASED; urgency=low - set dir::state::status based at least on dir * apt-pkg/deb/dpkgpm.cc: - use the InstVer instead of the CurrentVer for the autobit transfer + * methods/http.cc: + - some http servers violate HTTP1.1 by not issuing a Reason-Phrase + (or at least a space after the code) especially for 200, but lets + be nice and ignore it as we don't need the reason in general - -- David Kalnischkies Fri, 20 Aug 2010 19:06:29 +0200 + -- David Kalnischkies Fri, 20 Aug 2010 23:00:54 +0200 apt (0.8.0~pre1) experimental; urgency=low diff --git a/methods/http.cc b/methods/http.cc index 9fa74bffa..25e31de9a 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -553,8 +553,14 @@ bool ServerState::HeaderLine(string Line) // Evil servers return no version if (Line[4] == '/') { - if (sscanf(Line.c_str(),"HTTP/%u.%u %u%[^\n]",&Major,&Minor, - &Result,Code) != 4) + int const elements = sscanf(Line.c_str(),"HTTP/%u.%u %u%[^\n]",&Major,&Minor,&Result,Code); + if (elements == 3) + { + Code[0] = '\0'; + if (Debug == true) + clog << "HTTP server doesn't give Reason-Phrase for " << Result << std::endl; + } + else if (elements != 4) return _error->Error(_("The HTTP server sent an invalid reply header")); } else -- cgit v1.2.3 From f213b6ea7397f2ba5b770e1a30e57dc8438bf61e Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 21 Aug 2010 22:19:56 +0200 Subject: * apt-pkg/acquire-item.cc: - don't use ReadOnlyGzip mode for PDiffs as this mode doesn't work in combination with the AddFd methods of our hashclasses Add also 2 testcases: one to test pdiffs in general and one to test the handling of compressed indexes. --- apt-pkg/acquire-item.cc | 6 +- debian/changelog | 5 +- test/integration/Packages-pdiff-usage | 34 ++++++++ test/integration/Packages-pdiff-usage-new | 37 +++++++++ test/integration/framework | 58 +++++++++---- test/integration/test-compressed-indexes | 131 ++++++++++++++++++++++++++++++ test/integration/test-pdiff-usage | 51 ++++++++++++ 7 files changed, 303 insertions(+), 19 deletions(-) create mode 100644 test/integration/Packages-pdiff-usage create mode 100644 test/integration/Packages-pdiff-usage-new create mode 100755 test/integration/test-compressed-indexes create mode 100755 test/integration/test-pdiff-usage diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index a289fb7ba..752bc6a99 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -280,7 +280,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string IndexDiffFile) /*{{{*/ ss >> ServerSha1 >> size; unsigned long const ServerSize = atol(size.c_str()); - FileFd fd(CurrentPackagesFile, FileFd::ReadOnlyGzip); + FileFd fd(CurrentPackagesFile, FileFd::ReadOnly); SHA1Summation SHA1; SHA1.AddFD(fd.Fd(), fd.Size()); string const local_sha1 = SHA1.Result(); @@ -297,7 +297,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string IndexDiffFile) /*{{{*/ else { if(Debug) - std::clog << "SHA1-Current: " << ServerSha1 << std::endl; + std::clog << "SHA1-Current: " << ServerSha1 << " and we start at "<< fd.Name() << " " << fd.Size() << " " << local_sha1 << std::endl; // check the historie and see what patches we need string const history = Tags.FindS("SHA1-History"); @@ -511,7 +511,7 @@ bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/ string FinalFile = _config->FindDir("Dir::State::lists"); FinalFile += URItoFileName(RealURI); - FileFd fd(FinalFile, FileFd::ReadOnlyGzip); + FileFd fd(FinalFile, FileFd::ReadOnly); SHA1Summation SHA1; SHA1.AddFD(fd.Fd(), fd.Size()); string local_sha1 = string(SHA1.Result()); diff --git a/debian/changelog b/debian/changelog index c2c0b605d..c05f9439c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -19,8 +19,11 @@ apt (0.8.0~pre2) UNRELEASED; urgency=low - some http servers violate HTTP1.1 by not issuing a Reason-Phrase (or at least a space after the code) especially for 200, but lets be nice and ignore it as we don't need the reason in general + * apt-pkg/acquire-item.cc: + - don't use ReadOnlyGzip mode for PDiffs as this mode doesn't work + in combination with the AddFd methods of our hashclasses - -- David Kalnischkies Fri, 20 Aug 2010 23:00:54 +0200 + -- David Kalnischkies Sat, 21 Aug 2010 22:18:41 +0200 apt (0.8.0~pre1) experimental; urgency=low diff --git a/test/integration/Packages-pdiff-usage b/test/integration/Packages-pdiff-usage new file mode 100644 index 000000000..d1530a95c --- /dev/null +++ b/test/integration/Packages-pdiff-usage @@ -0,0 +1,34 @@ +Package: apt +Version: 0.7.25.3 +Architecture: i386 +Maintainer: APT Development Team +Installed-Size: 5244 +Replaces: libapt-pkg-dev (<< 0.3.7), libapt-pkg-doc (<< 0.3.7) +Provides: libapt-pkg-libc6.9-6-4.8 +Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0), debian-archive-keyring +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Filename: pool/main/a/apt/apt_0.7.25.3_i386.deb +Size: 1750610 +MD5sum: 311aadc67d1b72428b54c9b4e1f76671 +SHA1: 3c695e028f74d5c55226f9ef30000bbbd881088c +SHA256: b46fd1546151c545fe4bfa56a5cc0e7811a9f68826326a529777fd660f28f050 +Description: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. + . + APT features complete installation ordering, multiple source capability + and several other unique features, see the Users Guide in apt-doc. + +Package: oldstuff +Version: 1.0 +Architecture: i386 +Maintainer: Joe Sixpack +Installed-Size: 100 +Filename: pool/oldstuff_1.0_i386.deb +Size: 100000 +MD5sum: 311aeeadf78324aaff54c9b4e1f76671 +SHA1: 3c695e028f74d5c544deeddaaa1242desa81088c +SHA256: b46fd1546151c545fe4bfa56a5cc0e7deaef23e2da3e4f129727fd660f28f050 +Description: some cool but old stuff + This package will disappear in the next mirror update diff --git a/test/integration/Packages-pdiff-usage-new b/test/integration/Packages-pdiff-usage-new new file mode 100644 index 000000000..9157596a7 --- /dev/null +++ b/test/integration/Packages-pdiff-usage-new @@ -0,0 +1,37 @@ +Package: newstuff +Version: 1.0 +Architecture: i386 +Maintainer: Joe Sixpack +Installed-Size: 101 +Filename: pool/newstuff_1.0_i386.deb +Size: 101100 +MD5sum: 311aeeadf78324aaff1ceaf3e1f76671 +SHA1: 3c695e028f7a1ae324deeddaaa1242desa81088c +SHA256: b46fd154615edefab321cc56a5cc0e7deaef23e2da3e4f129727fd660f28f050 +Description: some cool and shiny new stuff + This package will appear in the next mirror update + +Package: apt +Priority: important +Section: admin +Installed-Size: 5672 +Maintainer: APT Development Team +Architecture: i386 +Version: 0.8.0~pre1 +Replaces: manpages-pl (<< 20060617-3~) +Provides: libapt-pkg4.10 +Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0), zlib1g (>= 1:1.1.4), debian-archive-keyring, gnupg +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Conflicts: python-apt (<< 0.7.93.2~) +Filename: pool/main/a/apt/apt_0.8.0~pre1_i386.deb +Size: 2013046 +MD5sum: 6786ca6270c988f2c201716ededaedec +SHA1: fe26559e745d4c2c977c27170938852041c9adff +SHA256: a12f968467e1e3cec24191b72bfe84f7aeed3ce422e1a60bb4f1454f2b89b8ee +Description: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. + . + APT features complete installation ordering, multiple source capability + and several other unique features, see the Users Guide in apt-doc. diff --git a/test/integration/framework b/test/integration/framework index 82fca2046..8efe47330 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -80,7 +80,8 @@ setupenvironment() { BUILDDIRECTORY="${TESTDIR}/../../build/bin" test -x "${BUILDDIRECTORY}/apt-get" || msgdie "You need to build tree first" local OLDWORKINGDIRECTORY=$(pwd) -# trap "cd /; rm -rf $TMPWORKINGDIRECTORY; cd $OLDWORKINGDIRECTORY" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM + CURRENTTRAP="cd /; rm -rf $TMPWORKINGDIRECTORY; cd $OLDWORKINGDIRECTORY" + trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM cd $TMPWORKINGDIRECTORY mkdir rootdir aptarchive keys cd rootdir @@ -373,17 +374,44 @@ setupaptarchive() { else setupflataptarchive fi - msgninfo "\tSign archive with Joe Sixpack key… " - for RELEASE in $(find aptarchive/ -name Release); do - gpg --no-default-keyring --secret-keyring ./keys/joesixpack.sec --keyring ./keys/joesixpack.pub --default-key Joe -abs -o ${RELEASE}.gpg ${RELEASE} - done - msgdone "info" + signreleasefiles msgninfo "\tSync APT's cache with the archive… " aptget update -qq msgdone "info" } -diff() { +signreleasefiles() { + local SIGNER="${1:-Joe Sixpack}" + msgninfo "\tSign archive with $SIGNER key… " + local SECKEYS="" + for KEY in $(find keys/ -name '*.sec'); do + SECKEYS="$SECKEYS --secret-keyring $KEY" + done + local PUBKEYS="" + for KEY in $(find keys/ -name '*.pub'); do + PUBKEYS="$PUBKEYS --keyring $KEY" + done + for RELEASE in $(find aptarchive/ -name Release); do + gpg --yes --no-default-keyring $SECKEYS $PUBKEYS --default-key "$SIGNER" -abs -o ${RELEASE}.gpg ${RELEASE} + done + msgdone "info" +} + +changetowebserver() { + if which weborf > /dev/null; then + weborf -xb aptarchive/ 2>&1 > /dev/null & + CURRENTTRAP="kill $(ps | grep weborf | sed -e 's#^[ ]*##' | cut -d' ' -f 1); $CURRENTTRAP" + trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM + local APTARCHIVE="file://$(readlink -f ./aptarchive)" + for LIST in $(find rootdir/etc/apt/sources.list.d/ -name 'apt-test-*.list'); do + sed -i $LIST -e "s#$APTARCHIVE#http://localhost:8080/#" + done + return 0 + fi + return 1 +} + +checkdiff() { local DIFFTEXT="$($(which diff) -u $* | sed -e '/^---/ d' -e '/^+++/ d' -e '/^@@/ d')" if [ -n "$DIFFTEXT" ]; then echo @@ -399,9 +427,9 @@ testfileequal() { shift msgtest "Test for correctness of file" "$FILE" if [ -z "$*" ]; then - echo -n "" | diff $FILE - && msgpass || msgfail + echo -n "" | checkdiff $FILE - && msgpass || msgfail else - echo "$*" | diff $FILE - && msgpass || msgfail + echo "$*" | checkdiff $FILE - && msgpass || msgfail fi } @@ -410,7 +438,7 @@ testequal() { echo "$1" > $COMPAREFILE shift msgtest "Test for equality of" "$*" - $* 2>&1 | diff $COMPAREFILE - && msgpass || msgfail + $* 2>&1 | checkdiff $COMPAREFILE - && msgpass || msgfail rm $COMPAREFILE } @@ -423,10 +451,10 @@ testequalor2() { shift 2 msgtest "Test for equality OR of" "$*" $* 2>&1 1> $COMPAREAGAINST - (diff $COMPAREFILE1 $COMPAREAGAINST 1> /dev/null || - diff $COMPAREFILE2 $COMPAREAGAINST 1> /dev/null) && msgpass || - ( echo "\n${CINFO}Diff against OR 1${CNORMAL}" "$(diff $COMPAREFILE1 $COMPAREAGAINST)" \ - "\n${CINFO}Diff against OR 2${CNORMAL}" "$(diff $COMPAREFILE2 $COMPAREAGAINST)" && + (checkdiff $COMPAREFILE1 $COMPAREAGAINST 1> /dev/null || + checkdiff $COMPAREFILE2 $COMPAREAGAINST 1> /dev/null) && msgpass || + ( echo "\n${CINFO}Diff against OR 1${CNORMAL}" "$(checkdiff $COMPAREFILE1 $COMPAREAGAINST)" \ + "\n${CINFO}Diff against OR 2${CNORMAL}" "$(checkdiff $COMPAREFILE2 $COMPAREAGAINST)" && msgfail ) rm $COMPAREFILE1 $COMPAREFILE2 $COMPAREAGAINST } @@ -448,7 +476,7 @@ N: No packages found" local ARCH=$(dpkg-architecture -qDEB_HOST_ARCH_CPU) eval `apt-config shell ARCH APT::Architecture` echo "$VIRTUAL" | sed -e "s/:$ARCH//" -e 's/:all//' > $COMPAREFILE - aptcache show $PACKAGE 2>&1 | diff $COMPAREFILE - && msgpass || msgfail + aptcache show $PACKAGE 2>&1 | checkdiff $COMPAREFILE - && msgpass || msgfail rm $COMPAREFILE } diff --git a/test/integration/test-compressed-indexes b/test/integration/test-compressed-indexes new file mode 100755 index 000000000..0b73f4c35 --- /dev/null +++ b/test/integration/test-compressed-indexes @@ -0,0 +1,131 @@ +#!/bin/sh +set -e + +local TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework + +setupenvironment +configarchitecture "i386" + +buildsimplenativepackage "testpkg" "i386" "1.0" +setupaptarchive + +local GOODSHOW="$(aptcache show testpkg) +" +local GOODPOLICY="$(aptcache policy testpkg)" +local GOODSHOWSRC="$(aptcache showsrc testpkg) +" + +test $(echo "$GOODSHOW" | grep -e '^Package: testpkg' -e '^Version: 1.0' -e '^Architecture: i386' | wc -l) -eq 3 +testequal "$GOODSHOW" aptcache show testpkg +test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 file:/' | wc -l) -eq 4 +testequal "$GOODPOLICY" aptcache policy testpkg +test $(echo "$GOODSHOWSRC" | grep -e '^Package: testpkg' -e '^Format: 3.0 (native)' -e '^Files:' -e '^Checksums-Sha256:' | wc -l) -eq 4 +testequal "$GOODSHOWSRC" aptcache showsrc testpkg + + +testrun() { + local F + if [ -e rootdir/var/lib/apt/lists/*localhost*Release ]; then + msgtest "Check if all index files are" "${1:-uncompressed}" + if [ "$1" = "compressed" ]; then + ! test -e rootdir/var/lib/apt/lists/*_Packages || F=1 + ! test -e rootdir/var/lib/apt/lists/*_Sources || F=1 + test -e rootdir/var/lib/apt/lists/*_Packages.gz || F=1 + test -e rootdir/var/lib/apt/lists/*_Sources.gz || F=1 + else + test -e rootdir/var/lib/apt/lists/*_Packages || F=1 + test -e rootdir/var/lib/apt/lists/*_Sources || F=1 + ! test -e rootdir/var/lib/apt/lists/*_Packages.gz || F=1 + ! test -e rootdir/var/lib/apt/lists/*_Sources.gz || F=1 + fi + if [ -n "$F" ]; then + ls -laR rootdir/var/lib/apt/lists/ + msgfail + else + msgpass + fi + msgtest "Check if package is downloadable" + aptget install -d testpkg -qq && msgpass || msgfail + msgtest "\tdeb file is present"; test -f rootdir/var/cache/apt/archives/testpkg_1.0_i386.deb && msgpass || msgfail + aptget clean + msgtest "\tdeb file is gone"; ! test -f rootdir/var/cache/apt/archives/testpkg_1.0_i386.deb && msgpass || msgfail + fi + rm rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin + testequal "$GOODSHOW" aptcache show testpkg + testequal "$GOODSHOW" aptcache show testpkg + rm rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin + testequal "$GOODPOLICY" aptcache policy testpkg + testequal "$GOODPOLICY" aptcache policy testpkg + rm rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin + testequal "$GOODSHOWSRC" aptcache showsrc testpkg + testequal "$GOODSHOWSRC" aptcache showsrc testpkg + rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin + rm -rf rootdir/var/cache/apt/archives + msgtest "Check if the source is aptgetable" + aptget source testpkg -qq 2> /dev/null > /dev/null && msgpass || msgfail + msgtest "\tdsc file is present"; test -f testpkg_1.0.dsc && msgpass || msgfail + msgtest "\tdirectory is present"; test -d testpkg-1.0 && msgpass || msgfail + rm -rf testpkg-1.0 +} + +msgmsg "File: Test with uncompressed indexes" +testrun + +aptget update -qq -o Acquire::Pdiffs=1 +msgmsg "File: Test with uncompressed indexes (update unchanged with pdiffs)" +testrun + +aptget update -qq -o Acquire::Pdiffs=0 +msgmsg "File: Test with uncompressed indexes (update unchanged without pdiffs)" +testrun + +rm -rf rootdir/var/lib/apt/lists +echo 'Acquire::CompressionTypes::Order:: "gz"; +Acquire::GzipIndexes "true";' > rootdir/etc/apt/apt.conf.d/02compressindex + +aptget update -qq +msgmsg "File: Test with compressed indexes" +testrun "compressed" + +aptget update -qq -o Acquire::Pdiffs=1 +msgmsg "File: Test with compressed indexes (update unchanged with pdiffs)" +testrun "compressed" + +aptget update -qq -o Acquire::Pdiffs=0 +msgmsg "File: Test with compressed indexes (update unchanged without pdiffs)" +testrun "compressed" + +rm rootdir/etc/apt/apt.conf.d/02compressindex +changetowebserver +aptget update -qq +local GOODPOLICY="$(aptcache policy testpkg)" +test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 http://' | wc -l) -eq 4 +testequal "$GOODPOLICY" aptcache policy testpkg + +msgmsg "HTTP: Test with uncompressed indexes" +testrun + +aptget update -qq -o Acquire::Pdiffs=1 +msgmsg "HTTP: Test with uncompressed indexes (update unchanged with pdiffs)" +testrun + +aptget update -qq -o Acquire::Pdiffs=0 +msgmsg "HTTP: Test with uncompressed indexes (update unchanged without pdiffs)" +testrun + +rm -rf rootdir/var/lib/apt/lists +echo 'Acquire::CompressionTypes::Order:: "gz"; +Acquire::GzipIndexes "true";' > rootdir/etc/apt/apt.conf.d/02compressindex + +aptget update -qq +msgmsg "HTTP: Test with compressed indexes" +testrun "compressed" + +aptget update -qq -o Acquire::Pdiffs=1 +msgmsg "HTTP: Test with compressed indexes (update unchanged with pdiffs)" +testrun "compressed" + +aptget update -qq -o Acquire::Pdiffs=0 +msgmsg "HTTP: Test with compressed indexes (update unchanged without pdiffs)" +testrun "compressed" diff --git a/test/integration/test-pdiff-usage b/test/integration/test-pdiff-usage new file mode 100755 index 000000000..85cbe9082 --- /dev/null +++ b/test/integration/test-pdiff-usage @@ -0,0 +1,51 @@ +#!/bin/sh +set -e + +local TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework + +setupenvironment +configarchitecture "i386" + +buildaptarchive +setupflataptarchive +changetowebserver +signreleasefiles +aptget update -qq + +testnopackage newstuff +PKGFILE="${TESTDIR}/$(echo "$(basename $0)" | sed 's#^test-#Packages-#')" +testequal "$(cat ${PKGFILE}) +" aptcache show apt oldstuff + +cp ${PKGFILE}-new aptarchive/Packages +cat aptarchive/Packages | gzip > aptarchive/Packages.gz +cat aptarchive/Packages | bzip2 > aptarchive/Packages.bz2 +cat aptarchive/Packages | lzma > aptarchive/Packages.lzma +rm -rf aptarchive/Packages.diff +aptftparchive release aptarchive/ > aptarchive/Release +mkdir -p aptarchive/Packages.diff +PATCHFILE="aptarchive/Packages.diff/$(date +%Y-%m-%d-%H%M.%S)" +diff -e ${PKGFILE} ${PKGFILE}-new > ${PATCHFILE} || true +cat $PATCHFILE | gzip > ${PATCHFILE}.gz +PATCHINDEX="aptarchive/Packages.diff/Index" +echo "SHA1-Current: $(sha1sum ${PKGFILE}-new | cut -d' ' -f 1) $(stat -c%s ${PKGFILE}-new) +SHA1-History: + 9f4148e06d7faa37062994ff10d0c842d7017513 33053002 2010-08-18-2013.28 + $(sha1sum $PKGFILE | cut -d' ' -f 1) $(stat -c%s $PKGFILE) $(basename $PATCHFILE) +SHA1-Patches: + 7651fc0ac57cd83d41c63195a9342e2db5650257 19722 2010-08-18-0814.28 + $(sha1sum $PATCHFILE | cut -d' ' -f 1) $(stat -c%s $PATCHFILE) $(basename $PATCHFILE)" > $PATCHINDEX +sed -i aptarchive/Release \ + -e "/^MD5Sum:/ a\ + \ $(md5sum $PATCHINDEX | cut -d' ' -f 1) $(stat -c%s $PATCHINDEX) Packages.diff/Index" \ + -e "/^SHA1:/ a\ + \ $(sha1sum $PATCHINDEX | cut -d' ' -f 1) $(stat -c%s $PATCHINDEX) Packages.diff/Index" \ + -e "/^SHA256:/ a\ + \ $(sha256sum $PATCHINDEX | cut -d' ' -f 1) $(stat -c%s $PATCHINDEX) Packages.diff/Index" +signreleasefiles +aptget update -qq + +testnopackage oldstuff +testequal "$(cat ${PKGFILE}-new) +" aptcache show apt newstuff -- cgit v1.2.3 From 662603c40b8b38e487f76e7aceb773c935203cea Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 23 Aug 2010 20:08:29 +0200 Subject: releasing version 0.8.0~pre2 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index c05f9439c..5501a1cfe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -apt (0.8.0~pre2) UNRELEASED; urgency=low +apt (0.8.0~pre2) experimental; urgency=low [ David Kalnischkies ] * apt-pkg/contrib/strutl.cc: @@ -23,7 +23,7 @@ apt (0.8.0~pre2) UNRELEASED; urgency=low - don't use ReadOnlyGzip mode for PDiffs as this mode doesn't work in combination with the AddFd methods of our hashclasses - -- David Kalnischkies Sat, 21 Aug 2010 22:18:41 +0200 + -- Michael Vogt Mon, 23 Aug 2010 19:09:08 +0200 apt (0.8.0~pre1) experimental; urgency=low -- cgit v1.2.3