diff options
322 files changed, 15512 insertions, 10759 deletions
@@ -9,8 +9,8 @@ endif .PHONY: default default: startup all -.PHONY: headers library clean veryclean all binary program doc -all headers library clean veryclean binary program doc dirs: +.PHONY: headers library clean veryclean all binary program doc test +all headers library clean veryclean binary program doc dirs test: $(MAKE) -C apt-pkg $@ $(MAKE) -C apt-inst $@ $(MAKE) -C methods $@ @@ -19,6 +19,7 @@ all headers library clean veryclean binary program doc dirs: $(MAKE) -C dselect $@ $(MAKE) -C doc $@ $(MAKE) -C po $@ + $(MAKE) -C test $@ # Some very common aliases .PHONY: maintainer-clean dist-clean distclean pristine sanity diff --git a/apt-inst/contrib/arfile.cc b/apt-inst/contrib/arfile.cc index 8018f4d30..533c563f9 100644 --- a/apt-inst/contrib/arfile.cc +++ b/apt-inst/contrib/arfile.cc @@ -14,13 +14,16 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/arfile.h> #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> #include <stdlib.h> - /*}}}*/ + #include <apti18n.h> + /*}}}*/ struct ARArchive::MemberHeader { diff --git a/apt-inst/contrib/arfile.h b/apt-inst/contrib/arfile.h index 7f6c68302..e2063cd71 100644 --- a/apt-inst/contrib/arfile.h +++ b/apt-inst/contrib/arfile.h @@ -54,7 +54,7 @@ struct ARArchive::Member unsigned long UID; unsigned long GID; unsigned long Mode; - unsigned long Size; + unsigned long long Size; // Location of the data. unsigned long Start; diff --git a/apt-inst/contrib/extracttar.cc b/apt-inst/contrib/extracttar.cc index 01b6b3836..487027c3d 100644 --- a/apt-inst/contrib/extracttar.cc +++ b/apt-inst/contrib/extracttar.cc @@ -16,8 +16,9 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include <apt-pkg/extracttar.h> +#include<config.h> +#include <apt-pkg/extracttar.h> #include <apt-pkg/error.h> #include <apt-pkg/strutl.h> #include <apt-pkg/configuration.h> @@ -28,6 +29,7 @@ #include <signal.h> #include <fcntl.h> #include <iostream> + #include <apti18n.h> /*}}}*/ diff --git a/apt-inst/database.cc b/apt-inst/database.cc index a5020f3d7..0647959a9 100644 --- a/apt-inst/database.cc +++ b/apt-inst/database.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/database.h> /*}}}*/ diff --git a/apt-inst/deb/debfile.cc b/apt-inst/deb/debfile.cc index a40cd1ae8..e80d8c735 100644 --- a/apt-inst/deb/debfile.cc +++ b/apt-inst/deb/debfile.cc @@ -16,6 +16,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/debfile.h> #include <apt-pkg/extracttar.h> #include <apt-pkg/error.h> diff --git a/apt-inst/deb/dpkgdb.cc b/apt-inst/deb/dpkgdb.cc index a75cf59ca..3112acdbd 100644 --- a/apt-inst/deb/dpkgdb.cc +++ b/apt-inst/deb/dpkgdb.cc @@ -13,6 +13,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/dpkgdb.h> #include <apt-pkg/configuration.h> #include <apt-pkg/error.h> diff --git a/apt-inst/dirstream.cc b/apt-inst/dirstream.cc index 9b6a56848..bb0bf96c1 100644 --- a/apt-inst/dirstream.cc +++ b/apt-inst/dirstream.cc @@ -11,6 +11,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/dirstream.h> #include <apt-pkg/error.h> diff --git a/apt-inst/extract.cc b/apt-inst/extract.cc index cd8edb27a..d48ff63ac 100644 --- a/apt-inst/extract.cc +++ b/apt-inst/extract.cc @@ -44,6 +44,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/extract.h> #include <apt-pkg/error.h> #include <apt-pkg/debversion.h> diff --git a/apt-inst/filelist.cc b/apt-inst/filelist.cc index 060aa53d7..879c07855 100644 --- a/apt-inst/filelist.cc +++ b/apt-inst/filelist.cc @@ -32,6 +32,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/filelist.h> #include <apt-pkg/mmap.h> #include <apt-pkg/error.h> diff --git a/apt-inst/makefile b/apt-inst/makefile index 785dc62ba..1b9cc2676 100644 --- a/apt-inst/makefile +++ b/apt-inst/makefile @@ -14,7 +14,7 @@ include ../buildlib/libversion.mak # The library name LIBRARY=apt-inst -MAJOR=1.2 +MAJOR=1.4 MINOR=0 SLIBS=$(PTHREADLIB) -lapt-pkg APT_DOMAIN:=libapt-inst$(MAJOR) diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index c3817f6ee..b46489f87 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -13,6 +13,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/acquire-item.h> #include <apt-pkg/configuration.h> #include <apt-pkg/aptconfiguration.h> @@ -24,8 +26,6 @@ #include <apt-pkg/sha1.h> #include <apt-pkg/tagfile.h> -#include <apti18n.h> - #include <sys/stat.h> #include <unistd.h> #include <errno.h> @@ -33,6 +33,8 @@ #include <sstream> #include <stdio.h> #include <ctime> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -94,7 +96,7 @@ void pkgAcquire::Item::Failed(string Message,pkgAcquire::MethodConfig *Cnf) // --------------------------------------------------------------------- /* Stash status and the file size. Note that setting Complete means sub-phases of the acquire process such as decompresion are operating */ -void pkgAcquire::Item::Start(string /*Message*/,unsigned long Size) +void pkgAcquire::Item::Start(string /*Message*/,unsigned long long Size) { Status = StatFetching; if (FileSize == 0 && Complete == false) @@ -104,7 +106,7 @@ void pkgAcquire::Item::Start(string /*Message*/,unsigned long Size) // Acquire::Item::Done - Item downloaded OK /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgAcquire::Item::Done(string Message,unsigned long Size,string Hash, +void pkgAcquire::Item::Done(string Message,unsigned long long Size,string Hash, pkgAcquire::MethodConfig *Cnf) { // We just downloaded something.. @@ -245,7 +247,7 @@ void pkgAcqSubIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{* } } /*}}}*/ -void pkgAcqSubIndex::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/ +void pkgAcqSubIndex::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/ pkgAcquire::MethodConfig *Cnf) { if(Debug) @@ -544,7 +546,7 @@ void pkgAcqDiffIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{ Dequeue(); } /*}}}*/ -void pkgAcqDiffIndex::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/ +void pkgAcqDiffIndex::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/ pkgAcquire::MethodConfig *Cnf) { if(Debug) @@ -681,17 +683,17 @@ bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/ // remove all patches until the next matching patch is found // this requires the Index file to be ordered for(vector<DiffInfo>::iterator I=available_patches.begin(); - available_patches.size() > 0 && + available_patches.empty() == false && I != available_patches.end() && - (*I).sha1 != local_sha1; - I++) + I->sha1 != local_sha1; + ++I) { available_patches.erase(I); } // error checking and falling back if no patch was found - if(available_patches.size() == 0) - { + if(available_patches.empty() == true) + { Failed("", NULL); return false; } @@ -710,7 +712,7 @@ bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/ return true; } /*}}}*/ -void pkgAcqIndexDiffs::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/ +void pkgAcqIndexDiffs::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/ pkgAcquire::MethodConfig *Cnf) { if(Debug) @@ -756,7 +758,7 @@ void pkgAcqIndexDiffs::Done(string Message,unsigned long Size,string Md5Hash, /* chmod(FinalFile.c_str(),0644); // see if there is more to download - if(available_patches.size() > 0) { + if(available_patches.empty() == false) { new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc, ExpectedHash, ServerSha1, available_patches); return Finish(); @@ -808,6 +810,13 @@ pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner, IndexTarget const *Target, if (CompressionExtension.empty() == false) CompressionExtension.erase(CompressionExtension.end()-1); + // only verify non-optional targets, see acquire-item.h for a FIXME + // to make this more flexible + if (Target->IsOptional()) + Verify = false; + else + Verify = true; + Init(Target->URI, Target->Description, Target->ShortDesc); } /*}}}*/ @@ -881,7 +890,7 @@ void pkgAcqIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{*/ to the uncompressed version of the file. If this is so the file is copied into the partial directory. In all other cases the file is decompressed with a gzip uri. */ -void pkgAcqIndex::Done(string Message,unsigned long Size,string Hash, +void pkgAcqIndex::Done(string Message,unsigned long long Size,string Hash, pkgAcquire::MethodConfig *Cfg) { Item::Done(Message,Size,Hash,Cfg); @@ -905,6 +914,7 @@ void pkgAcqIndex::Done(string Message,unsigned long Size,string Hash, /* Verify the index file for correctness (all indexes must * have a Package field) (LP: #346386) (Closes: #627642) */ + if (Verify == true) { FileFd fd(DestFile, FileFd::ReadOnly); pkgTagSection sec; @@ -1123,7 +1133,7 @@ string pkgAcqMetaSig::Custom600Headers() return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime); } -void pkgAcqMetaSig::Done(string Message,unsigned long Size,string MD5, +void pkgAcqMetaSig::Done(string Message,unsigned long long Size,string MD5, pkgAcquire::MethodConfig *Cfg) { Item::Done(Message,Size,MD5,Cfg); @@ -1232,7 +1242,7 @@ string pkgAcqMetaIndex::Custom600Headers() return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime); } /*}}}*/ -void pkgAcqMetaIndex::Done(string Message,unsigned long Size,string Hash, /*{{{*/ +void pkgAcqMetaIndex::Done(string Message,unsigned long long Size,string Hash, /*{{{*/ pkgAcquire::MethodConfig *Cfg) { Item::Done(Message,Size,Hash,Cfg); @@ -1258,7 +1268,8 @@ void pkgAcqMetaIndex::Done(string Message,unsigned long Size,string Hash, /*{{{* if (SigFile == "") { // There was no signature file, so we are finished. Download - // the indexes without verification. + // the indexes and do only hashsum verification if possible + MetaIndexParser->Load(DestFile); QueueIndexes(false); } else @@ -1374,35 +1385,33 @@ void pkgAcqMetaIndex::QueueIndexes(bool verify) /*{{{*/ #endif for (vector <struct IndexTarget*>::const_iterator Target = IndexTargets->begin(); Target != IndexTargets->end(); - Target++) + ++Target) { HashString ExpectedIndexHash; - if (verify) + const indexRecords::checkSum *Record = MetaIndexParser->Lookup((*Target)->MetaKey); + if (Record == NULL) { - const indexRecords::checkSum *Record = MetaIndexParser->Lookup((*Target)->MetaKey); - if (Record == NULL) + if (verify == true && (*Target)->IsOptional() == false) { - if ((*Target)->IsOptional() == false) - { - Status = StatAuthError; - strprintf(ErrorText, _("Unable to find expected entry '%s' in Release file (Wrong sources.list entry or malformed file)"), (*Target)->MetaKey.c_str()); - return; - } + Status = StatAuthError; + strprintf(ErrorText, _("Unable to find expected entry '%s' in Release file (Wrong sources.list entry or malformed file)"), (*Target)->MetaKey.c_str()); + return; } - else + } + else + { + ExpectedIndexHash = Record->Hash; + if (_config->FindB("Debug::pkgAcquire::Auth", false)) { - ExpectedIndexHash = Record->Hash; - if (_config->FindB("Debug::pkgAcquire::Auth", false)) - { - std::cerr << "Queueing: " << (*Target)->URI << std::endl; - std::cerr << "Expected Hash: " << ExpectedIndexHash.toStr() << std::endl; - } - if (ExpectedIndexHash.empty() == true && (*Target)->IsOptional() == false) - { - Status = StatAuthError; - strprintf(ErrorText, _("Unable to find hash sum for '%s' in Release file"), (*Target)->MetaKey.c_str()); - return; - } + std::cerr << "Queueing: " << (*Target)->URI << std::endl; + std::cerr << "Expected Hash: " << ExpectedIndexHash.toStr() << std::endl; + std::cerr << "For: " << Record->MetaKeyFilename << std::endl; + } + if (verify == true && ExpectedIndexHash.empty() == true && (*Target)->IsOptional() == false) + { + Status = StatAuthError; + strprintf(ErrorText, _("Unable to find hash sum for '%s' in Release file"), (*Target)->MetaKey.c_str()); + return; } } @@ -1473,8 +1482,10 @@ bool pkgAcqMetaIndex::VerifyVendor(string Message) /*{{{*/ // TRANSLATOR: The first %s is the URL of the bad Release file, the second is // the time since then the file is invalid - formated in the same way as in // the download progress display (e.g. 7d 3h 42min 1s) - return _error->Error(_("Release file expired, ignoring %s (invalid since %s)"), - RealURI.c_str(), TimeToStr(invalid_since).c_str()); + return _error->Error( + _("Release file for %s is expired (invalid since %s). " + "Updates for this repository will not be applied."), + RealURI.c_str(), TimeToStr(invalid_since).c_str()); } if (_config->FindB("Debug::pkgAcquire::Auth", false)) @@ -1669,7 +1680,7 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources, // check if we have one trusted source for the package. if so, switch // to "TrustedOnly" mode - for (pkgCache::VerFileIterator i = Version.FileList(); i.end() == false; i++) + for (pkgCache::VerFileIterator i = Version.FileList(); i.end() == false; ++i) { pkgIndexFile *Index; if (Sources->FindIndex(i.File(),Index) == false) @@ -1706,7 +1717,7 @@ pkgAcqArchive::pkgAcqArchive(pkgAcquire *Owner,pkgSourceList *Sources, bool pkgAcqArchive::QueueNext() { string const ForceHash = _config->Find("Acquire::ForceHash"); - for (; Vf.end() == false; Vf++) + for (; Vf.end() == false; ++Vf) { // Ignore not source sources if ((Vf.File()->Flags & pkgCache::Flag::NotSource) != 0) @@ -1730,6 +1741,8 @@ bool pkgAcqArchive::QueueNext() string PkgFile = Parse.FileName(); if (ForceHash.empty() == false) { + if(stringcasecmp(ForceHash, "sha512") == 0) + ExpectedHash = HashString("SHA512", Parse.SHA512Hash()); if(stringcasecmp(ForceHash, "sha256") == 0) ExpectedHash = HashString("SHA256", Parse.SHA256Hash()); else if (stringcasecmp(ForceHash, "sha1") == 0) @@ -1740,7 +1753,9 @@ bool pkgAcqArchive::QueueNext() else { string Hash; - if ((Hash = Parse.SHA256Hash()).empty() == false) + if ((Hash = Parse.SHA512Hash()).empty() == false) + ExpectedHash = HashString("SHA512", Hash); + else if ((Hash = Parse.SHA256Hash()).empty() == false) ExpectedHash = HashString("SHA256", Hash); else if ((Hash = Parse.SHA1Hash()).empty() == false) ExpectedHash = HashString("SHA1", Hash); @@ -1764,7 +1779,7 @@ bool pkgAcqArchive::QueueNext() if (stat(FinalFile.c_str(),&Buf) == 0) { // Make sure the size matches - if ((unsigned)Buf.st_size == Version->Size) + if ((unsigned long long)Buf.st_size == Version->Size) { Complete = true; Local = true; @@ -1783,7 +1798,7 @@ bool pkgAcqArchive::QueueNext() if (stat(FinalFile.c_str(),&Buf) == 0) { // Make sure the size matches - if ((unsigned)Buf.st_size == Version->Size) + if ((unsigned long long)Buf.st_size == Version->Size) { Complete = true; Local = true; @@ -1803,7 +1818,7 @@ bool pkgAcqArchive::QueueNext() if (stat(DestFile.c_str(),&Buf) == 0) { // Hmm, the partial file is too big, erase it - if ((unsigned)Buf.st_size > Version->Size) + if ((unsigned long long)Buf.st_size > Version->Size) unlink(DestFile.c_str()); else PartialSize = Buf.st_size; @@ -1817,7 +1832,7 @@ bool pkgAcqArchive::QueueNext() Desc.ShortDesc = Version.ParentPkg().Name(); QueueURI(Desc); - Vf++; + ++Vf; return true; } return false; @@ -1826,7 +1841,7 @@ bool pkgAcqArchive::QueueNext() // AcqArchive::Done - Finished fetching /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgAcqArchive::Done(string Message,unsigned long Size,string CalcHash, +void pkgAcqArchive::Done(string Message,unsigned long long Size,string CalcHash, pkgAcquire::MethodConfig *Cfg) { Item::Done(Message,Size,CalcHash,Cfg); @@ -1891,7 +1906,7 @@ void pkgAcqArchive::Failed(string Message,pkgAcquire::MethodConfig *Cnf) StringToBool(LookupTag(Message,"Transient-Failure"),false) == true) { // Vf = Version.FileList(); - while (Vf.end() == false) Vf++; + while (Vf.end() == false) ++Vf; StoreFilename = string(); Item::Failed(Message,Cnf); return; @@ -1937,7 +1952,7 @@ void pkgAcqArchive::Finished() // --------------------------------------------------------------------- /* The file is added to the queue */ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash, - unsigned long Size,string Dsc,string ShortDesc, + unsigned long long Size,string Dsc,string ShortDesc, const string &DestDir, const string &DestFilename, bool IsIndexFile) : Item(Owner), ExpectedHash(Hash), IsIndexFile(IsIndexFile) @@ -1965,7 +1980,7 @@ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash, if (stat(DestFile.c_str(),&Buf) == 0) { // Hmm, the partial file is too big, erase it - if ((unsigned)Buf.st_size > Size) + if ((unsigned long long)Buf.st_size > Size) unlink(DestFile.c_str()); else PartialSize = Buf.st_size; @@ -1977,7 +1992,7 @@ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash, // AcqFile::Done - Item downloaded OK /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgAcqFile::Done(string Message,unsigned long Size,string CalcHash, +void pkgAcqFile::Done(string Message,unsigned long long Size,string CalcHash, pkgAcquire::MethodConfig *Cnf) { Item::Done(Message,Size,CalcHash,Cnf); @@ -2065,13 +2080,3 @@ string pkgAcqFile::Custom600Headers() return ""; } /*}}}*/ -bool IndexTarget::IsOptional() const { - if (strncmp(ShortDesc.c_str(), "Translation", 11) != 0) - return false; - return true; -} -bool IndexTarget::IsSubIndex() const { - if (ShortDesc != "TranslationIndex") - return false; - return true; -} diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h index f763577ee..13be17a01 100644 --- a/apt-pkg/acquire-item.h +++ b/apt-pkg/acquire-item.h @@ -194,7 +194,7 @@ class pkgAcquire::Item : public WeakPointable * * \sa pkgAcqMethod */ - virtual void Done(string Message,unsigned long Size,string Hash, + virtual void Done(string Message,unsigned long long Size,string Hash, pkgAcquire::MethodConfig *Cnf); /** \brief Invoked when the worker starts to fetch this object. @@ -206,7 +206,7 @@ class pkgAcquire::Item : public WeakPointable * * \sa pkgAcqMethod */ - virtual void Start(string Message,unsigned long Size); + virtual void Start(string Message,unsigned long long Size); /** \brief Custom headers to be sent to the fetch process. * @@ -309,7 +309,7 @@ class pkgAcqSubIndex : public pkgAcquire::Item public: // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return Desc.URI;}; virtual string Custom600Headers(); @@ -372,7 +372,7 @@ class pkgAcqDiffIndex : public pkgAcquire::Item public: // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return RealURI + "Index";}; virtual string Custom600Headers(); @@ -508,7 +508,7 @@ class pkgAcqIndexDiffs : public pkgAcquire::Item */ virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return RealURI + "Index";}; @@ -559,6 +559,16 @@ class pkgAcqIndex : public pkgAcquire::Item */ bool Erase; + /** \brief Verify for correctness by checking if a "Package" + * tag is found in the index. This can be set to + * false for optional index targets + * + */ + // FIXME: instead of a bool it should use a verify string that will + // then be used in the pkgAcqIndex::Done method to ensure that + // the downloaded file contains the expected tag + bool Verify; + /** \brief The download request that is currently being * processed. */ @@ -581,7 +591,7 @@ class pkgAcqIndex : public pkgAcquire::Item // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string Custom600Headers(); virtual string DescURI() {return Desc.URI;}; @@ -646,8 +656,9 @@ class pkgAcqIndexTrans : public pkgAcqIndex }; /*}}}*/ /** \brief Information about an index file. */ /*{{{*/ -struct IndexTarget +class IndexTarget { + public: /** \brief A URI from which the index file can be downloaded. */ string URI; @@ -662,14 +673,28 @@ struct IndexTarget */ string MetaKey; - //FIXME: We should use virtual methods here instead… - bool IsOptional() const; - bool IsSubIndex() const; + virtual bool IsOptional() const { + return false; + } + virtual bool IsSubIndex() const { + return false; + } }; /*}}}*/ /** \brief Information about an optional index file. */ /*{{{*/ -struct OptionalIndexTarget : public IndexTarget +class OptionalIndexTarget : public IndexTarget +{ + virtual bool IsOptional() const { + return true; + } +}; + /*}}}*/ +/** \brief Information about an subindex index file. */ /*{{{*/ +class SubIndexTarget : public IndexTarget { + virtual bool IsSubIndex() const { + return true; + } }; /*}}}*/ @@ -723,7 +748,7 @@ class pkgAcqMetaSig : public pkgAcquire::Item // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string Custom600Headers(); virtual string DescURI() {return RealURI; }; @@ -818,7 +843,7 @@ class pkgAcqMetaIndex : public pkgAcquire::Item // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size, string Hash, + virtual void Done(string Message,unsigned long long Size, string Hash, pkgAcquire::MethodConfig *Cnf); virtual string Custom600Headers(); virtual string DescURI() {return RealURI; }; @@ -918,7 +943,7 @@ class pkgAcqArchive : public pkgAcquire::Item public: virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Hash, + virtual void Done(string Message,unsigned long long Size,string Hash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return Desc.URI;}; virtual string ShortDesc() {return Desc.ShortDesc;}; @@ -975,7 +1000,7 @@ class pkgAcqFile : public pkgAcquire::Item // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string CalcHash, + virtual void Done(string Message,unsigned long long Size,string CalcHash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return Desc.URI;}; virtual string HashSum() {return ExpectedHash.toStr(); }; @@ -1012,7 +1037,7 @@ class pkgAcqFile : public pkgAcquire::Item * is the absolute name to which the file should be downloaded. */ - pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long Size, + pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long long Size, string Desc, string ShortDesc, const string &DestDir="", const string &DestFilename="", bool IsIndexFile=false); diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc index e9e102488..1ae139b40 100644 --- a/apt-pkg/acquire-method.cc +++ b/apt-pkg/acquire-method.cc @@ -15,6 +15,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/acquire-method.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> @@ -81,7 +83,7 @@ void pkgAcqMethod::Fail(bool Transient) void pkgAcqMethod::Fail(string Err,bool Transient) { // Strip out junk from the error messages - for (string::iterator I = Err.begin(); I != Err.end(); I++) + for (string::iterator I = Err.begin(); I != Err.end(); ++I) { if (*I == '\r') *I = ' '; @@ -166,6 +168,8 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) std::cout << "SHA1-Hash: " << Res.SHA1Sum << "\n"; if (Res.SHA256Sum.empty() == false) std::cout << "SHA256-Hash: " << Res.SHA256Sum << "\n"; + if (Res.SHA512Sum.empty() == false) + std::cout << "SHA512-Hash: " << Res.SHA512Sum << "\n"; if (UsedMirror.empty() == false) std::cout << "UsedMirror: " << UsedMirror << "\n"; if (Res.GPGVOutput.empty() == false) @@ -199,7 +203,9 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) std::cout << "Alt-SHA1-Hash: " << Alt->SHA1Sum << "\n"; if (Alt->SHA256Sum.empty() == false) std::cout << "Alt-SHA256-Hash: " << Alt->SHA256Sum << "\n"; - + if (Alt->SHA512Sum.empty() == false) + std::cout << "Alt-SHA512-Hash: " << Alt->SHA512Sum << "\n"; + if (Alt->IMSHit == true) std::cout << "Alt-IMS-Hit: true\n"; } @@ -421,12 +427,8 @@ void pkgAcqMethod::Status(const char *Format,...) to keep the pipeline synchronized. */ void pkgAcqMethod::Redirect(const string &NewURI) { - std::cout << "103 Redirect\nURI: "; - if (Queue != 0) - std::cout << Queue->Uri << "\n"; - else - std::cout << "<UNKNOWN>\n"; - std::cout << "New-URI: " << NewURI << "\n" + std::cout << "103 Redirect\nURI: " << Queue->Uri << "\n" + << "New-URI: " << NewURI << "\n" << "\n" << std::flush; // Change the URI for the request. @@ -460,5 +462,6 @@ void pkgAcqMethod::FetchResult::TakeHashes(Hashes &Hash) MD5Sum = Hash.MD5.Result(); SHA1Sum = Hash.SHA1.Result(); SHA256Sum = Hash.SHA256.Result(); + SHA512Sum = Hash.SHA512.Result(); } /*}}}*/ diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h index 72efa8065..6551170c4 100644 --- a/apt-pkg/acquire-method.h +++ b/apt-pkg/acquire-method.h @@ -46,12 +46,13 @@ class pkgAcqMethod string MD5Sum; string SHA1Sum; string SHA256Sum; + string SHA512Sum; vector<string> GPGVOutput; time_t LastModified; bool IMSHit; string Filename; - unsigned long Size; - unsigned long ResumePoint; + unsigned long long Size; + unsigned long long ResumePoint; void TakeHashes(Hashes &Hash); FetchResult(); diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc index 75e03232a..3bb977e14 100644 --- a/apt-pkg/acquire-worker.cc +++ b/apt-pkg/acquire-worker.cc @@ -12,6 +12,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/acquire-worker.h> #include <apt-pkg/acquire-item.h> #include <apt-pkg/configuration.h> @@ -19,18 +21,18 @@ #include <apt-pkg/fileutl.h> #include <apt-pkg/strutl.h> -#include <apti18n.h> - #include <iostream> #include <sstream> #include <fstream> - + #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <signal.h> #include <stdio.h> #include <errno.h> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -256,9 +258,9 @@ bool pkgAcquire::Worker::RunMessages() CurrentItem = Itm; CurrentSize = 0; - TotalSize = atoi(LookupTag(Message,"Size","0").c_str()); - ResumePoint = atoi(LookupTag(Message,"Resume-Point","0").c_str()); - Itm->Owner->Start(Message,atoi(LookupTag(Message,"Size","0").c_str())); + TotalSize = strtoull(LookupTag(Message,"Size","0").c_str(), NULL, 10); + ResumePoint = strtoull(LookupTag(Message,"Resume-Point","0").c_str(), NULL, 10); + Itm->Owner->Start(Message,strtoull(LookupTag(Message,"Size","0").c_str(), NULL, 10)); // Display update before completion if (Log != 0 && Log->MorePulses == true) @@ -287,9 +289,9 @@ bool pkgAcquire::Worker::RunMessages() Log->Pulse(Owner->GetOwner()); OwnerQ->ItemDone(Itm); - unsigned long const ServerSize = atol(LookupTag(Message,"Size","0").c_str()); + unsigned long long const ServerSize = strtoull(LookupTag(Message,"Size","0").c_str(), NULL, 10); if (TotalSize != 0 && ServerSize != TotalSize) - _error->Warning("Size of file %s is not what the server reported %s %lu", + _error->Warning("Size of file %s is not what the server reported %s %llu", Owner->DestFile.c_str(), LookupTag(Message,"Size","0").c_str(),TotalSize); // see if there is a hash to verify diff --git a/apt-pkg/acquire-worker.h b/apt-pkg/acquire-worker.h index 06283922e..ce19091e4 100644 --- a/apt-pkg/acquire-worker.h +++ b/apt-pkg/acquire-worker.h @@ -44,6 +44,9 @@ */ class pkgAcquire::Worker : public WeakPointable { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + friend class pkgAcquire; protected: @@ -244,17 +247,17 @@ class pkgAcquire::Worker : public WeakPointable /** \brief How many bytes of the file have been downloaded. Zero * if the current progress of the file cannot be determined. */ - unsigned long CurrentSize; + unsigned long long CurrentSize; /** \brief The total number of bytes to be downloaded. Zero if the * total size of the final is unknown. */ - unsigned long TotalSize; + unsigned long long TotalSize; /** \brief How much of the file was already downloaded prior to * starting this worker. */ - unsigned long ResumePoint; + unsigned long long ResumePoint; /** \brief Tell the subprocess to download the given item. * @@ -314,7 +317,7 @@ class pkgAcquire::Worker : public WeakPointable * Closes the file descriptors; if MethodConfig::NeedsCleanup is * \b false, also rudely interrupts the worker with a SIGINT. */ - ~Worker(); + virtual ~Worker(); }; /** @} */ diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index 9478cdfb4..cdc3fba4b 100644 --- a/apt-pkg/acquire.cc +++ b/apt-pkg/acquire.cc @@ -13,6 +13,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/acquire.h> #include <apt-pkg/acquire-item.h> #include <apt-pkg/acquire-worker.h> @@ -21,8 +23,6 @@ #include <apt-pkg/strutl.h> #include <apt-pkg/fileutl.h> -#include <apti18n.h> - #include <iostream> #include <sstream> #include <stdio.h> @@ -30,6 +30,8 @@ #include <dirent.h> #include <sys/time.h> #include <errno.h> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -37,9 +39,9 @@ using namespace std; // Acquire::pkgAcquire - Constructor /*{{{*/ // --------------------------------------------------------------------- /* We grab some runtime state from the configuration space */ -pkgAcquire::pkgAcquire() : Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0), +pkgAcquire::pkgAcquire() : LockFD(-1), Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0), Debug(_config->FindB("Debug::pkgAcquire",false)), - Running(false), LockFD(-1) + Running(false) { string const Mode = _config->Find("Acquire::Queue-Mode","host"); if (strcasecmp(Mode.c_str(),"host") == 0) @@ -47,10 +49,10 @@ pkgAcquire::pkgAcquire() : Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch if (strcasecmp(Mode.c_str(),"access") == 0) QueueMode = QueueAccess; } -pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : Queues(0), Workers(0), +pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : LockFD(-1), Queues(0), Workers(0), Configs(0), Log(Progress), ToFetch(0), Debug(_config->FindB("Debug::pkgAcquire",false)), - Running(false), LockFD(-1) + Running(false) { string const Mode = _config->Find("Acquire::Queue-Mode","host"); if (strcasecmp(Mode.c_str(),"host") == 0) @@ -116,7 +118,7 @@ pkgAcquire::~pkgAcquire() /* */ void pkgAcquire::Shutdown() { - while (Items.size() != 0) + while (Items.empty() == false) { if (Items[0]->Status == Item::StatFetching) Items[0]->Status = Item::StatError; @@ -155,7 +157,7 @@ void pkgAcquire::Remove(Item *Itm) I = Items.begin(); } else - I++; + ++I; } } /*}}}*/ @@ -411,7 +413,7 @@ pkgAcquire::RunResult pkgAcquire::Run(int PulseIntervall) I->Shutdown(false); // Shut down the items - for (ItemIterator I = Items.begin(); I != Items.end(); I++) + for (ItemIterator I = Items.begin(); I != Items.end(); ++I) (*I)->Finished(); if (_error->PendingError()) @@ -445,6 +447,10 @@ pkgAcquire::Worker *pkgAcquire::WorkerStep(Worker *I) if it is part of the download set. */ bool pkgAcquire::Clean(string Dir) { + // non-existing directories are by definition clean… + if (DirectoryExists(Dir) == false) + return true; + DIR *D = opendir(Dir.c_str()); if (D == 0) return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str()); @@ -467,7 +473,7 @@ bool pkgAcquire::Clean(string Dir) // Look in the get list ItemCIterator I = Items.begin(); - for (; I != Items.end(); I++) + for (; I != Items.end(); ++I) if (flNotDir((*I)->DestFile) == Dir->d_name) break; @@ -488,7 +494,7 @@ bool pkgAcquire::Clean(string Dir) unsigned long long pkgAcquire::TotalNeeded() { unsigned long long Total = 0; - for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); I++) + for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I) Total += (*I)->FileSize; return Total; } @@ -499,7 +505,7 @@ unsigned long long pkgAcquire::TotalNeeded() unsigned long long pkgAcquire::FetchNeeded() { unsigned long long Total = 0; - for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); I++) + for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I) if ((*I)->Local == false) Total += (*I)->FileSize; return Total; @@ -511,7 +517,7 @@ unsigned long long pkgAcquire::FetchNeeded() unsigned long long pkgAcquire::PartialPresent() { unsigned long long Total = 0; - for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); I++) + for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I) if ((*I)->Local == false) Total += (*I)->PartialSize; return Total; @@ -781,11 +787,11 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner) unsigned int Unknown = 0; unsigned int Count = 0; for (pkgAcquire::ItemCIterator I = Owner->ItemsBegin(); I != Owner->ItemsEnd(); - I++, Count++) + ++I, ++Count) { TotalItems++; if ((*I)->Status == pkgAcquire::Item::StatDone) - CurrentItems++; + ++CurrentItems; // Totally ignore local items if ((*I)->Local == true) @@ -795,11 +801,11 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner) if ((*I)->Complete == true) CurrentBytes += (*I)->FileSize; if ((*I)->FileSize == 0 && (*I)->Complete == false) - Unknown++; + ++Unknown; } // Compute the current completion - unsigned long ResumeSize = 0; + unsigned long long ResumeSize = 0; for (pkgAcquire::Worker *I = Owner->WorkersBegin(); I != 0; I = Owner->WorkerStep(I)) if (I->CurrentItem != 0 && I->CurrentItem->Owner->Complete == false) @@ -838,7 +844,7 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner) else CurrentCPS = ((CurrentBytes - ResumeSize) - LastBytes)/Delta; LastBytes = CurrentBytes - ResumeSize; - ElapsedTime = (unsigned long)Delta; + ElapsedTime = (unsigned long long)Delta; Time = NewTime; } @@ -849,8 +855,9 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner) char msg[200]; long i = CurrentItems < TotalItems ? CurrentItems + 1 : CurrentItems; - unsigned long ETA = - (unsigned long)((TotalBytes - CurrentBytes) / CurrentCPS); + unsigned long long ETA = 0; + if(CurrentCPS > 0) + ETA = (TotalBytes - CurrentBytes) / CurrentCPS; // only show the ETA if it makes sense if (ETA > 0 && ETA < 172800 /* two days */ ) @@ -906,13 +913,13 @@ void pkgAcquireStatus::Stop() else CurrentCPS = FetchedBytes/Delta; LastBytes = CurrentBytes; - ElapsedTime = (unsigned int)Delta; + ElapsedTime = (unsigned long long)Delta; } /*}}}*/ // AcquireStatus::Fetched - Called when a byte set has been fetched /*{{{*/ // --------------------------------------------------------------------- /* This is used to get accurate final transfer rate reporting. */ -void pkgAcquireStatus::Fetched(unsigned long Size,unsigned long Resume) +void pkgAcquireStatus::Fetched(unsigned long long Size,unsigned long long Resume) { FetchedBytes += Size - Resume; } diff --git a/apt-pkg/acquire.h b/apt-pkg/acquire.h index e3a4435b8..ae555df22 100644 --- a/apt-pkg/acquire.h +++ b/apt-pkg/acquire.h @@ -91,6 +91,12 @@ class pkgAcquireStatus; */ class pkgAcquire { + private: + /** \brief FD of the Lock file we acquire in Setup (if any) */ + int LockFD; + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + public: class Item; @@ -142,12 +148,7 @@ class pkgAcquire /** \brief The progress indicator for this download. */ pkgAcquireStatus *Log; - /** \brief The total size of the files which are to be fetched. - * - * This is not necessarily the total number of bytes to download - * when, e.g., download resumption and list updates via patches - * are taken into account. - */ + /** \brief The number of files which are to be fetched. */ unsigned long ToFetch; // Configurable parameters for the scheduler @@ -348,6 +349,8 @@ class pkgAcquire */ bool Setup(pkgAcquireStatus *Progress = NULL, string const &Lock = ""); + void SetLog(pkgAcquireStatus *Progress) { Log = Progress; } + /** \brief Construct a new pkgAcquire. */ pkgAcquire(pkgAcquireStatus *Log) __deprecated; pkgAcquire(); @@ -359,9 +362,6 @@ class pkgAcquire */ virtual ~pkgAcquire(); - private: - /** \brief FD of the Lock file we acquire in Setup (if any) */ - int LockFD; }; /** \brief Represents a single download source from which an item @@ -391,6 +391,9 @@ class pkgAcquire::Queue friend class pkgAcquire::UriIterator; friend class pkgAcquire::Worker; + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + /** \brief The next queue in the pkgAcquire object's list of queues. */ Queue *Next; @@ -478,7 +481,7 @@ class pkgAcquire::Queue * * \todo Unimplemented. Implement it or remove? */ - bool ItemStart(QItem *Itm,unsigned long Size); + bool ItemStart(QItem *Itm,unsigned long long Size); /** \brief Remove the given item from this queue and set its state * to pkgAcquire::Item::StatDone. @@ -540,12 +543,15 @@ class pkgAcquire::Queue /** Shut down all the worker processes associated with this queue * and empty the queue. */ - ~Queue(); + virtual ~Queue(); }; /*}}}*/ /** \brief Iterates over all the URIs being fetched by a pkgAcquire object. {{{*/ class pkgAcquire::UriIterator { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + /** The next queue to iterate over. */ pkgAcquire::Queue *CurQ; /** The item that we currently point at. */ @@ -581,11 +587,15 @@ class pkgAcquire::UriIterator CurQ = CurQ->Next; } } + virtual ~UriIterator() {}; }; /*}}}*/ /** \brief Information about the properties of a single acquire method. {{{*/ struct pkgAcquire::MethodConfig { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + /** \brief The next link on the acquire method list. * * \todo Why not an STL container? @@ -634,16 +644,20 @@ struct pkgAcquire::MethodConfig * appropriate. */ MethodConfig(); + + /* \brief Destructor, empty currently */ + virtual ~MethodConfig() {}; }; /*}}}*/ /** \brief A monitor object for downloads controlled by the pkgAcquire class. {{{ * * \todo Why protected members? - * - * \todo Should the double members be uint64_t? */ class pkgAcquireStatus { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: /** \brief The last time at which this monitor object was updated. */ @@ -655,34 +669,34 @@ class pkgAcquireStatus /** \brief The number of bytes fetched as of the previous call to * pkgAcquireStatus::Pulse, including local items. */ - double LastBytes; + unsigned long long LastBytes; /** \brief The current rate of download as of the most recent call * to pkgAcquireStatus::Pulse, in bytes per second. */ - double CurrentCPS; + unsigned long long CurrentCPS; /** \brief The number of bytes fetched as of the most recent call * to pkgAcquireStatus::Pulse, including local items. */ - double CurrentBytes; + unsigned long long CurrentBytes; /** \brief The total number of bytes that need to be fetched. * * \warning This member is inaccurate, as new items might be * enqueued while the download is in progress! */ - double TotalBytes; + unsigned long long TotalBytes; /** \brief The total number of bytes accounted for by items that * were successfully fetched. */ - double FetchedBytes; + unsigned long long FetchedBytes; /** \brief The amount of time that has elapsed since the download * started. */ - unsigned long ElapsedTime; + unsigned long long ElapsedTime; /** \brief The total number of items that need to be fetched. * @@ -715,7 +729,7 @@ class pkgAcquireStatus * * \param ResumePoint How much of the file was already fetched. */ - virtual void Fetched(unsigned long Size,unsigned long ResumePoint); + virtual void Fetched(unsigned long long Size,unsigned long long ResumePoint); /** \brief Invoked when the user should be prompted to change the * inserted removable media. diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 2dae4258a..40368c91f 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -14,18 +14,23 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/algorithms.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> #include <apt-pkg/version.h> #include <apt-pkg/sptr.h> #include <apt-pkg/acquire-item.h> - -#include <apti18n.h> +#include <apt-pkg/edsp.h> + #include <sys/types.h> #include <cstdlib> #include <algorithm> #include <iostream> +#include <stdio.h> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -91,7 +96,7 @@ bool pkgSimulate::Install(PkgIterator iPkg,string /*File*/) Sim.MarkInstall(Pkg,false); // Look for broken conflicts+predepends. - for (PkgIterator I = Sim.PkgBegin(); I.end() == false; I++) + for (PkgIterator I = Sim.PkgBegin(); I.end() == false; ++I) { if (Sim[I].InstallVer == 0) continue; @@ -140,7 +145,7 @@ bool pkgSimulate::Configure(PkgIterator iPkg) Sim.Update(); // Print out each package and the failed dependencies - for (pkgCache::DepIterator D = Sim[Pkg].InstVerIter(Sim).DependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = Sim[Pkg].InstVerIter(Sim).DependsList(); D.end() == false; ++D) { if (Sim.IsImportantDep(D) == false || (Sim[D] & pkgDepCache::DepInstall) != 0) @@ -204,7 +209,7 @@ bool pkgSimulate::Remove(PkgIterator iPkg,bool Purge) void pkgSimulate::ShortBreaks() { cout << " ["; - for (PkgIterator I = Sim.PkgBegin(); I.end() == false; I++) + for (PkgIterator I = Sim.PkgBegin(); I.end() == false; ++I) { if (Sim[I].InstBroken() == true) { @@ -226,7 +231,7 @@ bool pkgApplyStatus(pkgDepCache &Cache) { pkgDepCache::ActionGroup group(Cache); - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (I->VersionList == 0) continue; @@ -295,13 +300,13 @@ bool pkgFixBroken(pkgDepCache &Cache) pkgDepCache::ActionGroup group(Cache); // Auto upgrade all broken packages - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) if (Cache[I].NowBroken() == true) Cache.MarkInstall(I, true, 0, false); /* Fix packages that are in a NeedArchive state but don't have a downloadable install version */ - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (I.State() != pkgCache::PkgIterator::NeedsUnpack || Cache[I].Delete() == true) @@ -327,6 +332,12 @@ bool pkgFixBroken(pkgDepCache &Cache) */ bool pkgDistUpgrade(pkgDepCache &Cache) { + std::string const solver = _config->Find("APT::Solver", "internal"); + if (solver != "internal") { + OpTextProgress Prog(*_config); + return EDSP::ResolveExternal(solver.c_str(), Cache, false, true, false, &Prog); + } + pkgDepCache::ActionGroup group(Cache); /* Upgrade all installed packages first without autoinst to help the resolver @@ -338,19 +349,19 @@ bool pkgDistUpgrade(pkgDepCache &Cache) /* Auto upgrade all installed packages, this provides the basis for the installation */ - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) if (I->CurrentVer != 0) Cache.MarkInstall(I, true, 0, false); /* Now, auto upgrade all essential packages - this ensures that the essential packages are present and working */ - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) if ((I->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential) Cache.MarkInstall(I, true, 0, false); /* We do it again over all previously installed packages to force conflict resolution on them all. */ - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) if (I->CurrentVer != 0) Cache.MarkInstall(I, false, 0, false); @@ -359,7 +370,7 @@ bool pkgDistUpgrade(pkgDepCache &Cache) // Hold back held packages. if (_config->FindB("APT::Ignore-Hold",false) == false) { - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (I->SelectedState == pkgCache::State::Hold) { @@ -379,6 +390,12 @@ bool pkgDistUpgrade(pkgDepCache &Cache) to install packages not marked for install */ bool pkgAllUpgrade(pkgDepCache &Cache) { + std::string const solver = _config->Find("APT::Solver", "internal"); + if (solver != "internal") { + OpTextProgress Prog(*_config); + return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, &Prog); + } + pkgDepCache::ActionGroup group(Cache); pkgProblemResolver Fix(&Cache); @@ -387,7 +404,7 @@ bool pkgAllUpgrade(pkgDepCache &Cache) return false; // Upgrade all installed packages - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (Cache[I].Install() == true) Fix.Protect(I); @@ -421,7 +438,7 @@ bool pkgMinimizeUpgrade(pkgDepCache &Cache) do { Change = false; - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { // Not interesting if (Cache[I].Upgrade() == false || Cache[I].NewInstall() == true) @@ -438,7 +455,7 @@ bool pkgMinimizeUpgrade(pkgDepCache &Cache) Change = true; } } - Count++; + ++Count; } while (Change == true && Count < 10); @@ -525,7 +542,7 @@ void pkgProblemResolver::MakeScores() << " AddEssential => " << AddEssential << endl; // Generate the base scores for a package based on its properties - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (Cache[I].InstallVer == 0) continue; @@ -552,12 +569,12 @@ void pkgProblemResolver::MakeScores() } // Now that we have the base scores we go and propogate dependencies - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (Cache[I].InstallVer == 0) continue; - for (pkgCache::DepIterator D = Cache[I].InstVerIter(Cache).DependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = Cache[I].InstVerIter(Cache).DependsList(); D.end() == false; ++D) { if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends) @@ -574,12 +591,12 @@ void pkgProblemResolver::MakeScores() /* Now we cause 1 level of dependency inheritance, that is we add the score of the packages that depend on the target Package. This fortifies high scoring packages */ - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (Cache[I].InstallVer == 0) continue; - for (pkgCache::DepIterator D = I.RevDependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = I.RevDependsList(); D.end() == false; ++D) { // Only do it for the install version if ((pkgCache::Version *)D.ParentVer() != Cache[D.ParentPkg()].InstallVer || @@ -594,9 +611,9 @@ void pkgProblemResolver::MakeScores() /* Now we propogate along provides. This makes the packages that provide important packages extremely important */ - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { - for (pkgCache::PrvIterator P = I.ProvidesList(); P.end() == false; P++) + for (pkgCache::PrvIterator P = I.ProvidesList(); P.end() == false; ++P) { // Only do it once per package if ((pkgCache::Version *)P.OwnerVer() != Cache[P.OwnerPkg()].InstallVer) @@ -607,7 +624,7 @@ void pkgProblemResolver::MakeScores() /* Protected things are pushed really high up. This number should put them ahead of everything */ - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if ((Flags[I->ID] & Protected) != 0) Scores[I->ID] += AddProtected; @@ -704,7 +721,7 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) if (Start == End) break; - Start++; + ++Start; } if (Fail == true) break; @@ -725,7 +742,20 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) return true; } /*}}}*/ -// ProblemResolver::Resolve - Run the resolution pass /*{{{*/ +// ProblemResolver::Resolve - calls a resolver to fix the situation /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool pkgProblemResolver::Resolve(bool BrokenFix) +{ + std::string const solver = _config->Find("APT::Solver", "internal"); + if (solver != "internal") { + OpTextProgress Prog(*_config); + return EDSP::ResolveExternal(solver.c_str(), Cache, false, false, false, &Prog); + } + return ResolveInternal(BrokenFix); +} + /*}}}*/ +// ProblemResolver::ResolveInternal - Run the resolution pass /*{{{*/ // --------------------------------------------------------------------- /* This routines works by calculating a score for each package. The score is derived by considering the package's priority and all reverse @@ -739,18 +769,16 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) The BrokenFix flag enables a mode where the algorithm tries to upgrade packages to advoid problems. */ -bool pkgProblemResolver::Resolve(bool BrokenFix) +bool pkgProblemResolver::ResolveInternal(bool const BrokenFix) { pkgDepCache::ActionGroup group(Cache); - unsigned long Size = Cache.Head().PackageCount; - // Record which packages are marked for install bool Again = false; do { Again = false; - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (Cache[I].Install() == true) Flags[I->ID] |= PreInstalled; @@ -774,14 +802,16 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) clog << "Starting" << endl; MakeScores(); - + + unsigned long const Size = Cache.Head().PackageCount; + /* We have to order the packages so that the broken fixing pass operates from highest score to lowest. This prevents problems when high score packages cause the removal of lower score packages that would cause the removal of even lower score packages. */ SPtrArray<pkgCache::Package *> PList = new pkgCache::Package *[Size]; pkgCache::Package **PEnd = PList; - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) *PEnd++ = I; This = this; qsort(PList,PEnd - PList,sizeof(*PList),&ScoreSort); @@ -901,7 +931,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) } else { - Start++; + ++Start; // We only worry about critical deps. if (Start.IsCritical() != true) continue; @@ -1150,7 +1180,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) { // See if this is the result of a hold pkgCache::PkgIterator I = Cache.PkgBegin(); - for (;I.end() != true; I++) + for (;I.end() != true; ++I) { if (Cache[I].InstBroken() == false) continue; @@ -1162,7 +1192,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) // set the auto-flags (mvo: I'm not sure if we _really_ need this) pkgCache::PkgIterator I = Cache.PkgBegin(); - for (;I.end() != true; I++) { + 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.FullName(false) @@ -1176,6 +1206,31 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) return true; } /*}}}*/ + +// ProblemResolver::BreaksInstOrPolicy - Check if the given pkg is broken/*{{{*/ +// --------------------------------------------------------------------- +/* This checks if the given package is broken either by a hard dependency + (InstBroken()) or by introducing a new policy breakage e.g. new + unsatisfied recommends for a package that was in "policy-good" state + + Note that this is not perfect as it will ignore further breakage + for already broken policy (recommends) +*/ +bool pkgProblemResolver::InstOrNewPolicyBroken(pkgCache::PkgIterator I) +{ + + // a broken install is always a problem + if (Cache[I].InstBroken() == true) + return true; + + // a newly broken policy (recommends/suggests) is a problem + if (Cache[I].NowPolicyBroken() == false && + Cache[I].InstPolicyBroken() == true) + return true; + + return false; +} + // ProblemResolver::ResolveByKeep - Resolve problems using keep /*{{{*/ // --------------------------------------------------------------------- /* This is the work horse of the soft upgrade routine. It is very gental @@ -1183,6 +1238,21 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) system was non-broken previously. */ bool pkgProblemResolver::ResolveByKeep() { + std::string const solver = _config->Find("APT::Solver", "internal"); + if (solver != "internal") { + OpTextProgress Prog(*_config); + return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, &Prog); + } + return ResolveByKeepInternal(); +} + /*}}}*/ +// ProblemResolver::ResolveByKeepInternal - Resolve problems using keep /*{{{*/ +// --------------------------------------------------------------------- +/* This is the work horse of the soft upgrade routine. It is very gental + in that it does not install or remove any packages. It is assumed that the + system was non-broken previously. */ +bool pkgProblemResolver::ResolveByKeepInternal() +{ pkgDepCache::ActionGroup group(Cache); unsigned long Size = Cache.Head().PackageCount; @@ -1195,7 +1265,7 @@ bool pkgProblemResolver::ResolveByKeep() would cause the removal of even lower score packages. */ pkgCache::Package **PList = new pkgCache::Package *[Size]; pkgCache::Package **PEnd = PList; - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) *PEnd++ = I; This = this; qsort(PList,PEnd - PList,sizeof(*PList),&ScoreSort); @@ -1220,9 +1290,12 @@ bool pkgProblemResolver::ResolveByKeep() { pkgCache::PkgIterator I(Cache,*K); - if (Cache[I].InstallVer == 0 || Cache[I].InstBroken() == false) + if (Cache[I].InstallVer == 0) continue; + if (InstOrNewPolicyBroken(I) == false) + continue; + /* Keep the package. If this works then great, otherwise we have to be significantly more agressive and manipulate its dependencies */ if ((Flags[I->ID] & Protected) == 0) @@ -1230,7 +1303,7 @@ bool pkgProblemResolver::ResolveByKeep() if (Debug == true) clog << "Keeping package " << I.FullName(false) << endl; Cache.MarkKeep(I, false, false); - if (Cache[I].InstBroken() == false) + if (InstOrNewPolicyBroken(I) == false) { K = PList - 1; continue; @@ -1280,23 +1353,23 @@ bool pkgProblemResolver::ResolveByKeep() Cache.MarkKeep(Pkg, false, false); } - if (Cache[I].InstBroken() == false) + if (InstOrNewPolicyBroken(I) == false) break; } - if (Cache[I].InstBroken() == false) + if (InstOrNewPolicyBroken(I) == false) break; if (Start == End) break; - Start++; + ++Start; } - if (Cache[I].InstBroken() == false) + if (InstOrNewPolicyBroken(I) == false) break; } - if (Cache[I].InstBroken() == true) + if (InstOrNewPolicyBroken(I) == true) continue; // Restart again. @@ -1316,7 +1389,7 @@ void pkgProblemResolver::InstallProtect() { pkgDepCache::ActionGroup group(Cache); - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if ((Flags[I->ID] & Protected) == Protected) { @@ -1396,7 +1469,7 @@ bool ListUpdate(pkgAcquireStatus &Stat, bool Failed = false; bool TransientNetworkFailure = false; for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); - I != Fetcher.ItemsEnd(); I++) + I != Fetcher.ItemsEnd(); ++I) { if ((*I)->Status == pkgAcquire::Item::StatDone) continue; diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h index ebe31cc10..86d5fbd53 100644 --- a/apt-pkg/algorithms.h +++ b/apt-pkg/algorithms.h @@ -78,6 +78,9 @@ private: /*}}}*/ class pkgProblemResolver /*{{{*/ { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + pkgDepCache &Cache; typedef pkgCache::PkgIterator PkgIterator; typedef pkgCache::VerIterator VerIterator; @@ -105,7 +108,13 @@ class pkgProblemResolver /*{{{*/ void MakeScores(); bool DoUpgrade(pkgCache::PkgIterator Pkg); + + bool ResolveInternal(bool const BrokenFix = false); + bool ResolveByKeepInternal(); + protected: + bool InstOrNewPolicyBroken(pkgCache::PkgIterator Pkg); + public: inline void Protect(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= Protected; Cache.MarkProtected(Pkg);}; diff --git a/apt-pkg/aptconfiguration.cc b/apt-pkg/aptconfiguration.cc index e8c8e73d0..e1bc94f31 100644 --- a/apt-pkg/aptconfiguration.cc +++ b/apt-pkg/aptconfiguration.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/aptconfiguration.h> #include <apt-pkg/configuration.h> #include <apt-pkg/error.h> @@ -53,7 +55,7 @@ const Configuration::getCompressionTypes(bool const &Cached) { // load the order setting into our vector std::vector<std::string> const order = _config->FindVector("Acquire::CompressionTypes::Order"); for (std::vector<std::string>::const_iterator o = order.begin(); - o != order.end(); o++) { + o != order.end(); ++o) { if ((*o).empty() == true) continue; // ignore types we have no method ready to use @@ -274,7 +276,7 @@ std::vector<std::string> const Configuration::getLanguages(bool const &All, // then needed and ensure the codes are not listed twice. bool noneSeen = false; for (std::vector<string>::const_iterator l = lang.begin(); - l != lang.end(); l++) { + l != lang.end(); ++l) { if (*l == "environment") { for (std::vector<string>::const_iterator e = environment.begin(); e != environment.end(); ++e) { @@ -352,7 +354,7 @@ std::vector<std::string> const Configuration::getArchitectures(bool const &Cache if (archs.empty() == true || std::find(archs.begin(), archs.end(), arch) == archs.end()) - archs.push_back(arch); + archs.insert(archs.begin(), arch); // erase duplicates and empty strings for (std::vector<string>::reverse_iterator a = archs.rbegin(); diff --git a/apt-pkg/aptconfiguration.h b/apt-pkg/aptconfiguration.h index 815db6cae..e098d0fd6 100644 --- a/apt-pkg/aptconfiguration.h +++ b/apt-pkg/aptconfiguration.h @@ -13,6 +13,7 @@ // Include Files /*{{{*/ #include <string> #include <vector> +#include <limits> /*}}}*/ namespace APT { class Configuration { /*{{{*/ @@ -36,7 +37,7 @@ public: /*{{{*/ * \param Cached saves the result so we need to calculated it only once * this parameter should ony be used for testing purposes. * - * \return a vector of (all) Language Codes in the prefered usage order + * \return a vector of the compression types in the prefered usage order */ std::vector<std::string> static const getCompressionTypes(bool const &Cached = true); @@ -94,7 +95,7 @@ public: /*{{{*/ Compressor(char const *name, char const *extension, char const *binary, char const *compressArg, char const *uncompressArg, unsigned short const cost); - Compressor() {}; + Compressor() : Cost(std::numeric_limits<unsigned short>::max()) {}; }; /** \brief Return a vector of Compressors supported for data.tar's diff --git a/apt-pkg/cachefile.cc b/apt-pkg/cachefile.cc index 964c5bd8b..f38dfc581 100644 --- a/apt-pkg/cachefile.cc +++ b/apt-pkg/cachefile.cc @@ -12,6 +12,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/cachefile.h> #include <apt-pkg/error.h> #include <apt-pkg/sourcelist.h> @@ -21,7 +23,7 @@ #include <apt-pkg/pkgsystem.h> #include <apt-pkg/acquire-item.h> #include <apt-pkg/fileutl.h> - + #include <apti18n.h> /*}}}*/ // CacheFile::CacheFile - Constructor /*{{{*/ @@ -163,6 +165,20 @@ bool pkgCacheFile::Open(OpProgress *Progress, bool WithLock) return true; } /*}}}*/ +// CacheFile::RemoveCaches - remove all cache files from disk /*{{{*/ +// --------------------------------------------------------------------- +/* */ +void pkgCacheFile::RemoveCaches() +{ + std::string const pkgcache = _config->FindFile("Dir::cache::pkgcache"); + std::string const srcpkgcache = _config->FindFile("Dir::cache::srcpkgcache"); + + if (pkgcache.empty() == false && RealFileExists(pkgcache) == true) + unlink(pkgcache.c_str()); + if (srcpkgcache.empty() == false && RealFileExists(srcpkgcache) == true) + unlink(srcpkgcache.c_str()); +} + /*}}}*/ // CacheFile::Close - close the cache files /*{{{*/ // --------------------------------------------------------------------- /* */ diff --git a/apt-pkg/cachefile.h b/apt-pkg/cachefile.h index 09d3ec267..243061f0f 100644 --- a/apt-pkg/cachefile.h +++ b/apt-pkg/cachefile.h @@ -25,6 +25,9 @@ class pkgCacheFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: MMap *Map; @@ -57,6 +60,7 @@ class pkgCacheFile bool Open(OpProgress *Progress = NULL, bool WithLock = true); inline bool ReadOnlyOpen(OpProgress *Progress = NULL) { return Open(Progress, false); }; __deprecated bool Open(OpProgress &Progress,bool const &WithLock = true) { return Open(&Progress, WithLock); }; + static void RemoveCaches(); void Close(); inline pkgCache* GetPkgCache() { BuildCaches(NULL, false); return Cache; }; diff --git a/apt-pkg/cachefilter.cc b/apt-pkg/cachefilter.cc index 8f0725ea3..210a9a9ab 100644 --- a/apt-pkg/cachefilter.cc +++ b/apt-pkg/cachefilter.cc @@ -4,6 +4,8 @@ Collection of functor classes */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/cachefilter.h> #include <apt-pkg/error.h> #include <apt-pkg/pkgcache.h> diff --git a/apt-pkg/cachefilter.h b/apt-pkg/cachefilter.h index e7ab1723f..5d426008b 100644 --- a/apt-pkg/cachefilter.h +++ b/apt-pkg/cachefilter.h @@ -16,6 +16,8 @@ namespace APT { namespace CacheFilter { // PackageNameMatchesRegEx /*{{{*/ class PackageNameMatchesRegEx { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; regex_t* pattern; public: PackageNameMatchesRegEx(std::string const &Pattern); diff --git a/apt-pkg/cacheiterators.h b/apt-pkg/cacheiterators.h index 0c9813c6d..b97a1a589 100644 --- a/apt-pkg/cacheiterators.h +++ b/apt-pkg/cacheiterators.h @@ -206,15 +206,10 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> { inline const char *VerStr() const {return S->VerStr == 0?0:Owner->StrP + S->VerStr;}; inline const char *Section() const {return S->Section == 0?0:Owner->StrP + S->Section;}; inline const char *Arch() const { - if (S->MultiArch == pkgCache::Version::All || - S->MultiArch == pkgCache::Version::AllForeign || - S->MultiArch == pkgCache::Version::AllAllowed) + if (S->MultiArch == pkgCache::Version::All) return "all"; return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch; }; - __deprecated inline const char *Arch(bool const pseudo) const { - return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch; - }; inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);}; inline DescIterator DescriptionList() const; @@ -227,7 +222,6 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> { string RelStr() const; bool Automatic() const; - __deprecated bool Pseudo() const; VerFileIterator NewestFile() const; inline VerIterator(pkgCache &Owner,Version *Trg = 0) : Iterator<Version, VerIterator>(Owner, Trg) { diff --git a/apt-pkg/cacheset.cc b/apt-pkg/cacheset.cc index a1de613e2..386ecfb5f 100644 --- a/apt-pkg/cacheset.cc +++ b/apt-pkg/cacheset.cc @@ -9,6 +9,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/aptconfiguration.h> #include <apt-pkg/cachefilter.h> #include <apt-pkg/cacheset.h> @@ -16,11 +18,11 @@ #include <apt-pkg/strutl.h> #include <apt-pkg/versionmatch.h> -#include <apti18n.h> - #include <vector> #include <regex.h> + +#include <apti18n.h> /*}}}*/ namespace APT { // FromTask - Return all packages in the cache from a specific task /*{{{*/ diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h index eb4f04d72..061d0a2f4 100644 --- a/apt-pkg/cacheset.h +++ b/apt-pkg/cacheset.h @@ -257,7 +257,6 @@ public: /*{{{*/ inline const char *VerStr() const { return (**this).VerStr(); }; inline const char *Section() const { return (**this).Section(); }; inline const char *Arch() const { return (**this).Arch(); }; - __deprecated inline const char *Arch(bool const pseudo) const { return (**this).Arch(); }; inline pkgCache::PkgIterator ParentPkg() const { return (**this).ParentPkg(); }; inline pkgCache::DescIterator DescriptionList() const { return (**this).DescriptionList(); }; inline pkgCache::DescIterator TranslatedDescription() const { return (**this).TranslatedDescription(); }; @@ -268,7 +267,6 @@ public: /*{{{*/ inline const char *PriorityType() const { return (**this).PriorityType(); }; inline string RelStr() const { return (**this).RelStr(); }; inline bool Automatic() const { return (**this).Automatic(); }; - __deprecated inline bool Pseudo() const { return false; }; inline pkgCache::VerFileIterator NewestFile() const { return (**this).NewestFile(); }; }; /*}}}*/ diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index 2a914c665..392cd890e 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -1,5 +1,6 @@ /* */ +#include<config.h> #include<apt-pkg/init.h> #include<apt-pkg/error.h> @@ -10,8 +11,6 @@ #include<sstream> #include<fstream> -#include<config.h> -#include<apti18n.h> #include <sys/stat.h> #include <fcntl.h> #include <dirent.h> @@ -22,6 +21,8 @@ #include "indexcopy.h" +#include<apti18n.h> + using namespace std; // FindPackages - Find the package files on the CDROM /*{{{*/ @@ -310,7 +311,7 @@ void pkgCdrom::ReduceSourcelist(string CD,vector<string> &List) sort(List.begin(),List.end()); // Collect similar entries - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) { // Find a space.. string::size_type Space = (*I).find(' '); @@ -322,7 +323,7 @@ void pkgCdrom::ReduceSourcelist(string CD,vector<string> &List) string Word1 = string(*I,Space,SSpace-Space); string Prefix = string(*I,0,Space); - for (vector<string>::iterator J = List.begin(); J != I; J++) + for (vector<string>::iterator J = List.begin(); J != I; ++J) { // Find a space.. string::size_type Space2 = (*J).find(' '); @@ -405,7 +406,7 @@ bool pkgCdrom::WriteDatabase(Configuration &Cnf) that were the same. */ bool pkgCdrom::WriteSourceList(string Name,vector<string> &List,bool Source) { - if (List.size() == 0) + if (List.empty() == true) return true; string File = _config->FindFile("Dir::Etc::sourcelist"); @@ -455,7 +456,7 @@ bool pkgCdrom::WriteSourceList(string Name,vector<string> &List,bool Source) if (First == true) { - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) { string::size_type Space = (*I).find(' '); if (Space == string::npos) @@ -489,7 +490,7 @@ bool pkgCdrom::WriteSourceList(string Name,vector<string> &List,bool Source) // Just in case the file was empty if (First == true) { - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) { string::size_type Space = (*I).find(' '); if (Space == string::npos) @@ -661,13 +662,13 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ if (_config->FindB("Debug::aptcdrom",false) == true) { cout << "I found (binary):" << endl; - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) cout << *I << endl; cout << "I found (source):" << endl; - for (vector<string>::iterator I = SourceList.begin(); I != SourceList.end(); I++) + for (vector<string>::iterator I = SourceList.begin(); I != SourceList.end(); ++I) cout << *I << endl; cout << "I found (Signatures):" << endl; - for (vector<string>::iterator I = SigList.begin(); I != SigList.end(); I++) + for (vector<string>::iterator I = SigList.begin(); I != SigList.end(); ++I) cout << *I << endl; } @@ -688,7 +689,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ log->Update(msg.str(), STEP_SCAN); } - if (List.size() == 0 && SourceList.size() == 0) + if (List.empty() == true && SourceList.empty() == true) { if (_config->FindB("APT::CDROM::NoMount",false) == false) UnmountCdrom(CDROM); @@ -712,7 +713,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ { // Escape special characters string::iterator J = Name.begin(); - for (; J != Name.end(); J++) + for (; J != Name.end(); ++J) if (*J == '"' || *J == ']' || *J == '[') *J = '_'; @@ -757,7 +758,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ // Escape special characters string::iterator J = Name.begin(); - for (; J != Name.end(); J++) + for (; J != Name.end(); ++J) if (*J == '"' || *J == ']' || *J == '[') *J = '_'; @@ -804,7 +805,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ if(log != NULL) log->Update(_("Source list entries for this disc are:\n")); - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) { string::size_type Space = (*I).find(' '); if (Space == string::npos) @@ -823,7 +824,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ } } - for (vector<string>::iterator I = SourceList.begin(); I != SourceList.end(); I++) + for (vector<string>::iterator I = SourceList.begin(); I != SourceList.end(); ++I) { string::size_type Space = (*I).find(' '); if (Space == string::npos) @@ -874,9 +875,7 @@ pkgUdevCdromDevices::Dlopen() /*{{{*/ libudev_handle = h; udev_new = (udev* (*)(void)) dlsym(h, "udev_new"); udev_enumerate_add_match_property = (int (*)(udev_enumerate*, const char*, const char*))dlsym(h, "udev_enumerate_add_match_property"); -#if 0 // FIXME: uncomment on next ABI break udev_enumerate_add_match_sysattr = (int (*)(udev_enumerate*, const char*, const char*))dlsym(h, "udev_enumerate_add_match_sysattr"); -#endif udev_enumerate_scan_devices = (int (*)(udev_enumerate*))dlsym(h, "udev_enumerate_scan_devices"); udev_enumerate_get_list_entry = (udev_list_entry* (*)(udev_enumerate*))dlsym(h, "udev_enumerate_get_list_entry"); udev_device_new_from_syspath = (udev_device* (*)(udev*, const char*))dlsym(h, "udev_device_new_from_syspath"); @@ -890,10 +889,8 @@ pkgUdevCdromDevices::Dlopen() /*{{{*/ return true; } /*}}}*/ - /*{{{*/ -// compatiblity only with the old API/ABI, can be removed on the next -// ABI break +// convenience interface, this will just call ScanForRemovable vector<CdromDevice> pkgUdevCdromDevices::Scan() { @@ -918,10 +915,6 @@ pkgUdevCdromDevices::ScanForRemovable(bool CdromOnly) if (CdromOnly) udev_enumerate_add_match_property(enumerate, "ID_CDROM", "1"); else { -#if 1 // FIXME: remove the next two lines on the next ABI break - int (*udev_enumerate_add_match_sysattr)(struct udev_enumerate *udev_enumerate, const char *property, const char *value); - udev_enumerate_add_match_sysattr = (int (*)(udev_enumerate*, const char*, const char*))dlsym(libudev_handle, "udev_enumerate_add_match_sysattr"); -#endif udev_enumerate_add_match_sysattr(enumerate, "removable", "1"); } diff --git a/apt-pkg/cdrom.h b/apt-pkg/cdrom.h index e83c38582..614062cbb 100644 --- a/apt-pkg/cdrom.h +++ b/apt-pkg/cdrom.h @@ -92,9 +92,7 @@ class pkgUdevCdromDevices /*{{{*/ struct udev_enumerate *(*udev_enumerate_new) (struct udev *udev); struct udev_list_entry *(*udev_list_entry_get_next)(struct udev_list_entry *list_entry); const char* (*udev_device_get_property_value)(struct udev_device *udev_device, const char *key); -#if 0 // FIXME: uncomment on next ABI break int (*udev_enumerate_add_match_sysattr)(struct udev_enumerate *udev_enumerate, const char *property, const char *value); -#endif // end libudev dlopen public: @@ -104,11 +102,11 @@ class pkgUdevCdromDevices /*{{{*/ // try to open bool Dlopen(); - // this is the new interface - vector<CdromDevice> ScanForRemovable(bool CdromOnly); - // FIXME: compat with the old interface/API/ABI only + // convenience interface, this will just call ScanForRemovable + // with "APT::cdrom::CdromOnly" vector<CdromDevice> Scan(); + vector<CdromDevice> ScanForRemovable(bool CdromOnly); }; /*}}}*/ diff --git a/apt-pkg/clean.cc b/apt-pkg/clean.cc index 629afd7cf..1f96e941b 100644 --- a/apt-pkg/clean.cc +++ b/apt-pkg/clean.cc @@ -8,17 +8,19 @@ ##################################################################### */ /*}}}*/ // Includes /*{{{*/ +#include<config.h> + #include <apt-pkg/clean.h> #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> #include <apt-pkg/aptconfiguration.h> -#include <apti18n.h> - #include <dirent.h> #include <sys/stat.h> #include <unistd.h> + +#include <apti18n.h> /*}}}*/ // ArchiveCleaner::Go - Perform smart cleanup of the archive /*{{{*/ // --------------------------------------------------------------------- @@ -85,12 +87,12 @@ bool pkgArchiveCleaner::Go(string Dir,pkgCache &Cache) if (P.end() != true) { pkgCache::VerIterator V = P.VersionList(); - for (; V.end() == false; V++) + for (; V.end() == false; ++V) { // See if we can fetch this version at all bool IsFetchable = false; for (pkgCache::VerFileIterator J = V.FileList(); - J.end() == false; J++) + J.end() == false; ++J) { if (CleanInstalled == true && (J.File()->Flags & pkgCache::Flag::NotSource) != 0) diff --git a/apt-pkg/clean.h b/apt-pkg/clean.h index 2aee2bf54..1ebf68dc9 100644 --- a/apt-pkg/clean.h +++ b/apt-pkg/clean.h @@ -15,6 +15,9 @@ class pkgArchiveCleaner { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: virtual void Erase(const char * /*File*/,string /*Pkg*/,string /*Ver*/,struct stat & /*St*/) {}; diff --git a/apt-pkg/contrib/cdromutl.cc b/apt-pkg/contrib/cdromutl.cc index 821e6d688..9de795b60 100644 --- a/apt-pkg/contrib/cdromutl.cc +++ b/apt-pkg/contrib/cdromutl.cc @@ -10,6 +10,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/cdromutl.h> #include <apt-pkg/error.h> #include <apt-pkg/md5.h> @@ -17,8 +19,6 @@ #include <apt-pkg/configuration.h> #include <apt-pkg/strutl.h> -#include <apti18n.h> - #include <sys/wait.h> #include <sys/statvfs.h> #include <dirent.h> @@ -26,6 +26,8 @@ #include <sys/stat.h> #include <unistd.h> #include <stdio.h> + +#include <apti18n.h> /*}}}*/ // IsMounted - Returns true if the mount point is mounted /*{{{*/ @@ -258,7 +260,9 @@ string FindMountPointForDevice(const char *devnode) if(TokSplitString(' ', buf, out, 10)) { fclose(f); - return string(out[1]); + // unescape the \0XXX chars in the path + string mount_point = out[1]; + return DeEscapeString(mount_point); } } } diff --git a/apt-pkg/contrib/cmndline.cc b/apt-pkg/contrib/cmndline.cc index 5a9944096..34e90da20 100644 --- a/apt-pkg/contrib/cmndline.cc +++ b/apt-pkg/contrib/cmndline.cc @@ -11,11 +11,13 @@ ##################################################################### */ /*}}}*/ // Include files /*{{{*/ +#include<config.h> + #include <apt-pkg/cmndline.h> #include <apt-pkg/error.h> #include <apt-pkg/strutl.h> -#include <apti18n.h> +#include <apti18n.h> /*}}}*/ using namespace std; diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc index cc7093fe2..0f7b37ee9 100644 --- a/apt-pkg/contrib/configuration.cc +++ b/apt-pkg/contrib/configuration.cc @@ -15,16 +15,19 @@ ##################################################################### */ /*}}}*/ // Include files /*{{{*/ +#include <config.h> + #include <apt-pkg/configuration.h> #include <apt-pkg/error.h> #include <apt-pkg/strutl.h> #include <apt-pkg/fileutl.h> -#include <apti18n.h> #include <vector> #include <fstream> #include <iostream> +#include <apti18n.h> + using namespace std; /*}}}*/ @@ -318,6 +321,19 @@ void Configuration::CndSet(const char *Name,const string &Value) Itm->Value = Value; } /*}}}*/ +// Configuration::Set - Set an integer value /*{{{*/ +// --------------------------------------------------------------------- +/* */ +void Configuration::CndSet(const char *Name,int const Value) +{ + Item *Itm = Lookup(Name,true); + if (Itm == 0 || Itm->Value.empty() == false) + return; + char S[300]; + snprintf(S,sizeof(S),"%i",Value); + Itm->Value = S; +} + /*}}}*/ // Configuration::Set - Set a value /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -659,9 +675,9 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool const &AsSectio // Put the last fragment into the buffer std::string::const_iterator NonWhitespaceStart = Start; std::string::const_iterator NonWhitespaceStop = I; - for (; NonWhitespaceStart != I && isspace(*NonWhitespaceStart) != 0; NonWhitespaceStart++) + for (; NonWhitespaceStart != I && isspace(*NonWhitespaceStart) != 0; ++NonWhitespaceStart) ; - for (; NonWhitespaceStop != NonWhitespaceStart && isspace(NonWhitespaceStop[-1]) != 0; NonWhitespaceStop--) + for (; NonWhitespaceStop != NonWhitespaceStart && isspace(NonWhitespaceStop[-1]) != 0; --NonWhitespaceStop) ; if (LineBuffer.empty() == false && NonWhitespaceStop - NonWhitespaceStart != 0) LineBuffer += ' '; @@ -837,7 +853,7 @@ bool ReadConfigDir(Configuration &Conf,const string &Dir, vector<string> const List = GetListOfFilesInDir(Dir, "conf", true, true); // Read the files - for (vector<string>::const_iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I) if (ReadConfigFile(Conf,*I,AsSectional,Depth) == false) return false; return true; diff --git a/apt-pkg/contrib/configuration.h b/apt-pkg/contrib/configuration.h index 71e5a0e47..2844ec097 100644 --- a/apt-pkg/contrib/configuration.h +++ b/apt-pkg/contrib/configuration.h @@ -82,6 +82,7 @@ class Configuration inline void Set(const string &Name,const string &Value) {Set(Name.c_str(),Value);}; void CndSet(const char *Name,const string &Value); + void CndSet(const char *Name,const int Value); void Set(const char *Name,const string &Value); void Set(const char *Name,const int &Value); diff --git a/apt-pkg/contrib/crc-16.cc b/apt-pkg/contrib/crc-16.cc index b300ed67e..4058821f9 100644 --- a/apt-pkg/contrib/crc-16.cc +++ b/apt-pkg/contrib/crc-16.cc @@ -15,6 +15,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/crc-16.h> /*}}}*/ @@ -63,7 +65,7 @@ static unsigned short const crc16_table[256] = /* Recompute the FCS with one more character appended. */ #define CalcFCS(fcs, c) (((fcs) >> 8) ^ crc16_table[((fcs) ^ (c)) & 0xff]) unsigned short AddCRC16(unsigned short fcs, void const *Buf, - unsigned long len) + unsigned long long len) { unsigned char const *buf = (unsigned char const *)Buf; while (len--) diff --git a/apt-pkg/contrib/crc-16.h b/apt-pkg/contrib/crc-16.h index f30678bac..702de40b2 100644 --- a/apt-pkg/contrib/crc-16.h +++ b/apt-pkg/contrib/crc-16.h @@ -12,6 +12,6 @@ #define INIT_FCS 0xffff unsigned short AddCRC16(unsigned short fcs, void const *buf, - unsigned long len); + unsigned long long len); #endif diff --git a/apt-pkg/contrib/error.cc b/apt-pkg/contrib/error.cc index 18810d2a4..122e2c809 100644 --- a/apt-pkg/contrib/error.cc +++ b/apt-pkg/contrib/error.cc @@ -13,6 +13,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/error.h> #include <iostream> @@ -24,8 +26,7 @@ #include <string> #include <cstring> -#include "config.h" - /*}}}*/ + /*}}}*/ // Global Error Object /*{{{*/ /* If the implementation supports posix threads then the accessor function @@ -193,7 +194,7 @@ bool GlobalError::PopMessage(std::string &Text) { // check if another error message is pending for (std::list<Item>::const_iterator m = Messages.begin(); - m != Messages.end(); m++) + m != Messages.end(); ++m) if (m->Type == ERROR || m->Type == FATAL) return Ret; @@ -210,7 +211,7 @@ void GlobalError::DumpErrors(std::ostream &out, MsgType const &threshold, Messages.insert(Messages.begin(), s->Messages.begin(), s->Messages.end()); for (std::list<Item>::const_iterator m = Messages.begin(); - m != Messages.end(); m++) + m != Messages.end(); ++m) if (m->Type >= threshold) out << (*m) << std::endl; Discard(); @@ -231,7 +232,7 @@ bool GlobalError::empty(MsgType const &trashhold) const { return true; for (std::list<Item>::const_iterator m = Messages.begin(); - m != Messages.end(); m++) + m != Messages.end(); ++m) if (m->Type >= trashhold) return false; diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 50019872e..95058cbde 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -18,14 +18,14 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> #include <apt-pkg/sptr.h> #include <apt-pkg/configuration.h> -#include <apti18n.h> - #include <cstdlib> #include <cstring> #include <cstdio> @@ -43,10 +43,11 @@ #include <set> #include <algorithm> -#include <config.h> #ifdef WORDS_BIGENDIAN #include <inttypes.h> #endif + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -132,10 +133,10 @@ bool CopyFile(FileFd &From,FileFd &To) // Buffered copy between fds SPtrArray<unsigned char> Buf = new unsigned char[64000]; - unsigned long Size = From.Size(); + unsigned long long Size = From.Size(); while (Size != 0) { - unsigned long ToRead = Size; + unsigned long long ToRead = Size; if (Size > 64000) ToRead = 64000; @@ -446,6 +447,17 @@ string SafeGetCWD() return S; } /*}}}*/ +// GetModificationTime - Get the mtime of the given file or -1 on error /*{{{*/ +// --------------------------------------------------------------------- +/* We return / on failure. */ +time_t GetModificationTime(string const &Path) +{ + struct stat St; + if (stat(Path.c_str(), &St) < 0) + return -1; + return St.st_mtime; +} + /*}}}*/ // flNotDir - Strip the directory from the filename /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -799,7 +811,7 @@ FileFd::~FileFd() // --------------------------------------------------------------------- /* We are carefull to handle interruption by a signal while reading gracefully. */ -bool FileFd::Read(void *To,unsigned long Size,unsigned long *Actual) +bool FileFd::Read(void *To,unsigned long long Size,unsigned long long *Actual) { int Res; errno = 0; @@ -838,13 +850,13 @@ bool FileFd::Read(void *To,unsigned long Size,unsigned long *Actual) } Flags |= Fail; - return _error->Error(_("read, still have %lu to read but none left"),Size); + return _error->Error(_("read, still have %llu to read but none left"), Size); } /*}}}*/ // FileFd::Write - Write to the file /*{{{*/ // --------------------------------------------------------------------- /* */ -bool FileFd::Write(const void *From,unsigned long Size) +bool FileFd::Write(const void *From,unsigned long long Size) { int Res; errno = 0; @@ -871,13 +883,13 @@ bool FileFd::Write(const void *From,unsigned long Size) return true; Flags |= Fail; - return _error->Error(_("write, still have %lu to write but couldn't"),Size); + return _error->Error(_("write, still have %llu to write but couldn't"), Size); } /*}}}*/ // FileFd::Seek - Seek in the file /*{{{*/ // --------------------------------------------------------------------- /* */ -bool FileFd::Seek(unsigned long To) +bool FileFd::Seek(unsigned long long To) { int res; if (gz) @@ -887,7 +899,7 @@ bool FileFd::Seek(unsigned long To) if (res != (signed)To) { Flags |= Fail; - return _error->Error("Unable to seek to %lu",To); + return _error->Error("Unable to seek to %llu", To); } return true; @@ -896,7 +908,7 @@ bool FileFd::Seek(unsigned long To) // FileFd::Skip - Seek in the file /*{{{*/ // --------------------------------------------------------------------- /* */ -bool FileFd::Skip(unsigned long Over) +bool FileFd::Skip(unsigned long long Over) { int res; if (gz) @@ -906,7 +918,7 @@ bool FileFd::Skip(unsigned long Over) if (res < 0) { Flags |= Fail; - return _error->Error("Unable to seek ahead %lu",Over); + return _error->Error("Unable to seek ahead %llu",Over); } return true; @@ -915,7 +927,7 @@ bool FileFd::Skip(unsigned long Over) // FileFd::Truncate - Truncate the file /*{{{*/ // --------------------------------------------------------------------- /* */ -bool FileFd::Truncate(unsigned long To) +bool FileFd::Truncate(unsigned long long To) { if (gz) { @@ -925,7 +937,7 @@ bool FileFd::Truncate(unsigned long To) if (ftruncate(iFd,To) != 0) { Flags |= Fail; - return _error->Error("Unable to truncate to %lu",To); + return _error->Error("Unable to truncate to %llu",To); } return true; @@ -934,7 +946,7 @@ bool FileFd::Truncate(unsigned long To) // FileFd::Tell - Current seek position /*{{{*/ // --------------------------------------------------------------------- /* */ -unsigned long FileFd::Tell() +unsigned long long FileFd::Tell() { off_t Res; if (gz) @@ -949,7 +961,7 @@ unsigned long FileFd::Tell() // FileFd::FileSize - Return the size of the file /*{{{*/ // --------------------------------------------------------------------- /* */ -unsigned long FileFd::FileSize() +unsigned long long FileFd::FileSize() { struct stat Buf; @@ -961,9 +973,9 @@ unsigned long FileFd::FileSize() // FileFd::Size - Return the size of the content in the file /*{{{*/ // --------------------------------------------------------------------- /* */ -unsigned long FileFd::Size() +unsigned long long FileFd::Size() { - unsigned long size = FileSize(); + unsigned long long size = FileSize(); // only check gzsize if we are actually a gzip file, just checking for // "gz" is not sufficient as uncompressed files will be opened with @@ -973,6 +985,7 @@ unsigned long FileFd::Size() /* unfortunately zlib.h doesn't provide a gzsize(), so we have to do * this ourselves; the original (uncompressed) file size is the last 32 * bits of the file */ + // FIXME: Size for gz-files is limited by 32bit… no largefile support off_t orig_pos = lseek(iFd, 0, SEEK_CUR); if (lseek(iFd, -4, SEEK_END) < 0) return _error->Errno("lseek","Unable to seek to end of gzipped file"); diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h index cde288ad2..973a38cff 100644 --- a/apt-pkg/contrib/fileutl.h +++ b/apt-pkg/contrib/fileutl.h @@ -49,21 +49,36 @@ class FileFd enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny,WriteTemp,ReadOnlyGzip, WriteAtomic}; - inline bool Read(void *To,unsigned long Size,bool AllowEof) + inline bool Read(void *To,unsigned long long Size,bool AllowEof) { - unsigned long Jnk; + unsigned long long Jnk; if (AllowEof) return Read(To,Size,&Jnk); return Read(To,Size); } - bool Read(void *To,unsigned long Size,unsigned long *Actual = 0); - bool Write(const void *From,unsigned long Size); - bool Seek(unsigned long To); - bool Skip(unsigned long To); - bool Truncate(unsigned long To); - unsigned long Tell(); - unsigned long Size(); - unsigned long FileSize(); + bool Read(void *To,unsigned long long Size,unsigned long long *Actual = 0); + bool Write(const void *From,unsigned long long Size); + bool Seek(unsigned long long To); + bool Skip(unsigned long long To); + bool Truncate(unsigned long long To); + unsigned long long Tell(); + unsigned long long Size(); + unsigned long long FileSize(); + + /* You want to use 'unsigned long long' if you are talking about a file + to be able to support large files (>2 or >4 GB) properly. + This shouldn't happen all to often for the indexes, but deb's might be… + And as the auto-conversation converts a 'unsigned long *' to a 'bool' + instead of 'unsigned long long *' we need to provide this explicitely - + otherwise applications magically start to fail… */ + __deprecated bool Read(void *To,unsigned long long Size,unsigned long *Actual) + { + unsigned long long R; + bool const T = Read(To, Size, &R); + *Actual = R; + return T; + } + bool Open(string FileName,OpenMode Mode,unsigned long Perms = 0666); bool OpenDescriptor(int Fd, OpenMode Mode, bool AutoClose=false); bool Close(); @@ -97,6 +112,7 @@ bool FileExists(string File); bool RealFileExists(string File); bool DirectoryExists(string const &Path) __attrib_const; bool CreateDirectory(string const &Parent, string const &Path); +time_t GetModificationTime(string const &Path); /** \brief Ensure the existence of the given Path * diff --git a/apt-pkg/contrib/hashes.cc b/apt-pkg/contrib/hashes.cc index 985d89d90..fd76bf229 100644 --- a/apt-pkg/contrib/hashes.cc +++ b/apt-pkg/contrib/hashes.cc @@ -11,19 +11,21 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/hashes.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/configuration.h> #include <apt-pkg/macros.h> -#include <unistd.h> +#include <unistd.h> #include <string> #include <iostream> /*}}}*/ const char* HashString::_SupportedHashes[] = { - "SHA256", "SHA1", "MD5Sum", NULL + "SHA512", "SHA256", "SHA1", "MD5Sum", NULL }; HashString::HashString() @@ -53,28 +55,33 @@ HashString::HashString(string StringedHash) /*{{{*/ /*}}}*/ bool HashString::VerifyFile(string filename) const /*{{{*/ { - FileFd fd; - MD5Summation MD5; - SHA1Summation SHA1; - SHA256Summation SHA256; string fileHash; FileFd Fd(filename, FileFd::ReadOnly); - if(Type == "MD5Sum") + if(Type == "MD5Sum") { + MD5Summation MD5; MD5.AddFD(Fd.Fd(), Fd.Size()); fileHash = (string)MD5.Result(); - } + } else if (Type == "SHA1") { + SHA1Summation SHA1; SHA1.AddFD(Fd.Fd(), Fd.Size()); fileHash = (string)SHA1.Result(); - } - else if (Type == "SHA256") + } + else if (Type == "SHA256") { + SHA256Summation SHA256; SHA256.AddFD(Fd.Fd(), Fd.Size()); fileHash = (string)SHA256.Result(); } + else if (Type == "SHA512") + { + SHA512Summation SHA512; + SHA512.AddFD(Fd.Fd(), Fd.Size()); + fileHash = (string)SHA512.Result(); + } Fd.Close(); if(_config->FindB("Debug::Hashes",false) == true) @@ -101,24 +108,30 @@ string HashString::toStr() const // Hashes::AddFD - Add the contents of the FD /*{{{*/ // --------------------------------------------------------------------- /* */ -bool Hashes::AddFD(int Fd,unsigned long Size) +bool Hashes::AddFD(int const Fd,unsigned long long Size, bool const addMD5, + bool const addSHA1, bool const addSHA256, bool const addSHA512) { unsigned char Buf[64*64]; - int Res = 0; + ssize_t Res = 0; int ToEOF = (Size == 0); while (Size != 0 || ToEOF) { - unsigned n = sizeof(Buf); - if (!ToEOF) n = min(Size,(unsigned long)n); + unsigned long long n = sizeof(Buf); + if (!ToEOF) n = min(Size, n); Res = read(Fd,Buf,n); - if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read - return false; + if (Res < 0 || (!ToEOF && Res != (ssize_t) n)) // error, or short read + return false; if (ToEOF && Res == 0) // EOF - break; + break; Size -= Res; - MD5.Add(Buf,Res); - SHA1.Add(Buf,Res); - SHA256.Add(Buf,Res); + if (addMD5 == true) + MD5.Add(Buf,Res); + if (addSHA1 == true) + SHA1.Add(Buf,Res); + if (addSHA256 == true) + SHA256.Add(Buf,Res); + if (addSHA512 == true) + SHA512.Add(Buf,Res); } return true; } diff --git a/apt-pkg/contrib/hashes.h b/apt-pkg/contrib/hashes.h index 264f7fe90..40c2ad064 100644 --- a/apt-pkg/contrib/hashes.h +++ b/apt-pkg/contrib/hashes.h @@ -16,7 +16,7 @@ #include <apt-pkg/md5.h> #include <apt-pkg/sha1.h> -#include <apt-pkg/sha256.h> +#include <apt-pkg/sha2.h> #include <algorithm> #include <vector> @@ -60,13 +60,17 @@ class Hashes MD5Summation MD5; SHA1Summation SHA1; SHA256Summation SHA256; + SHA512Summation SHA512; - inline bool Add(const unsigned char *Data,unsigned long Size) + inline bool Add(const unsigned char *Data,unsigned long long Size) { - return MD5.Add(Data,Size) && SHA1.Add(Data,Size) && SHA256.Add(Data,Size); + return MD5.Add(Data,Size) && SHA1.Add(Data,Size) && SHA256.Add(Data,Size) && SHA512.Add(Data,Size); }; inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));}; - bool AddFD(int Fd,unsigned long Size); + inline bool AddFD(int const Fd,unsigned long long Size = 0) + { return AddFD(Fd, Size, true, true, true, true); }; + bool AddFD(int const Fd, unsigned long long Size, bool const addMD5, + bool const addSHA1, bool const addSHA256, bool const addSHA512); inline bool Add(const unsigned char *Beg,const unsigned char *End) {return Add(Beg,End-Beg);}; }; diff --git a/apt-pkg/contrib/hashsum.cc b/apt-pkg/contrib/hashsum.cc new file mode 100644 index 000000000..0edcbb364 --- /dev/null +++ b/apt-pkg/contrib/hashsum.cc @@ -0,0 +1,28 @@ +// Cryptographic API Base +#include <config.h> + +#include <unistd.h> +#include "hashsum_template.h" + +// Summation::AddFD - Add content of file into the checksum /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool SummationImplementation::AddFD(int const Fd, unsigned long long Size) { + unsigned char Buf[64 * 64]; + ssize_t Res = 0; + int ToEOF = (Size == 0); + while (Size != 0 || ToEOF) + { + unsigned long long n = sizeof(Buf); + if (!ToEOF) n = min(Size, n); + Res = read(Fd, Buf, n); + if (Res < 0 || (!ToEOF && Res != (ssize_t) n)) // error, or short read + return false; + if (ToEOF && Res == 0) // EOF + break; + Size -= Res; + Add(Buf,Res); + } + return true; +} + /*}}}*/ diff --git a/apt-pkg/contrib/hashsum_template.h b/apt-pkg/contrib/hashsum_template.h new file mode 100644 index 000000000..9157754e3 --- /dev/null +++ b/apt-pkg/contrib/hashsum_template.h @@ -0,0 +1,107 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: hashsum_template.h,v 1.3 2001/05/07 05:05:47 jgg Exp $ +/* ###################################################################### + + HashSumValueTemplate - Generic Storage for a hash value + + ##################################################################### */ + /*}}}*/ +#ifndef APTPKG_HASHSUM_TEMPLATE_H +#define APTPKG_HASHSUM_TEMPLATE_H + +#include <string> +#include <cstring> +#include <algorithm> +#include <stdint.h> + +using std::string; +using std::min; + +template<int N> +class HashSumValue +{ + unsigned char Sum[N/8]; + + public: + + // Accessors + bool operator ==(const HashSumValue &rhs) const + { + return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0; + }; + + string Value() const + { + char Conv[16] = + { '0','1','2','3','4','5','6','7','8','9','a','b', + 'c','d','e','f' + }; + char Result[((N/8)*2)+1]; + Result[(N/8)*2] = 0; + + // Convert each char into two letters + int J = 0; + int I = 0; + for (; I != (N/8)*2; J++,I += 2) + { + Result[I] = Conv[Sum[J] >> 4]; + Result[I + 1] = Conv[Sum[J] & 0xF]; + } + return string(Result); + }; + + inline void Value(unsigned char S[N/8]) + { + for (int I = 0; I != sizeof(Sum); I++) + S[I] = Sum[I]; + }; + + inline operator string() const + { + return Value(); + }; + + bool Set(string Str) + { + return Hex2Num(Str,Sum,sizeof(Sum)); + }; + + inline void Set(unsigned char S[N/8]) + { + for (int I = 0; I != sizeof(Sum); I++) + Sum[I] = S[I]; + }; + + HashSumValue(string Str) + { + memset(Sum,0,sizeof(Sum)); + Set(Str); + } + HashSumValue() + { + memset(Sum,0,sizeof(Sum)); + } +}; + +class SummationImplementation +{ + public: + virtual bool Add(const unsigned char *inbuf, unsigned long long inlen) = 0; + inline bool Add(const char *inbuf, unsigned long long const inlen) + { return Add((unsigned char *)inbuf, inlen); }; + + inline bool Add(const unsigned char *Data) + { return Add(Data, strlen((const char *)Data)); }; + inline bool Add(const char *Data) + { return Add((const unsigned char *)Data, strlen((const char *)Data)); }; + + inline bool Add(const unsigned char *Beg, const unsigned char *End) + { return Add(Beg, End - Beg); }; + inline bool Add(const char *Beg, const char *End) + { return Add((const unsigned char *)Beg, End - Beg); }; + + bool AddFD(int Fd, unsigned long long Size = 0); +}; + +#endif diff --git a/apt-pkg/contrib/md5.cc b/apt-pkg/contrib/md5.cc index c0fa8493d..4351aeb22 100644 --- a/apt-pkg/contrib/md5.cc +++ b/apt-pkg/contrib/md5.cc @@ -35,6 +35,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/md5.h> #include <apt-pkg/strutl.h> #include <apt-pkg/macros.h> @@ -43,7 +45,6 @@ #include <unistd.h> #include <netinet/in.h> // For htonl #include <inttypes.h> -#include <config.h> /*}}}*/ // byteSwap - Swap bytes in a buffer /*{{{*/ @@ -165,61 +166,6 @@ static void MD5Transform(uint32_t buf[4], uint32_t const in[16]) buf[3] += d; } /*}}}*/ -// MD5SumValue::MD5SumValue - Constructs the summation from a string /*{{{*/ -// --------------------------------------------------------------------- -/* The string form of a MD5 is a 32 character hex number */ -MD5SumValue::MD5SumValue(string Str) -{ - memset(Sum,0,sizeof(Sum)); - Set(Str); -} - /*}}}*/ -// MD5SumValue::MD5SumValue - Default constructor /*{{{*/ -// --------------------------------------------------------------------- -/* Sets the value to 0 */ -MD5SumValue::MD5SumValue() -{ - memset(Sum,0,sizeof(Sum)); -} - /*}}}*/ -// MD5SumValue::Set - Set the sum from a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the hex string into a set of chars */ -bool MD5SumValue::Set(string Str) -{ - return Hex2Num(Str,Sum,sizeof(Sum)); -} - /*}}}*/ -// MD5SumValue::Value - Convert the number into a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the set of chars into a hex string in lower case */ -string MD5SumValue::Value() const -{ - char Conv[16] = {'0','1','2','3','4','5','6','7','8','9','a','b', - 'c','d','e','f'}; - char Result[33]; - Result[32] = 0; - - // Convert each char into two letters - int J = 0; - int I = 0; - for (; I != 32; J++, I += 2) - { - Result[I] = Conv[Sum[J] >> 4]; - Result[I + 1] = Conv[Sum[J] & 0xF]; - } - - return string(Result); -} - /*}}}*/ -// MD5SumValue::operator == - Comparitor /*{{{*/ -// --------------------------------------------------------------------- -/* Call memcmp on the buffer */ -bool MD5SumValue::operator ==(const MD5SumValue &rhs) const -{ - return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0; -} - /*}}}*/ // MD5Summation::MD5Summation - Initialize the summer /*{{{*/ // --------------------------------------------------------------------- /* This assigns the deep magic initial values */ @@ -241,7 +187,7 @@ MD5Summation::MD5Summation() // MD5Summation::Add - 'Add' a data set to the hash /*{{{*/ // --------------------------------------------------------------------- /* */ -bool MD5Summation::Add(const unsigned char *data,unsigned long len) +bool MD5Summation::Add(const unsigned char *data,unsigned long long len) { if (Done == true) return false; @@ -286,29 +232,6 @@ bool MD5Summation::Add(const unsigned char *data,unsigned long len) return true; } /*}}}*/ -// MD5Summation::AddFD - Add the contents of a FD to the hash /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool MD5Summation::AddFD(int Fd,unsigned long Size) -{ - unsigned char Buf[64*64]; - int Res = 0; - int ToEOF = (Size == 0); - while (Size != 0 || ToEOF) - { - unsigned n = sizeof(Buf); - if (!ToEOF) n = min(Size,(unsigned long)n); - Res = read(Fd,Buf,n); - if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read - return false; - if (ToEOF && Res == 0) // EOF - break; - Size -= Res; - Add(Buf,Res); - } - return true; -} - /*}}}*/ // MD5Summation::Result - Returns the value of the sum /*{{{*/ // --------------------------------------------------------------------- /* Because this must add in the last bytes of the series it prevents anyone @@ -353,7 +276,7 @@ MD5SumValue MD5Summation::Result() } MD5SumValue V; - memcpy(V.Sum,buf,16); + V.Set((unsigned char *)buf); return V; } /*}}}*/ diff --git a/apt-pkg/contrib/md5.h b/apt-pkg/contrib/md5.h index 96c8975b4..305cdb20d 100644 --- a/apt-pkg/contrib/md5.h +++ b/apt-pkg/contrib/md5.h @@ -32,45 +32,24 @@ using std::string; using std::min; -class MD5Summation; +#include "hashsum_template.h" -class MD5SumValue -{ - friend class MD5Summation; - unsigned char Sum[4*4]; - - public: - - // Accessors - bool operator ==(const MD5SumValue &rhs) const; - string Value() const; - inline void Value(unsigned char S[16]) - {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];}; - inline operator string() const {return Value();}; - bool Set(string Str); - inline void Set(unsigned char S[16]) - {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];}; - - MD5SumValue(string Str); - MD5SumValue(); -}; +typedef HashSumValue<128> MD5SumValue; -class MD5Summation +class MD5Summation : public SummationImplementation { uint32_t Buf[4]; unsigned char Bytes[2*4]; unsigned char In[16*4]; bool Done; - + public: - bool Add(const unsigned char *Data,unsigned long Size); - inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));}; - bool AddFD(int Fd,unsigned long Size); - inline bool Add(const unsigned char *Beg,const unsigned char *End) - {return Add(Beg,End-Beg);}; + bool Add(const unsigned char *inbuf, unsigned long long inlen); + using SummationImplementation::Add; + MD5SumValue Result(); - + MD5Summation(); }; diff --git a/apt-pkg/contrib/mmap.cc b/apt-pkg/contrib/mmap.cc index 19381ae47..a110a7019 100644 --- a/apt-pkg/contrib/mmap.cc +++ b/apt-pkg/contrib/mmap.cc @@ -17,20 +17,21 @@ /*}}}*/ // Include Files /*{{{*/ #define _BSD_SOURCE +#include <config.h> + #include <apt-pkg/mmap.h> #include <apt-pkg/error.h> -#include <apti18n.h> - #include <sys/mman.h> #include <sys/stat.h> #include <unistd.h> #include <fcntl.h> #include <stdlib.h> #include <errno.h> - #include <cstring> - /*}}}*/ + +#include <apti18n.h> + /*}}}*/ // MMap::MMap - Constructor /*{{{*/ // --------------------------------------------------------------------- @@ -94,7 +95,7 @@ bool MMap::Map(FileFd &Fd) return false; } else - return _error->Errno("mmap",_("Couldn't make mmap of %lu bytes"), + return _error->Errno("mmap",_("Couldn't make mmap of %llu bytes"), iSize); } @@ -165,7 +166,7 @@ bool MMap::Sync(unsigned long Start,unsigned long Stop) return true; #ifdef _POSIX_SYNCHRONIZED_IO - unsigned long PSize = sysconf(_SC_PAGESIZE); + unsigned long long PSize = sysconf(_SC_PAGESIZE); if ((Flags & ReadOnly) != ReadOnly) { if (SyncToFd != 0) @@ -176,7 +177,7 @@ bool MMap::Sync(unsigned long Start,unsigned long Stop) } else { - if (msync((char *)Base+(int)(Start/PSize)*PSize,Stop - Start,MS_SYNC) < 0) + if (msync((char *)Base+(unsigned long long)(Start/PSize)*PSize,Stop - Start,MS_SYNC) < 0) return _error->Errno("msync", _("Unable to synchronize mmap")); } } @@ -196,7 +197,7 @@ DynamicMMap::DynamicMMap(FileFd &F,unsigned long Flags,unsigned long const &Work if (_error->PendingError() == true) return; - unsigned long EndOfFile = Fd->Size(); + unsigned long long EndOfFile = Fd->Size(); if (EndOfFile > WorkSpace) WorkSpace = EndOfFile; else if(WorkSpace > 0) @@ -284,7 +285,7 @@ DynamicMMap::~DynamicMMap() return; } - unsigned long EndOfFile = iSize; + unsigned long long EndOfFile = iSize; iSize = WorkSpace; Close(false); if(ftruncate(Fd->Fd(),EndOfFile) < 0) @@ -294,9 +295,9 @@ DynamicMMap::~DynamicMMap() // DynamicMMap::RawAllocate - Allocate a raw chunk of unaligned space /*{{{*/ // --------------------------------------------------------------------- /* This allocates a block of memory aligned to the given size */ -unsigned long DynamicMMap::RawAllocate(unsigned long Size,unsigned long Aln) +unsigned long DynamicMMap::RawAllocate(unsigned long long Size,unsigned long Aln) { - unsigned long Result = iSize; + unsigned long long Result = iSize; if (Aln != 0) Result += Aln - (iSize%Aln); @@ -411,7 +412,7 @@ bool DynamicMMap::Grow() { if (GrowFactor <= 0) return _error->Error(_("Unable to increase size of the MMap as automatic growing is disabled by user.")); - unsigned long const newSize = WorkSpace + GrowFactor; + unsigned long long const newSize = WorkSpace + GrowFactor; if(Fd != 0) { Fd->Seek(newSize - 1); diff --git a/apt-pkg/contrib/mmap.h b/apt-pkg/contrib/mmap.h index 2bf2c1540..e0ff8db95 100644 --- a/apt-pkg/contrib/mmap.h +++ b/apt-pkg/contrib/mmap.h @@ -41,7 +41,7 @@ class MMap protected: unsigned long Flags; - unsigned long iSize; + unsigned long long iSize; void *Base; // In case mmap can not be used, we keep a dup of the file @@ -60,8 +60,8 @@ class MMap // Simple accessors inline operator void *() {return Base;}; inline void *Data() {return Base;}; - inline unsigned long Size() {return iSize;}; - inline void AddSize(unsigned long const size) {iSize += size;}; + inline unsigned long long Size() {return iSize;}; + inline void AddSize(unsigned long long const size) {iSize += size;}; inline bool validData() const { return Base != (void *)-1 && Base != 0; }; // File manipulators @@ -99,7 +99,7 @@ class DynamicMMap : public MMap public: // Allocation - unsigned long RawAllocate(unsigned long Size,unsigned long Aln = 0); + unsigned long RawAllocate(unsigned long long Size,unsigned long Aln = 0); unsigned long Allocate(unsigned long ItemSize); unsigned long WriteString(const char *String,unsigned long Len = (unsigned long)-1); inline unsigned long WriteString(const string &S) {return WriteString(S.c_str(),S.length());}; diff --git a/apt-pkg/contrib/netrc.cc b/apt-pkg/contrib/netrc.cc index 34f472ee1..b9d0749e2 100644 --- a/apt-pkg/contrib/netrc.cc +++ b/apt-pkg/contrib/netrc.cc @@ -11,6 +11,7 @@ ##################################################################### */ /*}}}*/ +#include <config.h> #include <apt-pkg/configuration.h> #include <apt-pkg/fileutl.h> @@ -47,10 +48,7 @@ int parsenetrc (char *host, char *login, char *password, char *netrcfile = NULL) int specific_login = (login[0] != 0); char *home = NULL; bool netrc_alloc = false; - int state = NOTHING; - char state_login = 0; /* Found a login keyword */ - char state_password = 0; /* Found a password keyword */ int state_our_login = false; /* With specific_login, found *our* login name */ @@ -81,6 +79,10 @@ int parsenetrc (char *host, char *login, char *password, char *netrcfile = NULL) bool done = false; char netrcbuffer[256]; + int state = NOTHING; + char state_login = 0; /* Found a login keyword */ + char state_password = 0; /* Found a password keyword */ + while (!done && fgets(netrcbuffer, sizeof (netrcbuffer), file)) { tok = strtok_r (netrcbuffer, " \t\n", &tok_buf); while (!done && tok) { diff --git a/apt-pkg/contrib/progress.cc b/apt-pkg/contrib/progress.cc index 45e81edcb..317048845 100644 --- a/apt-pkg/contrib/progress.cc +++ b/apt-pkg/contrib/progress.cc @@ -8,15 +8,17 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/progress.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> -#include <apti18n.h> - #include <iostream> #include <stdio.h> #include <cstring> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -35,7 +37,7 @@ OpProgress::OpProgress() : Current(0), Total(0), Size(0), SubTotal(1), /* Current is the Base Overall progress in units of Total. Cur is the sub progress in units of SubTotal. Size is a scaling factor that says what percent of Total SubTotal is. */ -void OpProgress::Progress(unsigned long Cur) +void OpProgress::Progress(unsigned long long Cur) { if (Total == 0 || Size == 0 || SubTotal == 0) Percent = 0; @@ -47,8 +49,8 @@ void OpProgress::Progress(unsigned long Cur) // OpProgress::OverallProgress - Set the overall progress /*{{{*/ // --------------------------------------------------------------------- /* */ -void OpProgress::OverallProgress(unsigned long Current, unsigned long Total, - unsigned long Size,const string &Op) +void OpProgress::OverallProgress(unsigned long long Current, unsigned long long Total, + unsigned long long Size,const string &Op) { this->Current = Current; this->Total = Total; @@ -65,27 +67,18 @@ void OpProgress::OverallProgress(unsigned long Current, unsigned long Total, // OpProgress::SubProgress - Set the sub progress state /*{{{*/ // --------------------------------------------------------------------- /* */ -void OpProgress::SubProgress(unsigned long SubTotal,const string &Op) -{ - this->SubTotal = SubTotal; - SubOp = Op; - if (Total == 0) - Percent = 0; - else - Percent = Current*100.0/Total; - Update(); -} - /*}}}*/ -// OpProgress::SubProgress - Set the sub progress state /*{{{*/ -// --------------------------------------------------------------------- -/* */ -void OpProgress::SubProgress(unsigned long SubTotal) +void OpProgress::SubProgress(unsigned long long SubTotal,const string &Op, + float const Percent) { this->SubTotal = SubTotal; - if (Total == 0) - Percent = 0; + if (Op.empty() == false) + SubOp = Op; + if (Total == 0 || Percent == 0) + this->Percent = 0; + else if (Percent != -1) + this->Percent = this->Current += (Size*Percent)/SubTotal; else - Percent = Current*100.0/Total; + this->Percent = Current*100.0/Total; Update(); } /*}}}*/ diff --git a/apt-pkg/contrib/progress.h b/apt-pkg/contrib/progress.h index 7dd004f7e..5344323f6 100644 --- a/apt-pkg/contrib/progress.h +++ b/apt-pkg/contrib/progress.h @@ -30,10 +30,10 @@ using std::string; class Configuration; class OpProgress { - unsigned long Current; - unsigned long Total; - unsigned long Size; - unsigned long SubTotal; + unsigned long long Current; + unsigned long long Total; + unsigned long long Size; + unsigned long long SubTotal; float LastPercent; // Change reduction code @@ -54,11 +54,10 @@ class OpProgress public: - void Progress(unsigned long Current); - void SubProgress(unsigned long SubTotal); - void SubProgress(unsigned long SubTotal,const string &Op); - void OverallProgress(unsigned long Current,unsigned long Total, - unsigned long Size,const string &Op); + void Progress(unsigned long long Current); + void SubProgress(unsigned long long SubTotal, const string &Op = "", float const Percent = -1); + void OverallProgress(unsigned long long Current,unsigned long long Total, + unsigned long long Size,const string &Op); virtual void Done() {}; OpProgress(); diff --git a/apt-pkg/contrib/sha1.cc b/apt-pkg/contrib/sha1.cc index eae52d52f..b5a6a2440 100644 --- a/apt-pkg/contrib/sha1.cc +++ b/apt-pkg/contrib/sha1.cc @@ -29,6 +29,8 @@ */ /*}}} */ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/sha1.h> #include <apt-pkg/strutl.h> #include <apt-pkg/macros.h> @@ -36,7 +38,6 @@ #include <string.h> #include <unistd.h> #include <inttypes.h> -#include <config.h> /*}}}*/ // SHA1Transform - Alters an existing SHA-1 hash /*{{{*/ @@ -74,10 +75,9 @@ static void SHA1Transform(uint32_t state[5],uint8_t const buffer[64]) uint32_t l[16]; } CHAR64LONG16; - CHAR64LONG16 *block; + CHAR64LONG16 workspace, *block; - uint8_t workspace[64]; - block = (CHAR64LONG16 *)workspace; + block = &workspace; memcpy(block,buffer,sizeof(workspace)); /* Copy context->state[] to working vars */ @@ -178,67 +178,6 @@ static void SHA1Transform(uint32_t state[5],uint8_t const buffer[64]) } /*}}}*/ -// SHA1SumValue::SHA1SumValue - Constructs the summation from a string /*{{{*/ -// --------------------------------------------------------------------- -/* The string form of a SHA1 is a 40 character hex number */ -SHA1SumValue::SHA1SumValue(string Str) -{ - memset(Sum,0,sizeof(Sum)); - Set(Str); -} - - /*}}} */ -// SHA1SumValue::SHA1SumValue - Default constructor /*{{{*/ -// --------------------------------------------------------------------- -/* Sets the value to 0 */ -SHA1SumValue::SHA1SumValue() -{ - memset(Sum,0,sizeof(Sum)); -} - - /*}}} */ -// SHA1SumValue::Set - Set the sum from a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the hex string into a set of chars */ -bool SHA1SumValue::Set(string Str) -{ - return Hex2Num(Str,Sum,sizeof(Sum)); -} - - /*}}} */ -// SHA1SumValue::Value - Convert the number into a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the set of chars into a hex string in lower case */ -string SHA1SumValue::Value() const -{ - char Conv[16] = - { '0','1','2','3','4','5','6','7','8','9','a','b', - 'c','d','e','f' - }; - char Result[41]; - Result[40] = 0; - - // Convert each char into two letters - int J = 0; - int I = 0; - for (; I != 40; J++,I += 2) - { - Result[I] = Conv[Sum[J] >> 4]; - Result[I + 1] = Conv[Sum[J] & 0xF]; - } - - return string(Result); -} - - /*}}} */ -// SHA1SumValue::operator == - Comparator /*{{{*/ -// --------------------------------------------------------------------- -/* Call memcmp on the buffer */ -bool SHA1SumValue::operator == (const SHA1SumValue & rhs) const -{ - return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0; -} - /*}}}*/ // SHA1Summation::SHA1Summation - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -290,18 +229,20 @@ SHA1SumValue SHA1Summation::Result() // Transfer over the result SHA1SumValue Value; + unsigned char res[20]; for (unsigned i = 0; i < 20; i++) { - Value.Sum[i] = (unsigned char) + res[i] = (unsigned char) ((state[i >> 2] >> ((3 - (i & 3)) * 8)) & 255); } + Value.Set(res); return Value; } /*}}}*/ // SHA1Summation::Add - Adds content of buffer into the checksum /*{{{*/ // --------------------------------------------------------------------- /* May not be called after Result() is called */ -bool SHA1Summation::Add(const unsigned char *data,unsigned long len) +bool SHA1Summation::Add(const unsigned char *data,unsigned long long len) { if (Done) return false; @@ -332,26 +273,3 @@ bool SHA1Summation::Add(const unsigned char *data,unsigned long len) return true; } /*}}}*/ -// SHA1Summation::AddFD - Add content of file into the checksum /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool SHA1Summation::AddFD(int Fd,unsigned long Size) -{ - unsigned char Buf[64 * 64]; - int Res = 0; - int ToEOF = (Size == 0); - while (Size != 0 || ToEOF) - { - unsigned n = sizeof(Buf); - if (!ToEOF) n = min(Size,(unsigned long)n); - Res = read(Fd,Buf,n); - if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read - return false; - if (ToEOF && Res == 0) // EOF - break; - Size -= Res; - Add(Buf,Res); - } - return true; -} - /*}}}*/ diff --git a/apt-pkg/contrib/sha1.h b/apt-pkg/contrib/sha1.h index 8ddd889f1..916faec1b 100644 --- a/apt-pkg/contrib/sha1.h +++ b/apt-pkg/contrib/sha1.h @@ -21,30 +21,11 @@ using std::string; using std::min; -class SHA1Summation; +#include "hashsum_template.h" -class SHA1SumValue -{ - friend class SHA1Summation; - unsigned char Sum[20]; - - public: - - // Accessors - bool operator ==(const SHA1SumValue &rhs) const; - string Value() const; - inline void Value(unsigned char S[20]) - {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];}; - inline operator string() const {return Value();}; - bool Set(string Str); - inline void Set(unsigned char S[20]) - {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];}; - - SHA1SumValue(string Str); - SHA1SumValue(); -}; +typedef HashSumValue<160> SHA1SumValue; -class SHA1Summation +class SHA1Summation : public SummationImplementation { /* assumes 64-bit alignment just in case */ unsigned char Buffer[64] __attribute__((aligned(8))); @@ -53,12 +34,9 @@ class SHA1Summation bool Done; public: + bool Add(const unsigned char *inbuf, unsigned long long inlen); + using SummationImplementation::Add; - bool Add(const unsigned char *inbuf,unsigned long inlen); - inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));}; - bool AddFD(int Fd,unsigned long Size); - inline bool Add(const unsigned char *Beg,const unsigned char *End) - {return Add(Beg,End-Beg);}; SHA1SumValue Result(); SHA1Summation(); diff --git a/apt-pkg/contrib/sha2.h b/apt-pkg/contrib/sha2.h new file mode 100644 index 000000000..51c921dbd --- /dev/null +++ b/apt-pkg/contrib/sha2.h @@ -0,0 +1,103 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: sha512.h,v 1.3 2001/05/07 05:05:47 jgg Exp $ +/* ###################################################################### + + SHA{512,256}SumValue - Storage for a SHA-{512,256} hash. + SHA{512,256}Summation - SHA-{512,256} Secure Hash Algorithm. + + This is a C++ interface to a set of SHA{512,256}Sum functions, that mirrors + the equivalent MD5 & SHA1 classes. + + ##################################################################### */ + /*}}}*/ +#ifndef APTPKG_SHA2_H +#define APTPKG_SHA2_H + +#include <string> +#include <cstring> +#include <algorithm> +#include <stdint.h> + +#include "sha2_internal.h" +#include "hashsum_template.h" + +typedef HashSumValue<512> SHA512SumValue; +typedef HashSumValue<256> SHA256SumValue; + +class SHA2SummationBase : public SummationImplementation +{ + protected: + bool Done; + public: + bool Add(const unsigned char *inbuf, unsigned long long len) = 0; + + void Result(); +}; + +class SHA256Summation : public SHA2SummationBase +{ + SHA256_CTX ctx; + unsigned char Sum[32]; + + public: + bool Add(const unsigned char *inbuf, unsigned long long len) + { + if (Done) + return false; + SHA256_Update(&ctx, inbuf, len); + return true; + }; + using SummationImplementation::Add; + + SHA256SumValue Result() + { + if (!Done) { + SHA256_Final(Sum, &ctx); + Done = true; + } + SHA256SumValue res; + res.Set(Sum); + return res; + }; + SHA256Summation() + { + SHA256_Init(&ctx); + Done = false; + }; +}; + +class SHA512Summation : public SHA2SummationBase +{ + SHA512_CTX ctx; + unsigned char Sum[64]; + + public: + bool Add(const unsigned char *inbuf, unsigned long long len) + { + if (Done) + return false; + SHA512_Update(&ctx, inbuf, len); + return true; + }; + using SummationImplementation::Add; + + SHA512SumValue Result() + { + if (!Done) { + SHA512_Final(Sum, &ctx); + Done = true; + } + SHA512SumValue res; + res.Set(Sum); + return res; + }; + SHA512Summation() + { + SHA512_Init(&ctx); + Done = false; + }; +}; + + +#endif diff --git a/apt-pkg/contrib/sha256.cc b/apt-pkg/contrib/sha256.cc deleted file mode 100644 index e380c13ae..000000000 --- a/apt-pkg/contrib/sha256.cc +++ /dev/null @@ -1,424 +0,0 @@ -/* - * Cryptographic API. {{{ - * - * SHA-256, as specified in - * http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf - * - * SHA-256 code by Jean-Luc Cooke <jlcooke@certainkey.com>. - * - * Copyright (c) Jean-Luc Cooke <jlcooke@certainkey.com> - * Copyright (c) Andrew McDonald <andrew@mcdonald.org.uk> - * Copyright (c) 2002 James Morris <jmorris@intercode.com.au> - * - * Ported from the Linux kernel to Apt by Anthony Towns <ajt@debian.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - */ /*}}}*/ - -#ifdef __GNUG__ -#pragma implementation "apt-pkg/sha256.h" -#endif - - -#define SHA256_DIGEST_SIZE 32 -#define SHA256_HMAC_BLOCK_SIZE 64 - -#define ror32(value,bits) (((value) >> (bits)) | ((value) << (32 - (bits)))) - -#include <apt-pkg/sha256.h> -#include <apt-pkg/strutl.h> -#include <string.h> -#include <unistd.h> -#include <stdint.h> -#include <stdlib.h> -#include <stdio.h> -#include <arpa/inet.h> - -typedef uint32_t u32; -typedef uint8_t u8; - -static inline u32 Ch(u32 x, u32 y, u32 z) -{ - return z ^ (x & (y ^ z)); -} - -static inline u32 Maj(u32 x, u32 y, u32 z) -{ - return (x & y) | (z & (x | y)); -} - -#define e0(x) (ror32(x, 2) ^ ror32(x,13) ^ ror32(x,22)) -#define e1(x) (ror32(x, 6) ^ ror32(x,11) ^ ror32(x,25)) -#define s0(x) (ror32(x, 7) ^ ror32(x,18) ^ (x >> 3)) -#define s1(x) (ror32(x,17) ^ ror32(x,19) ^ (x >> 10)) - -#define H0 0x6a09e667 -#define H1 0xbb67ae85 -#define H2 0x3c6ef372 -#define H3 0xa54ff53a -#define H4 0x510e527f -#define H5 0x9b05688c -#define H6 0x1f83d9ab -#define H7 0x5be0cd19 - -static inline void LOAD_OP(int I, u32 *W, const u8 *input) /*{{{*/ -{ - W[I] = ( ((u32) input[I * 4 + 0] << 24) - | ((u32) input[I * 4 + 1] << 16) - | ((u32) input[I * 4 + 2] << 8) - | ((u32) input[I * 4 + 3])); -} - /*}}}*/ -static inline void BLEND_OP(int I, u32 *W) -{ - W[I] = s1(W[I-2]) + W[I-7] + s0(W[I-15]) + W[I-16]; -} - -static void sha256_transform(u32 *state, const u8 *input) /*{{{*/ -{ - u32 a, b, c, d, e, f, g, h, t1, t2; - u32 W[64]; - int i; - - /* load the input */ - for (i = 0; i < 16; i++) - LOAD_OP(i, W, input); - - /* now blend */ - for (i = 16; i < 64; i++) - BLEND_OP(i, W); - - /* load the state into our registers */ - a=state[0]; b=state[1]; c=state[2]; d=state[3]; - e=state[4]; f=state[5]; g=state[6]; h=state[7]; - - /* now iterate */ - t1 = h + e1(e) + Ch(e,f,g) + 0x428a2f98 + W[ 0]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x71374491 + W[ 1]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0xb5c0fbcf + W[ 2]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0xe9b5dba5 + W[ 3]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x3956c25b + W[ 4]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x59f111f1 + W[ 5]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x923f82a4 + W[ 6]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0xab1c5ed5 + W[ 7]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0xd807aa98 + W[ 8]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x12835b01 + W[ 9]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x243185be + W[10]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x550c7dc3 + W[11]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x72be5d74 + W[12]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x80deb1fe + W[13]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x9bdc06a7 + W[14]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0xc19bf174 + W[15]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0xe49b69c1 + W[16]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0xefbe4786 + W[17]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x0fc19dc6 + W[18]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x240ca1cc + W[19]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x2de92c6f + W[20]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x4a7484aa + W[21]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x5cb0a9dc + W[22]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x76f988da + W[23]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0x983e5152 + W[24]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0xa831c66d + W[25]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0xb00327c8 + W[26]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0xbf597fc7 + W[27]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0xc6e00bf3 + W[28]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0xd5a79147 + W[29]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x06ca6351 + W[30]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x14292967 + W[31]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0x27b70a85 + W[32]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x2e1b2138 + W[33]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x4d2c6dfc + W[34]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x53380d13 + W[35]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x650a7354 + W[36]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x766a0abb + W[37]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x81c2c92e + W[38]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x92722c85 + W[39]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0xa2bfe8a1 + W[40]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0xa81a664b + W[41]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0xc24b8b70 + W[42]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0xc76c51a3 + W[43]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0xd192e819 + W[44]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0xd6990624 + W[45]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0xf40e3585 + W[46]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x106aa070 + W[47]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0x19a4c116 + W[48]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x1e376c08 + W[49]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x2748774c + W[50]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x34b0bcb5 + W[51]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x391c0cb3 + W[52]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x4ed8aa4a + W[53]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x5b9cca4f + W[54]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x682e6ff3 + W[55]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0x748f82ee + W[56]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x78a5636f + W[57]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x84c87814 + W[58]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x8cc70208 + W[59]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x90befffa + W[60]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0xa4506ceb + W[61]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0xbef9a3f7 + W[62]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0xc67178f2 + W[63]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - state[0] += a; state[1] += b; state[2] += c; state[3] += d; - state[4] += e; state[5] += f; state[6] += g; state[7] += h; - - /* clear any sensitive info... */ - a = b = c = d = e = f = g = h = t1 = t2 = 0; - memset(W, 0, 64 * sizeof(u32)); -} - /*}}}*/ -SHA256Summation::SHA256Summation() /*{{{*/ -{ - Sum.state[0] = H0; - Sum.state[1] = H1; - Sum.state[2] = H2; - Sum.state[3] = H3; - Sum.state[4] = H4; - Sum.state[5] = H5; - Sum.state[6] = H6; - Sum.state[7] = H7; - Sum.count[0] = Sum.count[1] = 0; - memset(Sum.buf, 0, sizeof(Sum.buf)); - Done = false; -} - /*}}}*/ -bool SHA256Summation::Add(const u8 *data, unsigned long len) /*{{{*/ -{ - struct sha256_ctx *sctx = ∑ - unsigned int i, index, part_len; - - if (Done) return false; - - /* Compute number of bytes mod 128 */ - index = (unsigned int)((sctx->count[0] >> 3) & 0x3f); - - /* Update number of bits */ - if ((sctx->count[0] += (len << 3)) < (len << 3)) { - sctx->count[1]++; - sctx->count[1] += (len >> 29); - } - - part_len = 64 - index; - - /* Transform as many times as possible. */ - if (len >= part_len) { - memcpy(&sctx->buf[index], data, part_len); - sha256_transform(sctx->state, sctx->buf); - - for (i = part_len; i + 63 < len; i += 64) - sha256_transform(sctx->state, &data[i]); - index = 0; - } else { - i = 0; - } - - /* Buffer remaining input */ - memcpy(&sctx->buf[index], &data[i], len-i); - - return true; -} - /*}}}*/ -SHA256SumValue SHA256Summation::Result() /*{{{*/ -{ - struct sha256_ctx *sctx = ∑ - if (!Done) { - u8 bits[8]; - unsigned int index, pad_len, t; - static const u8 padding[64] = { 0x80, }; - - /* Save number of bits */ - t = sctx->count[0]; - bits[7] = t; t >>= 8; - bits[6] = t; t >>= 8; - bits[5] = t; t >>= 8; - bits[4] = t; - t = sctx->count[1]; - bits[3] = t; t >>= 8; - bits[2] = t; t >>= 8; - bits[1] = t; t >>= 8; - bits[0] = t; - - /* Pad out to 56 mod 64. */ - index = (sctx->count[0] >> 3) & 0x3f; - pad_len = (index < 56) ? (56 - index) : ((64+56) - index); - Add(padding, pad_len); - - /* Append length (before padding) */ - Add(bits, 8); - } - - Done = true; - - /* Store state in digest */ - - SHA256SumValue res; - u8 *out = res.Sum; - - int i, j; - unsigned int t; - for (i = j = 0; i < 8; i++, j += 4) { - t = sctx->state[i]; - out[j+3] = t; t >>= 8; - out[j+2] = t; t >>= 8; - out[j+1] = t; t >>= 8; - out[j ] = t; - } - - return res; -} - /*}}}*/ -// SHA256SumValue::SHA256SumValue - Constructs the sum from a string /*{{{*/ -// --------------------------------------------------------------------- -/* The string form of a SHA256 is a 64 character hex number */ -SHA256SumValue::SHA256SumValue(string Str) -{ - memset(Sum,0,sizeof(Sum)); - Set(Str); -} - /*}}}*/ -// SHA256SumValue::SHA256SumValue - Default constructor /*{{{*/ -// --------------------------------------------------------------------- -/* Sets the value to 0 */ -SHA256SumValue::SHA256SumValue() -{ - memset(Sum,0,sizeof(Sum)); -} - /*}}}*/ -// SHA256SumValue::Set - Set the sum from a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the hex string into a set of chars */ -bool SHA256SumValue::Set(string Str) -{ - return Hex2Num(Str,Sum,sizeof(Sum)); -} - /*}}}*/ -// SHA256SumValue::Value - Convert the number into a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the set of chars into a hex string in lower case */ -string SHA256SumValue::Value() const -{ - char Conv[16] = - { '0','1','2','3','4','5','6','7','8','9','a','b', - 'c','d','e','f' - }; - char Result[65]; - Result[64] = 0; - - // Convert each char into two letters - int J = 0; - int I = 0; - for (; I != 64; J++,I += 2) - { - Result[I] = Conv[Sum[J] >> 4]; - Result[I + 1] = Conv[Sum[J] & 0xF]; - } - - return string(Result); -} - /*}}}*/ -// SHA256SumValue::operator == - Comparator /*{{{*/ -// --------------------------------------------------------------------- -/* Call memcmp on the buffer */ -bool SHA256SumValue::operator == (const SHA256SumValue & rhs) const -{ - return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0; -} - /*}}}*/ -// SHA256Summation::AddFD - Add content of file into the checksum /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool SHA256Summation::AddFD(int Fd,unsigned long Size) -{ - unsigned char Buf[64 * 64]; - int Res = 0; - int ToEOF = (Size == 0); - while (Size != 0 || ToEOF) - { - unsigned n = sizeof(Buf); - if (!ToEOF) n = min(Size,(unsigned long)n); - Res = read(Fd,Buf,n); - if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read - return false; - if (ToEOF && Res == 0) // EOF - break; - Size -= Res; - Add(Buf,Res); - } - return true; -} - /*}}}*/ - diff --git a/apt-pkg/contrib/sha256.h b/apt-pkg/contrib/sha256.h index 5934b5641..15146c948 100644 --- a/apt-pkg/contrib/sha256.h +++ b/apt-pkg/contrib/sha256.h @@ -1,72 +1,8 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: sha1.h,v 1.3 2001/05/07 05:05:47 jgg Exp $ -/* ###################################################################### - - SHA256SumValue - Storage for a SHA-256 hash. - SHA256Summation - SHA-256 Secure Hash Algorithm. - - This is a C++ interface to a set of SHA256Sum functions, that mirrors - the equivalent MD5 & SHA1 classes. - - ##################################################################### */ - /*}}}*/ #ifndef APTPKG_SHA256_H #define APTPKG_SHA256_H -#include <string> -#include <cstring> -#include <algorithm> -#include <stdint.h> - -using std::string; -using std::min; - -class SHA256Summation; - -class SHA256SumValue -{ - friend class SHA256Summation; - unsigned char Sum[32]; - - public: - - // Accessors - bool operator ==(const SHA256SumValue &rhs) const; - string Value() const; - inline void Value(unsigned char S[32]) - {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];}; - inline operator string() const {return Value();}; - bool Set(string Str); - inline void Set(unsigned char S[32]) - {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];}; - - SHA256SumValue(string Str); - SHA256SumValue(); -}; - -struct sha256_ctx { - uint32_t count[2]; - uint32_t state[8]; - uint8_t buf[128]; -}; - -class SHA256Summation -{ - struct sha256_ctx Sum; - - bool Done; - - public: +#include "sha2.h" - bool Add(const unsigned char *inbuf,unsigned long inlen); - inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));}; - bool AddFD(int Fd,unsigned long Size); - inline bool Add(const unsigned char *Beg,const unsigned char *End) - {return Add(Beg,End-Beg);}; - SHA256SumValue Result(); - - SHA256Summation(); -}; +#warning "This header is deprecated, please include sha2.h instead" #endif diff --git a/apt-pkg/contrib/sha2_internal.cc b/apt-pkg/contrib/sha2_internal.cc new file mode 100644 index 000000000..ff995cdf2 --- /dev/null +++ b/apt-pkg/contrib/sha2_internal.cc @@ -0,0 +1,1066 @@ +/* + * FILE: sha2.c + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: sha2.c,v 1.1 2001/11/08 00:01:51 adg Exp adg $ + */ +#include <config.h> + +#include <string.h> /* memcpy()/memset() or bcopy()/bzero() */ +#include <assert.h> /* assert() */ +#include "sha2_internal.h" + +/* + * ASSERT NOTE: + * Some sanity checking code is included using assert(). On my FreeBSD + * system, this additional code can be removed by compiling with NDEBUG + * defined. Check your own systems manpage on assert() to see how to + * compile WITHOUT the sanity checking code on your system. + * + * UNROLLED TRANSFORM LOOP NOTE: + * You can define SHA2_UNROLL_TRANSFORM to use the unrolled transform + * loop version for the hash transform rounds (defined using macros + * later in this file). Either define on the command line, for example: + * + * cc -DSHA2_UNROLL_TRANSFORM -o sha2 sha2.c sha2prog.c + * + * or define below: + * + * #define SHA2_UNROLL_TRANSFORM + * + */ + + +/*** SHA-256/384/512 Machine Architecture Definitions *****************/ +/* + * BYTE_ORDER NOTE: + * + * Please make sure that your system defines BYTE_ORDER. If your + * architecture is little-endian, make sure it also defines + * LITTLE_ENDIAN and that the two (BYTE_ORDER and LITTLE_ENDIAN) are + * equivilent. + * + * If your system does not define the above, then you can do so by + * hand like this: + * + * #define LITTLE_ENDIAN 1234 + * #define BIG_ENDIAN 4321 + * + * And for little-endian machines, add: + * + * #define BYTE_ORDER LITTLE_ENDIAN + * + * Or for big-endian machines: + * + * #define BYTE_ORDER BIG_ENDIAN + * + * The FreeBSD machine this was written on defines BYTE_ORDER + * appropriately by including <sys/types.h> (which in turn includes + * <machine/endian.h> where the appropriate definitions are actually + * made). + */ +#if !defined(BYTE_ORDER) || (BYTE_ORDER != LITTLE_ENDIAN && BYTE_ORDER != BIG_ENDIAN) +#error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN +#endif + +/* + * Define the followingsha2_* types to types of the correct length on + * the native archtecture. Most BSD systems and Linux define u_intXX_t + * types. Machines with very recent ANSI C headers, can use the + * uintXX_t definintions from inttypes.h by defining SHA2_USE_INTTYPES_H + * during compile or in the sha.h header file. + * + * Machines that support neither u_intXX_t nor inttypes.h's uintXX_t + * will need to define these three typedefs below (and the appropriate + * ones in sha.h too) by hand according to their system architecture. + * + * Thank you, Jun-ichiro itojun Hagino, for suggesting using u_intXX_t + * types and pointing out recent ANSI C support for uintXX_t in inttypes.h. + */ +#ifdef SHA2_USE_INTTYPES_H + +typedef uint8_t sha2_byte; /* Exactly 1 byte */ +typedef uint32_t sha2_word32; /* Exactly 4 bytes */ +typedef uint64_t sha2_word64; /* Exactly 8 bytes */ + +#else /* SHA2_USE_INTTYPES_H */ + +typedef u_int8_t sha2_byte; /* Exactly 1 byte */ +typedef u_int32_t sha2_word32; /* Exactly 4 bytes */ +typedef u_int64_t sha2_word64; /* Exactly 8 bytes */ + +#endif /* SHA2_USE_INTTYPES_H */ + + +/*** SHA-256/384/512 Various Length Definitions ***********************/ +/* NOTE: Most of these are in sha2.h */ +#define SHA256_SHORT_BLOCK_LENGTH (SHA256_BLOCK_LENGTH - 8) +#define SHA384_SHORT_BLOCK_LENGTH (SHA384_BLOCK_LENGTH - 16) +#define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16) + + +/*** ENDIAN REVERSAL MACROS *******************************************/ +#if BYTE_ORDER == LITTLE_ENDIAN +#define REVERSE32(w,x) { \ + sha2_word32 tmp = (w); \ + tmp = (tmp >> 16) | (tmp << 16); \ + (x) = ((tmp & 0xff00ff00UL) >> 8) | ((tmp & 0x00ff00ffUL) << 8); \ +} +#define REVERSE64(w,x) { \ + sha2_word64 tmp = (w); \ + tmp = (tmp >> 32) | (tmp << 32); \ + tmp = ((tmp & 0xff00ff00ff00ff00ULL) >> 8) | \ + ((tmp & 0x00ff00ff00ff00ffULL) << 8); \ + (x) = ((tmp & 0xffff0000ffff0000ULL) >> 16) | \ + ((tmp & 0x0000ffff0000ffffULL) << 16); \ +} +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + +/* + * Macro for incrementally adding the unsigned 64-bit integer n to the + * unsigned 128-bit integer (represented using a two-element array of + * 64-bit words): + */ +#define ADDINC128(w,n) { \ + (w)[0] += (sha2_word64)(n); \ + if ((w)[0] < (n)) { \ + (w)[1]++; \ + } \ +} + +/* + * Macros for copying blocks of memory and for zeroing out ranges + * of memory. Using these macros makes it easy to switch from + * using memset()/memcpy() and using bzero()/bcopy(). + * + * Please define either SHA2_USE_MEMSET_MEMCPY or define + * SHA2_USE_BZERO_BCOPY depending on which function set you + * choose to use: + */ +#if !defined(SHA2_USE_MEMSET_MEMCPY) && !defined(SHA2_USE_BZERO_BCOPY) +/* Default to memset()/memcpy() if no option is specified */ +#define SHA2_USE_MEMSET_MEMCPY 1 +#endif +#if defined(SHA2_USE_MEMSET_MEMCPY) && defined(SHA2_USE_BZERO_BCOPY) +/* Abort with an error if BOTH options are defined */ +#error Define either SHA2_USE_MEMSET_MEMCPY or SHA2_USE_BZERO_BCOPY, not both! +#endif + +#ifdef SHA2_USE_MEMSET_MEMCPY +#define MEMSET_BZERO(p,l) memset((p), 0, (l)) +#define MEMCPY_BCOPY(d,s,l) memcpy((d), (s), (l)) +#endif +#ifdef SHA2_USE_BZERO_BCOPY +#define MEMSET_BZERO(p,l) bzero((p), (l)) +#define MEMCPY_BCOPY(d,s,l) bcopy((s), (d), (l)) +#endif + + +/*** THE SIX LOGICAL FUNCTIONS ****************************************/ +/* + * Bit shifting and rotation (used by the six SHA-XYZ logical functions: + * + * NOTE: The naming of R and S appears backwards here (R is a SHIFT and + * S is a ROTATION) because the SHA-256/384/512 description document + * (see http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf) uses this + * same "backwards" definition. + */ +/* Shift-right (used in SHA-256, SHA-384, and SHA-512): */ +#define R(b,x) ((x) >> (b)) +/* 32-bit Rotate-right (used in SHA-256): */ +#define S32(b,x) (((x) >> (b)) | ((x) << (32 - (b)))) +/* 64-bit Rotate-right (used in SHA-384 and SHA-512): */ +#define S64(b,x) (((x) >> (b)) | ((x) << (64 - (b)))) + +/* Two of six logical functions used in SHA-256, SHA-384, and SHA-512: */ +#define Ch(x,y,z) (((x) & (y)) ^ ((~(x)) & (z))) +#define Maj(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) + +/* Four of six logical functions used in SHA-256: */ +#define Sigma0_256(x) (S32(2, (x)) ^ S32(13, (x)) ^ S32(22, (x))) +#define Sigma1_256(x) (S32(6, (x)) ^ S32(11, (x)) ^ S32(25, (x))) +#define sigma0_256(x) (S32(7, (x)) ^ S32(18, (x)) ^ R(3 , (x))) +#define sigma1_256(x) (S32(17, (x)) ^ S32(19, (x)) ^ R(10, (x))) + +/* Four of six logical functions used in SHA-384 and SHA-512: */ +#define Sigma0_512(x) (S64(28, (x)) ^ S64(34, (x)) ^ S64(39, (x))) +#define Sigma1_512(x) (S64(14, (x)) ^ S64(18, (x)) ^ S64(41, (x))) +#define sigma0_512(x) (S64( 1, (x)) ^ S64( 8, (x)) ^ R( 7, (x))) +#define sigma1_512(x) (S64(19, (x)) ^ S64(61, (x)) ^ R( 6, (x))) + +/*** INTERNAL FUNCTION PROTOTYPES *************************************/ +/* NOTE: These should not be accessed directly from outside this + * library -- they are intended for private internal visibility/use + * only. + */ +static void SHA512_Last(SHA512_CTX*); +static void SHA256_Transform(SHA256_CTX*, const sha2_word32*); +static void SHA512_Transform(SHA512_CTX*, const sha2_word64*); + + +/*** SHA-XYZ INITIAL HASH VALUES AND CONSTANTS ************************/ +/* Hash constant words K for SHA-256: */ +const static sha2_word32 K256[64] = { + 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, + 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, + 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL, + 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL, + 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, + 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, + 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, + 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL, + 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL, + 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, + 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, + 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, + 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL, + 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL, + 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, + 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL +}; + +/* Initial hash value H for SHA-256: */ +const static sha2_word32 sha256_initial_hash_value[8] = { + 0x6a09e667UL, + 0xbb67ae85UL, + 0x3c6ef372UL, + 0xa54ff53aUL, + 0x510e527fUL, + 0x9b05688cUL, + 0x1f83d9abUL, + 0x5be0cd19UL +}; + +/* Hash constant words K for SHA-384 and SHA-512: */ +const static sha2_word64 K512[80] = { + 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, + 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL, + 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, + 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, + 0xd807aa98a3030242ULL, 0x12835b0145706fbeULL, + 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL, + 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, + 0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL, + 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, + 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, + 0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL, + 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL, + 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, + 0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL, + 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL, + 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, + 0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL, + 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL, + 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, + 0x81c2c92e47edaee6ULL, 0x92722c851482353bULL, + 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, + 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, + 0xd192e819d6ef5218ULL, 0xd69906245565a910ULL, + 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL, + 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, + 0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL, + 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, + 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, + 0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL, + 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL, + 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, + 0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL, + 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL, + 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, + 0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL, + 0x113f9804bef90daeULL, 0x1b710b35131c471bULL, + 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, + 0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL, + 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, + 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL +}; + +/* Initial hash value H for SHA-384 */ +const static sha2_word64 sha384_initial_hash_value[8] = { + 0xcbbb9d5dc1059ed8ULL, + 0x629a292a367cd507ULL, + 0x9159015a3070dd17ULL, + 0x152fecd8f70e5939ULL, + 0x67332667ffc00b31ULL, + 0x8eb44a8768581511ULL, + 0xdb0c2e0d64f98fa7ULL, + 0x47b5481dbefa4fa4ULL +}; + +/* Initial hash value H for SHA-512 */ +const static sha2_word64 sha512_initial_hash_value[8] = { + 0x6a09e667f3bcc908ULL, + 0xbb67ae8584caa73bULL, + 0x3c6ef372fe94f82bULL, + 0xa54ff53a5f1d36f1ULL, + 0x510e527fade682d1ULL, + 0x9b05688c2b3e6c1fULL, + 0x1f83d9abfb41bd6bULL, + 0x5be0cd19137e2179ULL +}; + +/* + * Constant used by SHA256/384/512_End() functions for converting the + * digest to a readable hexadecimal character string: + */ +static const char *sha2_hex_digits = "0123456789abcdef"; + + +/*** SHA-256: *********************************************************/ +void SHA256_Init(SHA256_CTX* context) { + if (context == (SHA256_CTX*)0) { + return; + } + MEMCPY_BCOPY(context->state, sha256_initial_hash_value, SHA256_DIGEST_LENGTH); + MEMSET_BZERO(context->buffer, SHA256_BLOCK_LENGTH); + context->bitcount = 0; +} + +#ifdef SHA2_UNROLL_TRANSFORM + +/* Unrolled SHA-256 round macros: */ + +#if BYTE_ORDER == LITTLE_ENDIAN + +#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \ + REVERSE32(*data++, W256[j]); \ + T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \ + K256[j] + W256[j]; \ + (d) += T1; \ + (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \ + j++ + + +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + +#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \ + T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \ + K256[j] + (W256[j] = *data++); \ + (d) += T1; \ + (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \ + j++ + +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + +#define ROUND256(a,b,c,d,e,f,g,h) \ + s0 = W256[(j+1)&0x0f]; \ + s0 = sigma0_256(s0); \ + s1 = W256[(j+14)&0x0f]; \ + s1 = sigma1_256(s1); \ + T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + K256[j] + \ + (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); \ + (d) += T1; \ + (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \ + j++ + +static void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) { + sha2_word32 a, b, c, d, e, f, g, h, s0, s1; + sha2_word32 T1, *W256; + int j; + + W256 = (sha2_word32*)context->buffer; + + /* Initialize registers with the prev. intermediate value */ + a = context->state[0]; + b = context->state[1]; + c = context->state[2]; + d = context->state[3]; + e = context->state[4]; + f = context->state[5]; + g = context->state[6]; + h = context->state[7]; + + j = 0; + do { + /* Rounds 0 to 15 (unrolled): */ + ROUND256_0_TO_15(a,b,c,d,e,f,g,h); + ROUND256_0_TO_15(h,a,b,c,d,e,f,g); + ROUND256_0_TO_15(g,h,a,b,c,d,e,f); + ROUND256_0_TO_15(f,g,h,a,b,c,d,e); + ROUND256_0_TO_15(e,f,g,h,a,b,c,d); + ROUND256_0_TO_15(d,e,f,g,h,a,b,c); + ROUND256_0_TO_15(c,d,e,f,g,h,a,b); + ROUND256_0_TO_15(b,c,d,e,f,g,h,a); + } while (j < 16); + + /* Now for the remaining rounds to 64: */ + do { + ROUND256(a,b,c,d,e,f,g,h); + ROUND256(h,a,b,c,d,e,f,g); + ROUND256(g,h,a,b,c,d,e,f); + ROUND256(f,g,h,a,b,c,d,e); + ROUND256(e,f,g,h,a,b,c,d); + ROUND256(d,e,f,g,h,a,b,c); + ROUND256(c,d,e,f,g,h,a,b); + ROUND256(b,c,d,e,f,g,h,a); + } while (j < 64); + + /* Compute the current intermediate hash value */ + context->state[0] += a; + context->state[1] += b; + context->state[2] += c; + context->state[3] += d; + context->state[4] += e; + context->state[5] += f; + context->state[6] += g; + context->state[7] += h; + + /* Clean up */ + a = b = c = d = e = f = g = h = T1 = 0; +} + +#else /* SHA2_UNROLL_TRANSFORM */ + +static void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) { + sha2_word32 a, b, c, d, e, f, g, h, s0, s1; + sha2_word32 T1, T2, *W256; + int j; + + W256 = (sha2_word32*)context->buffer; + + /* Initialize registers with the prev. intermediate value */ + a = context->state[0]; + b = context->state[1]; + c = context->state[2]; + d = context->state[3]; + e = context->state[4]; + f = context->state[5]; + g = context->state[6]; + h = context->state[7]; + + j = 0; + do { +#if BYTE_ORDER == LITTLE_ENDIAN + /* Copy data while converting to host byte order */ + REVERSE32(*data++,W256[j]); + /* Apply the SHA-256 compression function to update a..h */ + T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + W256[j]; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + /* Apply the SHA-256 compression function to update a..h with copy */ + T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + (W256[j] = *data++); +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + T2 = Sigma0_256(a) + Maj(a, b, c); + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; + + j++; + } while (j < 16); + + do { + /* Part of the message block expansion: */ + s0 = W256[(j+1)&0x0f]; + s0 = sigma0_256(s0); + s1 = W256[(j+14)&0x0f]; + s1 = sigma1_256(s1); + + /* Apply the SHA-256 compression function to update a..h */ + T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + + (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); + T2 = Sigma0_256(a) + Maj(a, b, c); + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; + + j++; + } while (j < 64); + + /* Compute the current intermediate hash value */ + context->state[0] += a; + context->state[1] += b; + context->state[2] += c; + context->state[3] += d; + context->state[4] += e; + context->state[5] += f; + context->state[6] += g; + context->state[7] += h; + + /* Clean up */ + a = b = c = d = e = f = g = h = T1 = T2 = 0; +} + +#endif /* SHA2_UNROLL_TRANSFORM */ + +void SHA256_Update(SHA256_CTX* context, const sha2_byte *data, size_t len) { + unsigned int freespace, usedspace; + + if (len == 0) { + /* Calling with no data is valid - we do nothing */ + return; + } + + /* Sanity check: */ + assert(context != (SHA256_CTX*)0 && data != (sha2_byte*)0); + + usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH; + if (usedspace > 0) { + /* Calculate how much free space is available in the buffer */ + freespace = SHA256_BLOCK_LENGTH - usedspace; + + if (len >= freespace) { + /* Fill the buffer completely and process it */ + MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace); + context->bitcount += freespace << 3; + len -= freespace; + data += freespace; + SHA256_Transform(context, (sha2_word32*)context->buffer); + } else { + /* The buffer is not yet full */ + MEMCPY_BCOPY(&context->buffer[usedspace], data, len); + context->bitcount += len << 3; + /* Clean up: */ + usedspace = freespace = 0; + return; + } + } + while (len >= SHA256_BLOCK_LENGTH) { + /* Process as many complete blocks as we can */ + SHA256_Transform(context, (sha2_word32*)data); + context->bitcount += SHA256_BLOCK_LENGTH << 3; + len -= SHA256_BLOCK_LENGTH; + data += SHA256_BLOCK_LENGTH; + } + if (len > 0) { + /* There's left-overs, so save 'em */ + MEMCPY_BCOPY(context->buffer, data, len); + context->bitcount += len << 3; + } + /* Clean up: */ + usedspace = freespace = 0; +} + +void SHA256_Final(sha2_byte digest[], SHA256_CTX* context) { + sha2_word32 *d = (sha2_word32*)digest; + unsigned int usedspace; + + /* Sanity check: */ + assert(context != (SHA256_CTX*)0); + + /* If no digest buffer is passed, we don't bother doing this: */ + if (digest != (sha2_byte*)0) { + usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH; +#if BYTE_ORDER == LITTLE_ENDIAN + /* Convert FROM host byte order */ + REVERSE64(context->bitcount,context->bitcount); +#endif + if (usedspace > 0) { + /* Begin padding with a 1 bit: */ + context->buffer[usedspace++] = 0x80; + + if (usedspace <= SHA256_SHORT_BLOCK_LENGTH) { + /* Set-up for the last transform: */ + MEMSET_BZERO(&context->buffer[usedspace], SHA256_SHORT_BLOCK_LENGTH - usedspace); + } else { + if (usedspace < SHA256_BLOCK_LENGTH) { + MEMSET_BZERO(&context->buffer[usedspace], SHA256_BLOCK_LENGTH - usedspace); + } + /* Do second-to-last transform: */ + SHA256_Transform(context, (sha2_word32*)context->buffer); + + /* And set-up for the last transform: */ + MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH); + } + } else { + /* Set-up for the last transform: */ + MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH); + + /* Begin padding with a 1 bit: */ + *context->buffer = 0x80; + } + /* Set the bit count: */ + *(sha2_word64*)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount; + + /* Final transform: */ + SHA256_Transform(context, (sha2_word32*)context->buffer); + +#if BYTE_ORDER == LITTLE_ENDIAN + { + /* Convert TO host byte order */ + int j; + for (j = 0; j < 8; j++) { + REVERSE32(context->state[j],context->state[j]); + *d++ = context->state[j]; + } + } +#else + MEMCPY_BCOPY(d, context->state, SHA256_DIGEST_LENGTH); +#endif + } + + /* Clean up state data: */ + MEMSET_BZERO(context, sizeof(context)); + usedspace = 0; +} + +char *SHA256_End(SHA256_CTX* context, char buffer[]) { + sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest; + int i; + + /* Sanity check: */ + assert(context != (SHA256_CTX*)0); + + if (buffer != (char*)0) { + SHA256_Final(digest, context); + + for (i = 0; i < SHA256_DIGEST_LENGTH; i++) { + *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4]; + *buffer++ = sha2_hex_digits[*d & 0x0f]; + d++; + } + *buffer = (char)0; + } else { + MEMSET_BZERO(context, sizeof(context)); + } + MEMSET_BZERO(digest, SHA256_DIGEST_LENGTH); + return buffer; +} + +char* SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH]) { + SHA256_CTX context; + + SHA256_Init(&context); + SHA256_Update(&context, data, len); + return SHA256_End(&context, digest); +} + + +/*** SHA-512: *********************************************************/ +void SHA512_Init(SHA512_CTX* context) { + if (context == (SHA512_CTX*)0) { + return; + } + MEMCPY_BCOPY(context->state, sha512_initial_hash_value, SHA512_DIGEST_LENGTH); + MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH); + context->bitcount[0] = context->bitcount[1] = 0; +} + +#ifdef SHA2_UNROLL_TRANSFORM + +/* Unrolled SHA-512 round macros: */ +#if BYTE_ORDER == LITTLE_ENDIAN + +#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \ + REVERSE64(*data++, W512[j]); \ + T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \ + K512[j] + W512[j]; \ + (d) += T1, \ + (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)), \ + j++ + + +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + +#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \ + T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \ + K512[j] + (W512[j] = *data++); \ + (d) += T1; \ + (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \ + j++ + +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + +#define ROUND512(a,b,c,d,e,f,g,h) \ + s0 = W512[(j+1)&0x0f]; \ + s0 = sigma0_512(s0); \ + s1 = W512[(j+14)&0x0f]; \ + s1 = sigma1_512(s1); \ + T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + K512[j] + \ + (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); \ + (d) += T1; \ + (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \ + j++ + +static void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) { + sha2_word64 a, b, c, d, e, f, g, h, s0, s1; + sha2_word64 T1, *W512 = (sha2_word64*)context->buffer; + int j; + + /* Initialize registers with the prev. intermediate value */ + a = context->state[0]; + b = context->state[1]; + c = context->state[2]; + d = context->state[3]; + e = context->state[4]; + f = context->state[5]; + g = context->state[6]; + h = context->state[7]; + + j = 0; + do { + ROUND512_0_TO_15(a,b,c,d,e,f,g,h); + ROUND512_0_TO_15(h,a,b,c,d,e,f,g); + ROUND512_0_TO_15(g,h,a,b,c,d,e,f); + ROUND512_0_TO_15(f,g,h,a,b,c,d,e); + ROUND512_0_TO_15(e,f,g,h,a,b,c,d); + ROUND512_0_TO_15(d,e,f,g,h,a,b,c); + ROUND512_0_TO_15(c,d,e,f,g,h,a,b); + ROUND512_0_TO_15(b,c,d,e,f,g,h,a); + } while (j < 16); + + /* Now for the remaining rounds up to 79: */ + do { + ROUND512(a,b,c,d,e,f,g,h); + ROUND512(h,a,b,c,d,e,f,g); + ROUND512(g,h,a,b,c,d,e,f); + ROUND512(f,g,h,a,b,c,d,e); + ROUND512(e,f,g,h,a,b,c,d); + ROUND512(d,e,f,g,h,a,b,c); + ROUND512(c,d,e,f,g,h,a,b); + ROUND512(b,c,d,e,f,g,h,a); + } while (j < 80); + + /* Compute the current intermediate hash value */ + context->state[0] += a; + context->state[1] += b; + context->state[2] += c; + context->state[3] += d; + context->state[4] += e; + context->state[5] += f; + context->state[6] += g; + context->state[7] += h; + + /* Clean up */ + a = b = c = d = e = f = g = h = T1 = 0; +} + +#else /* SHA2_UNROLL_TRANSFORM */ + +static void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) { + sha2_word64 a, b, c, d, e, f, g, h, s0, s1; + sha2_word64 T1, T2, *W512 = (sha2_word64*)context->buffer; + int j; + + /* Initialize registers with the prev. intermediate value */ + a = context->state[0]; + b = context->state[1]; + c = context->state[2]; + d = context->state[3]; + e = context->state[4]; + f = context->state[5]; + g = context->state[6]; + h = context->state[7]; + + j = 0; + do { +#if BYTE_ORDER == LITTLE_ENDIAN + /* Convert TO host byte order */ + REVERSE64(*data++, W512[j]); + /* Apply the SHA-512 compression function to update a..h */ + T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + W512[j]; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + /* Apply the SHA-512 compression function to update a..h with copy */ + T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + (W512[j] = *data++); +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + T2 = Sigma0_512(a) + Maj(a, b, c); + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; + + j++; + } while (j < 16); + + do { + /* Part of the message block expansion: */ + s0 = W512[(j+1)&0x0f]; + s0 = sigma0_512(s0); + s1 = W512[(j+14)&0x0f]; + s1 = sigma1_512(s1); + + /* Apply the SHA-512 compression function to update a..h */ + T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + + (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); + T2 = Sigma0_512(a) + Maj(a, b, c); + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; + + j++; + } while (j < 80); + + /* Compute the current intermediate hash value */ + context->state[0] += a; + context->state[1] += b; + context->state[2] += c; + context->state[3] += d; + context->state[4] += e; + context->state[5] += f; + context->state[6] += g; + context->state[7] += h; + + /* Clean up */ + a = b = c = d = e = f = g = h = T1 = T2 = 0; +} + +#endif /* SHA2_UNROLL_TRANSFORM */ + +void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len) { + unsigned int freespace, usedspace; + + if (len == 0) { + /* Calling with no data is valid - we do nothing */ + return; + } + + /* Sanity check: */ + assert(context != (SHA512_CTX*)0 && data != (sha2_byte*)0); + + usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH; + if (usedspace > 0) { + /* Calculate how much free space is available in the buffer */ + freespace = SHA512_BLOCK_LENGTH - usedspace; + + if (len >= freespace) { + /* Fill the buffer completely and process it */ + MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace); + ADDINC128(context->bitcount, freespace << 3); + len -= freespace; + data += freespace; + SHA512_Transform(context, (sha2_word64*)context->buffer); + } else { + /* The buffer is not yet full */ + MEMCPY_BCOPY(&context->buffer[usedspace], data, len); + ADDINC128(context->bitcount, len << 3); + /* Clean up: */ + usedspace = freespace = 0; + return; + } + } + while (len >= SHA512_BLOCK_LENGTH) { + /* Process as many complete blocks as we can */ + SHA512_Transform(context, (sha2_word64*)data); + ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3); + len -= SHA512_BLOCK_LENGTH; + data += SHA512_BLOCK_LENGTH; + } + if (len > 0) { + /* There's left-overs, so save 'em */ + MEMCPY_BCOPY(context->buffer, data, len); + ADDINC128(context->bitcount, len << 3); + } + /* Clean up: */ + usedspace = freespace = 0; +} + +static void SHA512_Last(SHA512_CTX* context) { + unsigned int usedspace; + + usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH; +#if BYTE_ORDER == LITTLE_ENDIAN + /* Convert FROM host byte order */ + REVERSE64(context->bitcount[0],context->bitcount[0]); + REVERSE64(context->bitcount[1],context->bitcount[1]); +#endif + if (usedspace > 0) { + /* Begin padding with a 1 bit: */ + context->buffer[usedspace++] = 0x80; + + if (usedspace <= SHA512_SHORT_BLOCK_LENGTH) { + /* Set-up for the last transform: */ + MEMSET_BZERO(&context->buffer[usedspace], SHA512_SHORT_BLOCK_LENGTH - usedspace); + } else { + if (usedspace < SHA512_BLOCK_LENGTH) { + MEMSET_BZERO(&context->buffer[usedspace], SHA512_BLOCK_LENGTH - usedspace); + } + /* Do second-to-last transform: */ + SHA512_Transform(context, (sha2_word64*)context->buffer); + + /* And set-up for the last transform: */ + MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH - 2); + } + } else { + /* Prepare for final transform: */ + MEMSET_BZERO(context->buffer, SHA512_SHORT_BLOCK_LENGTH); + + /* Begin padding with a 1 bit: */ + *context->buffer = 0x80; + } + /* Store the length of input data (in bits): */ + *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1]; + *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0]; + + /* Final transform: */ + SHA512_Transform(context, (sha2_word64*)context->buffer); +} + +void SHA512_Final(sha2_byte digest[], SHA512_CTX* context) { + sha2_word64 *d = (sha2_word64*)digest; + + /* Sanity check: */ + assert(context != (SHA512_CTX*)0); + + /* If no digest buffer is passed, we don't bother doing this: */ + if (digest != (sha2_byte*)0) { + SHA512_Last(context); + + /* Save the hash data for output: */ +#if BYTE_ORDER == LITTLE_ENDIAN + { + /* Convert TO host byte order */ + int j; + for (j = 0; j < 8; j++) { + REVERSE64(context->state[j],context->state[j]); + *d++ = context->state[j]; + } + } +#else + MEMCPY_BCOPY(d, context->state, SHA512_DIGEST_LENGTH); +#endif + } + + /* Zero out state data */ + MEMSET_BZERO(context, sizeof(context)); +} + +char *SHA512_End(SHA512_CTX* context, char buffer[]) { + sha2_byte digest[SHA512_DIGEST_LENGTH], *d = digest; + int i; + + /* Sanity check: */ + assert(context != (SHA512_CTX*)0); + + if (buffer != (char*)0) { + SHA512_Final(digest, context); + + for (i = 0; i < SHA512_DIGEST_LENGTH; i++) { + *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4]; + *buffer++ = sha2_hex_digits[*d & 0x0f]; + d++; + } + *buffer = (char)0; + } else { + MEMSET_BZERO(context, sizeof(context)); + } + MEMSET_BZERO(digest, SHA512_DIGEST_LENGTH); + return buffer; +} + +char* SHA512_Data(const sha2_byte* data, size_t len, char digest[SHA512_DIGEST_STRING_LENGTH]) { + SHA512_CTX context; + + SHA512_Init(&context); + SHA512_Update(&context, data, len); + return SHA512_End(&context, digest); +} + + +/*** SHA-384: *********************************************************/ +void SHA384_Init(SHA384_CTX* context) { + if (context == (SHA384_CTX*)0) { + return; + } + MEMCPY_BCOPY(context->state, sha384_initial_hash_value, SHA512_DIGEST_LENGTH); + MEMSET_BZERO(context->buffer, SHA384_BLOCK_LENGTH); + context->bitcount[0] = context->bitcount[1] = 0; +} + +void SHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t len) { + SHA512_Update((SHA512_CTX*)context, data, len); +} + +void SHA384_Final(sha2_byte digest[], SHA384_CTX* context) { + sha2_word64 *d = (sha2_word64*)digest; + + /* Sanity check: */ + assert(context != (SHA384_CTX*)0); + + /* If no digest buffer is passed, we don't bother doing this: */ + if (digest != (sha2_byte*)0) { + SHA512_Last((SHA512_CTX*)context); + + /* Save the hash data for output: */ +#if BYTE_ORDER == LITTLE_ENDIAN + { + /* Convert TO host byte order */ + int j; + for (j = 0; j < 6; j++) { + REVERSE64(context->state[j],context->state[j]); + *d++ = context->state[j]; + } + } +#else + MEMCPY_BCOPY(d, context->state, SHA384_DIGEST_LENGTH); +#endif + } + + /* Zero out state data */ + MEMSET_BZERO(context, sizeof(context)); +} + +char *SHA384_End(SHA384_CTX* context, char buffer[]) { + sha2_byte digest[SHA384_DIGEST_LENGTH], *d = digest; + int i; + + /* Sanity check: */ + assert(context != (SHA384_CTX*)0); + + if (buffer != (char*)0) { + SHA384_Final(digest, context); + + for (i = 0; i < SHA384_DIGEST_LENGTH; i++) { + *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4]; + *buffer++ = sha2_hex_digits[*d & 0x0f]; + d++; + } + *buffer = (char)0; + } else { + MEMSET_BZERO(context, sizeof(context)); + } + MEMSET_BZERO(digest, SHA384_DIGEST_LENGTH); + return buffer; +} + +char* SHA384_Data(const sha2_byte* data, size_t len, char digest[SHA384_DIGEST_STRING_LENGTH]) { + SHA384_CTX context; + + SHA384_Init(&context); + SHA384_Update(&context, data, len); + return SHA384_End(&context, digest); +} + diff --git a/apt-pkg/contrib/sha2_internal.h b/apt-pkg/contrib/sha2_internal.h new file mode 100644 index 000000000..d9d429c92 --- /dev/null +++ b/apt-pkg/contrib/sha2_internal.h @@ -0,0 +1,188 @@ +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: sha2.h,v 1.1 2001/11/08 00:02:01 adg Exp adg $ + */ + +#ifndef __SHA2_H__ +#define __SHA2_H__ + +/* + * Import u_intXX_t size_t type definitions from system headers. You + * may need to change this, or define these things yourself in this + * file. + */ +#include <sys/types.h> + +#ifdef SHA2_USE_INTTYPES_H + +#include <inttypes.h> + +#endif /* SHA2_USE_INTTYPES_H */ + + +/*** SHA-256/384/512 Various Length Definitions ***********************/ +#define SHA256_BLOCK_LENGTH 64 +#define SHA256_DIGEST_LENGTH 32 +#define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1) +#define SHA384_BLOCK_LENGTH 128 +#define SHA384_DIGEST_LENGTH 48 +#define SHA384_DIGEST_STRING_LENGTH (SHA384_DIGEST_LENGTH * 2 + 1) +#define SHA512_BLOCK_LENGTH 128 +#define SHA512_DIGEST_LENGTH 64 +#define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1) + + +/*** SHA-256/384/512 Context Structures *******************************/ +/* NOTE: If your architecture does not define either u_intXX_t types or + * uintXX_t (from inttypes.h), you may need to define things by hand + * for your system: + */ +#if 0 +typedef unsigned char u_int8_t; /* 1-byte (8-bits) */ +typedef unsigned int u_int32_t; /* 4-bytes (32-bits) */ +typedef unsigned long long u_int64_t; /* 8-bytes (64-bits) */ +#endif +/* + * Most BSD systems already define u_intXX_t types, as does Linux. + * Some systems, however, like Compaq's Tru64 Unix instead can use + * uintXX_t types defined by very recent ANSI C standards and included + * in the file: + * + * #include <inttypes.h> + * + * If you choose to use <inttypes.h> then please define: + * + * #define SHA2_USE_INTTYPES_H + * + * Or on the command line during compile: + * + * cc -DSHA2_USE_INTTYPES_H ... + */ +#ifdef SHA2_USE_INTTYPES_H + +typedef struct _SHA256_CTX { + uint32_t state[8]; + uint64_t bitcount; + uint8_t buffer[SHA256_BLOCK_LENGTH]; +} SHA256_CTX; +typedef struct _SHA512_CTX { + uint64_t state[8]; + uint64_t bitcount[2]; + uint8_t buffer[SHA512_BLOCK_LENGTH]; +} SHA512_CTX; + +#else /* SHA2_USE_INTTYPES_H */ + +typedef struct _SHA256_CTX { + u_int32_t state[8]; + u_int64_t bitcount; + u_int8_t buffer[SHA256_BLOCK_LENGTH]; +} SHA256_CTX; +typedef struct _SHA512_CTX { + u_int64_t state[8]; + u_int64_t bitcount[2]; + u_int8_t buffer[SHA512_BLOCK_LENGTH]; +} SHA512_CTX; + +#endif /* SHA2_USE_INTTYPES_H */ + +typedef SHA512_CTX SHA384_CTX; + + +/*** SHA-256/384/512 Function Prototypes ******************************/ +#ifndef NOPROTO +#ifdef SHA2_USE_INTTYPES_H + +void SHA256_Init(SHA256_CTX *); +void SHA256_Update(SHA256_CTX*, const uint8_t*, size_t); +void SHA256_Final(uint8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*); +char* SHA256_End(SHA256_CTX*, char[SHA256_DIGEST_STRING_LENGTH]); +char* SHA256_Data(const uint8_t*, size_t, char[SHA256_DIGEST_STRING_LENGTH]); + +void SHA384_Init(SHA384_CTX*); +void SHA384_Update(SHA384_CTX*, const uint8_t*, size_t); +void SHA384_Final(uint8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*); +char* SHA384_End(SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]); +char* SHA384_Data(const uint8_t*, size_t, char[SHA384_DIGEST_STRING_LENGTH]); + +void SHA512_Init(SHA512_CTX*); +void SHA512_Update(SHA512_CTX*, const uint8_t*, size_t); +void SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*); +char* SHA512_End(SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]); +char* SHA512_Data(const uint8_t*, size_t, char[SHA512_DIGEST_STRING_LENGTH]); + +#else /* SHA2_USE_INTTYPES_H */ + +void SHA256_Init(SHA256_CTX *); +void SHA256_Update(SHA256_CTX*, const u_int8_t*, size_t); +void SHA256_Final(u_int8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*); +char* SHA256_End(SHA256_CTX*, char[SHA256_DIGEST_STRING_LENGTH]); +char* SHA256_Data(const u_int8_t*, size_t, char[SHA256_DIGEST_STRING_LENGTH]); + +void SHA384_Init(SHA384_CTX*); +void SHA384_Update(SHA384_CTX*, const u_int8_t*, size_t); +void SHA384_Final(u_int8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*); +char* SHA384_End(SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]); +char* SHA384_Data(const u_int8_t*, size_t, char[SHA384_DIGEST_STRING_LENGTH]); + +void SHA512_Init(SHA512_CTX*); +void SHA512_Update(SHA512_CTX*, const u_int8_t*, size_t); +void SHA512_Final(u_int8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*); +char* SHA512_End(SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]); +char* SHA512_Data(const u_int8_t*, size_t, char[SHA512_DIGEST_STRING_LENGTH]); + +#endif /* SHA2_USE_INTTYPES_H */ + +#else /* NOPROTO */ + +void SHA256_Init(); +void SHA256_Update(); +void SHA256_Final(); +char* SHA256_End(); +char* SHA256_Data(); + +void SHA384_Init(); +void SHA384_Update(); +void SHA384_Final(); +char* SHA384_End(); +char* SHA384_Data(); + +void SHA512_Init(); +void SHA512_Update(); +void SHA512_Final(); +char* SHA512_End(); +char* SHA512_Data(); + +#endif /* NOPROTO */ + +#endif /* __SHA2_H__ */ + diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc index 072dda3ac..aaf44b7ff 100644 --- a/apt-pkg/contrib/strutl.cc +++ b/apt-pkg/contrib/strutl.cc @@ -15,12 +15,12 @@ ##################################################################### */ /*}}}*/ // Includes /*{{{*/ +#include <config.h> + #include <apt-pkg/strutl.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/error.h> -#include <apti18n.h> - #include <ctype.h> #include <string.h> #include <stdio.h> @@ -31,7 +31,7 @@ #include <stdarg.h> #include <iconv.h> -#include "config.h" +#include <apti18n.h> using namespace std; /*}}}*/ @@ -271,7 +271,7 @@ bool ParseCWord(const char *&String,string &Res) string QuoteString(const string &Str, const char *Bad) { string Res; - for (string::const_iterator I = Str.begin(); I != Str.end(); I++) + for (string::const_iterator I = Str.begin(); I != Str.end(); ++I) { if (strchr(Bad,*I) != 0 || isprint(*I) == 0 || *I == 0x25 || // percent '%' char @@ -298,7 +298,7 @@ string DeQuoteString(string::const_iterator const &begin, string::const_iterator const &end) { string Res; - for (string::const_iterator I = begin; I != end; I++) + for (string::const_iterator I = begin; I != end; ++I) { if (*I == '%' && I + 2 < end && isxdigit(I[1]) && isxdigit(I[2])) @@ -632,7 +632,7 @@ string LookupTag(const string &Message,const char *Tag,const char *Default) { // Look for a matching tag. int Length = strlen(Tag); - for (string::const_iterator I = Message.begin(); I + Length < Message.end(); I++) + for (string::const_iterator I = Message.begin(); I + Length < Message.end(); ++I) { // Found the tag if (I[Length] == ':' && stringcasecmp(I,I+Length,Tag) == 0) @@ -640,14 +640,14 @@ string LookupTag(const string &Message,const char *Tag,const char *Default) // Find the end of line and strip the leading/trailing spaces string::const_iterator J; I += Length + 1; - for (; isspace(*I) != 0 && I < Message.end(); I++); - for (J = I; *J != '\n' && J < Message.end(); J++); - for (; J > I && isspace(J[-1]) != 0; J--); + for (; isspace(*I) != 0 && I < Message.end(); ++I); + for (J = I; *J != '\n' && J < Message.end(); ++J); + for (; J > I && isspace(J[-1]) != 0; --J); return string(I,J); } - for (; *I != '\n' && I < Message.end(); I++); + for (; *I != '\n' && I < Message.end(); ++I); } // Failed to find a match @@ -970,6 +970,34 @@ bool StrToNum(const char *Str,unsigned long &Res,unsigned Len,unsigned Base) return true; } /*}}}*/ +// StrToNum - Convert a fixed length string to a number /*{{{*/ +// --------------------------------------------------------------------- +/* This is used in decoding the crazy fixed length string headers in + tar and ar files. */ +bool StrToNum(const char *Str,unsigned long long &Res,unsigned Len,unsigned Base) +{ + char S[30]; + if (Len >= sizeof(S)) + return false; + memcpy(S,Str,Len); + S[Len] = 0; + + // All spaces is a zero + Res = 0; + unsigned I; + for (I = 0; S[I] == ' '; I++); + if (S[I] == 0) + return true; + + char *End; + Res = strtoull(S,&End,Base); + if (End == S) + return false; + + return true; +} + /*}}}*/ + // Base256ToNum - Convert a fixed length binary to a number /*{{{*/ // --------------------------------------------------------------------- /* This is used in decoding the 256bit encoded fixed length fields in @@ -1224,7 +1252,7 @@ int tolower_ascii(int const c) bool CheckDomainList(const string &Host,const string &List) { string::const_iterator Start = List.begin(); - for (string::const_iterator Cur = List.begin(); Cur <= List.end(); Cur++) + for (string::const_iterator Cur = List.begin(); Cur <= List.end(); ++Cur) { if (Cur < List.end() && *Cur != ',') continue; @@ -1240,7 +1268,68 @@ bool CheckDomainList(const string &Host,const string &List) return false; } /*}}}*/ +// DeEscapeString - unescape (\0XX and \xXX) from a string /*{{{*/ +// --------------------------------------------------------------------- +/* */ +string DeEscapeString(const string &input) +{ + char tmp[3]; + string::const_iterator it, escape_start; + string output, octal, hex; + for (it = input.begin(); it != input.end(); ++it) + { + // just copy non-escape chars + if (*it != '\\') + { + output += *it; + continue; + } + + // deal with double escape + if (*it == '\\' && + (it + 1 < input.end()) && it[1] == '\\') + { + // copy + output += *it; + // advance iterator one step further + ++it; + continue; + } + + // ensure we have a char to read + if (it + 1 == input.end()) + continue; + // read it + ++it; + switch (*it) + { + case '0': + if (it + 2 <= input.end()) { + tmp[0] = it[1]; + tmp[1] = it[2]; + tmp[2] = 0; + output += (char)strtol(tmp, 0, 8); + it += 2; + } + break; + case 'x': + if (it + 2 <= input.end()) { + tmp[0] = it[1]; + tmp[1] = it[2]; + tmp[2] = 0; + output += (char)strtol(tmp, 0, 16); + it += 2; + } + break; + default: + // FIXME: raise exception here? + break; + } + } + return output; +} + /*}}}*/ // URI::CopyFrom - Copy from an object /*{{{*/ // --------------------------------------------------------------------- /* This parses the URI into all of its components */ @@ -1249,7 +1338,7 @@ void URI::CopyFrom(const string &U) string::const_iterator I = U.begin(); // Locate the first colon, this separates the scheme - for (; I < U.end() && *I != ':' ; I++); + for (; I < U.end() && *I != ':' ; ++I); string::const_iterator FirstColon = I; /* Determine if this is a host type URI with a leading double // @@ -1261,7 +1350,7 @@ void URI::CopyFrom(const string &U) /* Find the / indicating the end of the hostname, ignoring /'s in the square brackets */ bool InBracket = false; - for (; SingleSlash < U.end() && (*SingleSlash != '/' || InBracket == true); SingleSlash++) + for (; SingleSlash < U.end() && (*SingleSlash != '/' || InBracket == true); ++SingleSlash) { if (*SingleSlash == '[') InBracket = true; @@ -1294,11 +1383,11 @@ void URI::CopyFrom(const string &U) I = FirstColon + 1; if (I > SingleSlash) I = SingleSlash; - for (; I < SingleSlash && *I != ':'; I++); + for (; I < SingleSlash && *I != ':'; ++I); string::const_iterator SecondColon = I; // Search for the @ after the colon - for (; I < SingleSlash && *I != '@'; I++); + for (; I < SingleSlash && *I != '@'; ++I); string::const_iterator At = I; // Now write the host and user/pass diff --git a/apt-pkg/contrib/strutl.h b/apt-pkg/contrib/strutl.h index 89cbf0370..ab4b54722 100644 --- a/apt-pkg/contrib/strutl.h +++ b/apt-pkg/contrib/strutl.h @@ -39,6 +39,10 @@ bool ParseCWord(const char *&String,string &Res); string QuoteString(const string &Str,const char *Bad); string DeQuoteString(const string &Str); string DeQuoteString(string::const_iterator const &begin, string::const_iterator const &end); + +// unescape (\0XX and \xXX) from a string +string DeEscapeString(const string &input); + string SizeToStr(double Bytes); string TimeToStr(unsigned long Sec); string Base64Encode(const string &Str); @@ -52,6 +56,7 @@ string LookupTag(const string &Message,const char *Tag,const char *Default = 0); int StringToBool(const string &Text,int Default = -1); bool ReadMessages(int Fd, vector<string> &List); bool StrToNum(const char *Str,unsigned long &Res,unsigned Len,unsigned Base = 0); +bool StrToNum(const char *Str,unsigned long long &Res,unsigned Len,unsigned Base = 0); bool Base256ToNum(const char *Str,unsigned long &Res,unsigned int Len); bool Hex2Num(const string &Str,unsigned char *Num,unsigned int Length); bool TokSplitString(char Tok,char *Input,char **List, diff --git a/apt-pkg/deb/debindexfile.cc b/apt-pkg/deb/debindexfile.cc index c9e7f1176..27c1f7f32 100644 --- a/apt-pkg/deb/debindexfile.cc +++ b/apt-pkg/deb/debindexfile.cc @@ -9,6 +9,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/debindexfile.h> #include <apt-pkg/debsrcrecords.h> #include <apt-pkg/deblistparser.h> @@ -352,7 +354,7 @@ pkgCache::PkgFileIterator debPackagesIndex::FindInCache(pkgCache &Cache) const { string FileName = IndexFile("Packages"); pkgCache::PkgFileIterator File = Cache.FileBegin(); - for (; File.end() == false; File++) + for (; File.end() == false; ++File) { if (File.FileName() == NULL || FileName != File.FileName()) continue; @@ -540,7 +542,7 @@ pkgCache::PkgFileIterator debTranslationsIndex::FindInCache(pkgCache &Cache) con string FileName = IndexFile(Language); pkgCache::PkgFileIterator File = Cache.FileBegin(); - for (; File.end() == false; File++) + for (; File.end() == false; ++File) { if (FileName != File.FileName()) continue; @@ -620,7 +622,7 @@ bool debStatusIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const pkgCache::PkgFileIterator debStatusIndex::FindInCache(pkgCache &Cache) const { pkgCache::PkgFileIterator File = Cache.FileBegin(); - for (; File.end() == false; File++) + for (; File.end() == false; ++File) { if (this->File != File.FileName()) continue; diff --git a/apt-pkg/deb/debindexfile.h b/apt-pkg/deb/debindexfile.h index b5085992d..678c22473 100644 --- a/apt-pkg/deb/debindexfile.h +++ b/apt-pkg/deb/debindexfile.h @@ -22,8 +22,12 @@ class debStatusIndex : public pkgIndexFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + protected: string File; - + public: virtual const Type *GetType() const; @@ -36,13 +40,18 @@ class debStatusIndex : public pkgIndexFile virtual bool HasPackages() const {return true;}; virtual unsigned long Size() const; virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const; + bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog, unsigned long const Flag) const; virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const; debStatusIndex(string File); + virtual ~debStatusIndex() {}; }; class debPackagesIndex : public pkgIndexFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + string URI; string Dist; string Section; @@ -72,10 +81,14 @@ class debPackagesIndex : public pkgIndexFile debPackagesIndex(string const &URI, string const &Dist, string const &Section, bool const &Trusted, string const &Arch = "native"); + virtual ~debPackagesIndex() {}; }; class debTranslationsIndex : public pkgIndexFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + string URI; string Dist; string Section; @@ -103,10 +116,14 @@ class debTranslationsIndex : public pkgIndexFile virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const; debTranslationsIndex(string URI,string Dist,string Section, char const * const Language); + virtual ~debTranslationsIndex() {}; }; class debSourcesIndex : public pkgIndexFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + string URI; string Dist; string Section; @@ -136,6 +153,7 @@ class debSourcesIndex : public pkgIndexFile virtual unsigned long Size() const; debSourcesIndex(string URI,string Dist,string Section,bool Trusted); + virtual ~debSourcesIndex() {}; }; #endif diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index 9ae1065a4..a4a974897 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -10,6 +10,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/deblistparser.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> @@ -128,12 +130,7 @@ bool debListParser::NewVersion(pkgCache::VerIterator &Ver) } if (ArchitectureAll() == true) - switch (Ver->MultiArch) - { - case pkgCache::Version::Foreign: Ver->MultiArch = pkgCache::Version::AllForeign; break; - case pkgCache::Version::Allowed: Ver->MultiArch = pkgCache::Version::AllAllowed; break; - default: Ver->MultiArch = pkgCache::Version::All; - } + Ver->MultiArch |= pkgCache::Version::All; // Archive Size Ver->Size = Section.FindULL("Size"); @@ -203,7 +200,7 @@ string debListParser::DescriptionLanguage() std::vector<string> const lang = APT::Configuration::getLanguages(true); for (std::vector<string>::const_iterator l = lang.begin(); - l != lang.end(); l++) + l != lang.end(); ++l) if (Section.FindS(string("Description-").append(*l).c_str()).empty() == false) return *l; @@ -461,7 +458,7 @@ const char *debListParser::ConvertRelation(const char *I,unsigned int &Op) * * The complete architecture, consisting of <kernel>-<cpu>. */ -static string CompleteArch(std::string& arch) { +static string CompleteArch(std::string const &arch) { if (arch == "armel") return "linux-arm"; if (arch == "armhf") return "linux-arm"; if (arch == "lpia") return "linux-i386"; @@ -500,9 +497,13 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop, Package.assign(Start,I - Start); // We don't want to confuse library users which can't handle MultiArch + string const arch = _config->Find("APT::Architecture"); if (StripMultiArch == true) { size_t const found = Package.rfind(':'); - if (found != string::npos) + if (found != string::npos && + (strcmp(Package.c_str() + found, ":any") == 0 || + strcmp(Package.c_str() + found, ":native") == 0 || + strcmp(Package.c_str() + found + 1, arch.c_str()) == 0)) Package = Package.substr(0,found); } @@ -543,7 +544,6 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop, if (ParseArchFlags == true) { - string arch = _config->Find("APT::Architecture"); string completeArch = CompleteArch(arch); // Parse an architecture @@ -687,12 +687,12 @@ bool debListParser::ParseProvides(pkgCache::VerIterator &Ver) if (MultiArchEnabled == false) return true; - else if (Ver->MultiArch == pkgCache::Version::Allowed || Ver->MultiArch == pkgCache::Version::AllAllowed) + else if ((Ver->MultiArch & pkgCache::Version::Allowed) == pkgCache::Version::Allowed) { string const Package = string(Ver.ParentPkg().Name()).append(":").append("any"); return NewProvidesAllArch(Ver, Package, Ver.VerStr()); } - else if (Ver->MultiArch == pkgCache::Version::Foreign || Ver->MultiArch == pkgCache::Version::AllForeign) + else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign) return NewProvidesAllArch(Ver, Ver.ParentPkg().Name(), Ver.VerStr()); return true; @@ -781,7 +781,9 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI, size_t len = 0; // Skip empty lines - for (; buffer[len] == '\r' && buffer[len] == '\n'; ++len); + for (; buffer[len] == '\r' && buffer[len] == '\n'; ++len) + /* nothing */ + ; if (buffer[len] == '\0') continue; @@ -795,13 +797,25 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI, } // seperate the tag from the data - for (; buffer[len] != ':' && buffer[len] != '\0'; ++len); + for (; buffer[len] != ':' && buffer[len] != '\0'; ++len) + /* nothing */ + ; if (buffer[len] == '\0') continue; char* dataStart = buffer + len; - for (++dataStart; *dataStart == ' '; ++dataStart); + for (++dataStart; *dataStart == ' '; ++dataStart) + /* nothing */ + ; char* dataEnd = dataStart; - for (++dataEnd; *dataEnd != '\0'; ++dataEnd); + for (++dataEnd; *dataEnd != '\0'; ++dataEnd) + /* nothing */ + ; + // The last char should be a newline, but we can never be sure: #633350 + char* lineEnd = dataEnd; + for (--lineEnd; *lineEnd == '\r' || *lineEnd == '\n'; --lineEnd) + /* nothing */ + ; + ++lineEnd; // which datastorage need to be updated map_ptrloc* writeTo = NULL; @@ -816,7 +830,7 @@ bool debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI, APT_PARSER_WRITETO(FileI->Label, "Label") #undef APT_PARSER_WRITETO #define APT_PARSER_FLAGIT(X) else if (strncmp(#X, buffer, len) == 0) \ - pkgTagSection::FindFlag(FileI->Flags, pkgCache::Flag:: X, dataStart, dataEnd-1); + pkgTagSection::FindFlag(FileI->Flags, pkgCache::Flag:: X, dataStart, lineEnd); APT_PARSER_FLAGIT(NotAutomatic) APT_PARSER_FLAGIT(ButAutomaticUpgrades) #undef APT_PARSER_FLAGIT diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h index d62ce641c..41d712fbf 100644 --- a/apt-pkg/deb/deblistparser.h +++ b/apt-pkg/deb/deblistparser.h @@ -25,9 +25,12 @@ class debListParser : public pkgCacheGenerator::ListParser const char *Str; unsigned char Val; }; - + private: - + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + protected: pkgTagFile Tags; pkgTagSection Section; unsigned long iOffset; @@ -36,7 +39,7 @@ class debListParser : public pkgCacheGenerator::ListParser bool MultiArchEnabled; unsigned long UniqFindTagWrite(const char *Tag); - bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver); + virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver); bool ParseDepends(pkgCache::VerIterator &Ver,const char *Tag, unsigned int Type); bool ParseProvides(pkgCache::VerIterator &Ver); @@ -74,6 +77,7 @@ class debListParser : public pkgCacheGenerator::ListParser static const char *ConvertRelation(const char *I,unsigned int &Op); debListParser(FileFd *File, string const &Arch = ""); + virtual ~debListParser() {}; }; #endif diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index a91cc34e9..1d3754b00 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -1,4 +1,5 @@ // ijones, walters +#include <config.h> #include <apt-pkg/debmetaindex.h> #include <apt-pkg/debindexfile.h> @@ -142,11 +143,13 @@ string debReleaseIndex::TranslationIndexURI(const char *Type, const string &Sect return URI + "dists/" + Dist + "/" + TranslationIndexURISuffix(Type, Section); } -debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist) { - this->URI = URI; - this->Dist = Dist; - this->Indexes = NULL; - this->Type = "deb"; +debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist) : + metaIndex(URI, Dist, "deb"), Trusted(CHECK_TRUST) +{} + +debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist, bool const Trusted) : + metaIndex(URI, Dist, "deb") { + SetTrusted(Trusted); } debReleaseIndex::~debReleaseIndex() { @@ -206,7 +209,7 @@ vector <struct IndexTarget *>* debReleaseIndex::ComputeIndexTargets() const { for (std::set<std::string>::const_iterator s = sections.begin(); s != sections.end(); ++s) { for (std::vector<std::string>::const_iterator l = lang.begin(); - l != lang.end(); l++) { + l != lang.end(); ++l) { if (*l == "none") continue; IndexTarget * Target = new OptionalIndexTarget(); Target->ShortDesc = "Translation-" + *l; @@ -236,7 +239,7 @@ bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const // special case for --print-uris if (GetAll) { vector <struct IndexTarget *> *targets = ComputeIndexTargets(); - for (vector <struct IndexTarget*>::const_iterator Target = targets->begin(); Target != targets->end(); Target++) { + for (vector <struct IndexTarget*>::const_iterator Target = targets->begin(); Target != targets->end(); ++Target) { new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description, (*Target)->ShortDesc, HashString()); } @@ -252,8 +255,22 @@ bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const return true; } +void debReleaseIndex::SetTrusted(bool const Trusted) +{ + if (Trusted == true) + this->Trusted = ALWAYS_TRUSTED; + else + this->Trusted = NEVER_TRUSTED; +} + bool debReleaseIndex::IsTrusted() const { + if (Trusted == ALWAYS_TRUSTED) + return true; + else if (Trusted == NEVER_TRUSTED) + return false; + + if(_config->FindB("APT::Authentication::TrustCDROM", false)) if(URI.substr(0,strlen("cdrom:")) == "cdrom:") return true; @@ -279,7 +296,7 @@ vector <pkgIndexFile *> *debReleaseIndex::GetIndexFiles() { if (src != ArchEntries.end()) { vector<debSectionEntry const*> const SectionEntries = src->second; for (vector<debSectionEntry const*>::const_iterator I = SectionEntries.begin(); - I != SectionEntries.end(); I++) + I != SectionEntries.end(); ++I) Indexes->push_back(new debSourcesIndex (URI, Dist, (*I)->Section, IsTrusted())); } @@ -294,7 +311,7 @@ vector <pkgIndexFile *> *debReleaseIndex::GetIndexFiles() { if (a->first == "source") continue; for (vector<debSectionEntry const*>::const_iterator I = a->second.begin(); - I != a->second.end(); I++) { + I != a->second.end(); ++I) { Indexes->push_back(new debPackagesIndex (URI, Dist, (*I)->Section, IsTrusted(), a->first)); sections[(*I)->Section].insert(lang.begin(), lang.end()); } @@ -303,7 +320,7 @@ vector <pkgIndexFile *> *debReleaseIndex::GetIndexFiles() { for (map<string, set<string> >::const_iterator s = sections.begin(); s != sections.end(); ++s) for (set<string>::const_iterator l = s->second.begin(); - l != s->second.end(); l++) { + l != s->second.end(); ++l) { if (*l == "none") continue; Indexes->push_back(new debTranslationsIndex(URI,Dist,s->first,(*l).c_str())); } @@ -349,15 +366,19 @@ class debSLTypeDebian : public pkgSourceList::Type vector<string> const Archs = (arch != Options.end()) ? VectorizeString(arch->second, ',') : APT::Configuration::getArchitectures(); + map<string, string>::const_iterator const trusted = Options.find("trusted"); for (vector<metaIndex *>::const_iterator I = List.begin(); - I != List.end(); I++) + I != List.end(); ++I) { // We only worry about debian entries here if (strcmp((*I)->GetType(), "deb") != 0) continue; debReleaseIndex *Deb = (debReleaseIndex *) (*I); + if (trusted != Options.end()) + Deb->SetTrusted(StringToBool(trusted->second, false)); + /* This check insures that there will be only one Release file queued for all the Packages files and Sources files it corresponds to. */ @@ -375,9 +396,14 @@ class debSLTypeDebian : public pkgSourceList::Type return true; } } + // No currently created Release file indexes this entry, so we create a new one. - // XXX determine whether this release is trusted or not - debReleaseIndex *Deb = new debReleaseIndex(URI, Dist); + debReleaseIndex *Deb; + if (trusted != Options.end()) + Deb = new debReleaseIndex(URI, Dist, StringToBool(trusted->second, false)); + else + Deb = new debReleaseIndex(URI, Dist); + if (IsSrc == true) Deb->PushSectionEntry ("source", new debReleaseIndex::debSectionEntry(Section, IsSrc)); else diff --git a/apt-pkg/deb/debmetaindex.h b/apt-pkg/deb/debmetaindex.h index 1561c6e00..695cfa7cc 100644 --- a/apt-pkg/deb/debmetaindex.h +++ b/apt-pkg/deb/debmetaindex.h @@ -19,12 +19,16 @@ class debReleaseIndex : public metaIndex { }; private: + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; std::map<string, vector<debSectionEntry const*> > ArchEntries; + enum { ALWAYS_TRUSTED, NEVER_TRUSTED, CHECK_TRUST } Trusted; public: debReleaseIndex(string const &URI, string const &Dist); - ~debReleaseIndex(); + debReleaseIndex(string const &URI, string const &Dist, bool const Trusted); + virtual ~debReleaseIndex(); virtual string ArchiveURI(string const &File) const {return URI + File;}; virtual bool GetIndexes(pkgAcquire *Owner, bool const &GetAll=false) const; @@ -41,6 +45,7 @@ class debReleaseIndex : public metaIndex { string TranslationIndexURISuffix(const char *Type, const string &Section) const; virtual vector <pkgIndexFile *> *GetIndexFiles(); + void SetTrusted(bool const Trusted); virtual bool IsTrusted() const; void PushSectionEntry(vector<string> const &Archs, const debSectionEntry *Entry); diff --git a/apt-pkg/deb/debrecords.cc b/apt-pkg/deb/debrecords.cc index ec9e395ef..4dfc8b56a 100644 --- a/apt-pkg/deb/debrecords.cc +++ b/apt-pkg/deb/debrecords.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/debrecords.h> #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> @@ -77,7 +79,7 @@ string debRecordParser::SHA1Hash() return Section.FindS("SHA1"); } /*}}}*/ -// RecordParser::SHA1Hash - Return the archive hash /*{{{*/ +// RecordParser::SHA256Hash - Return the archive hash /*{{{*/ // --------------------------------------------------------------------- /* */ string debRecordParser::SHA256Hash() @@ -85,6 +87,14 @@ string debRecordParser::SHA256Hash() return Section.FindS("SHA256"); } /*}}}*/ +// RecordParser::SHA512Hash - Return the archive hash /*{{{*/ +// --------------------------------------------------------------------- +/* */ +string debRecordParser::SHA512Hash() +{ + return Section.FindS("SHA512"); +} + /*}}}*/ // RecordParser::Maintainer - Return the maintainer email /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -93,6 +103,15 @@ string debRecordParser::Maintainer() return Section.FindS("Maintainer"); } /*}}}*/ +// RecordParser::RecordField - Return the value of an arbitrary field /*{{*/ +// --------------------------------------------------------------------- +/* */ +string debRecordParser::RecordField(const char *fieldName) +{ + return Section.FindS(fieldName); +} + + /*}}}*/ // RecordParser::ShortDesc - Return a 1 line description /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -118,7 +137,7 @@ string debRecordParser::LongDesc() { vector<string> const lang = APT::Configuration::getLanguages(); for (vector<string>::const_iterator l = lang.begin(); - orig.empty() && l != lang.end(); l++) + orig.empty() && l != lang.end(); ++l) orig = Section.FindS(string("Description-").append(*l).c_str()); } diff --git a/apt-pkg/deb/debrecords.h b/apt-pkg/deb/debrecords.h index 6f358abfa..7868bfa3d 100644 --- a/apt-pkg/deb/debrecords.h +++ b/apt-pkg/deb/debrecords.h @@ -20,6 +20,9 @@ class debRecordParser : public pkgRecords::Parser { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + FileFd File; pkgTagFile Tags; pkgTagSection Section; @@ -36,6 +39,7 @@ class debRecordParser : public pkgRecords::Parser virtual string MD5Hash(); virtual string SHA1Hash(); virtual string SHA256Hash(); + virtual string SHA512Hash(); virtual string SourcePkg(); virtual string SourceVer(); @@ -46,9 +50,13 @@ class debRecordParser : public pkgRecords::Parser virtual string Name(); virtual string Homepage(); + // An arbitrary custom field + virtual string RecordField(const char *fieldName); + virtual void GetRec(const char *&Start,const char *&Stop); debRecordParser(string FileName,pkgCache &Cache); + virtual ~debRecordParser() {}; }; #endif diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc index 749305005..c9c20267b 100644 --- a/apt-pkg/deb/debsrcrecords.cc +++ b/apt-pkg/deb/debsrcrecords.cc @@ -9,6 +9,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/deblistparser.h> #include <apt-pkg/debsrcrecords.h> #include <apt-pkg/error.h> diff --git a/apt-pkg/deb/debsrcrecords.h b/apt-pkg/deb/debsrcrecords.h index 905264daa..aa859b0e6 100644 --- a/apt-pkg/deb/debsrcrecords.h +++ b/apt-pkg/deb/debsrcrecords.h @@ -18,6 +18,9 @@ class debSrcRecordParser : public pkgSrcRecords::Parser { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + FileFd Fd; pkgTagFile Tags; pkgTagSection Sect; @@ -50,7 +53,7 @@ class debSrcRecordParser : public pkgSrcRecords::Parser debSrcRecordParser(string const &File,pkgIndexFile const *Index) : Parser(Index), Fd(File,FileFd::ReadOnlyGzip), Tags(&Fd,102400), Buffer(0), BufSize(0) {} - ~debSrcRecordParser(); + virtual ~debSrcRecordParser(); }; #endif diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index 8619822df..080af5659 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -10,6 +10,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/debsystem.h> #include <apt-pkg/debversion.h> #include <apt-pkg/debindexfile.h> @@ -17,24 +19,34 @@ #include <apt-pkg/configuration.h> #include <apt-pkg/error.h> #include <apt-pkg/fileutl.h> -#include <apti18n.h> #include <sys/types.h> #include <unistd.h> #include <dirent.h> #include <errno.h> + +#include <apti18n.h> /*}}}*/ debSystem debSys; +class debSystemPrivate { +public: + debSystemPrivate() : LockFD(-1), LockCount(0), StatusFile(0) + { + } + // For locking support + int LockFD; + unsigned LockCount; + + debStatusIndex *StatusFile; +}; + // System::debSystem - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ debSystem::debSystem() { - LockFD = -1; - LockCount = 0; - StatusFile = 0; - + d = new debSystemPrivate(); Label = "Debian dpkg interface"; VS = &debVS; } @@ -44,7 +56,8 @@ debSystem::debSystem() /* */ debSystem::~debSystem() { - delete StatusFile; + delete d->StatusFile; + delete d; } /*}}}*/ // System::Lock - Get the lock /*{{{*/ @@ -54,16 +67,16 @@ debSystem::~debSystem() bool debSystem::Lock() { // Disable file locking - if (_config->FindB("Debug::NoLocking",false) == true || LockCount > 1) + if (_config->FindB("Debug::NoLocking",false) == true || d->LockCount > 1) { - LockCount++; + d->LockCount++; return true; } // Create the lockfile string AdminDir = flNotFile(_config->Find("Dir::State::status")); - LockFD = GetLock(AdminDir + "lock"); - if (LockFD == -1) + d->LockFD = GetLock(AdminDir + "lock"); + if (d->LockFD == -1) { if (errno == EACCES || errno == EAGAIN) return _error->Error(_("Unable to lock the administration directory (%s), " @@ -76,8 +89,8 @@ bool debSystem::Lock() // See if we need to abort with a dirty journal if (CheckUpdates() == true) { - close(LockFD); - LockFD = -1; + close(d->LockFD); + d->LockFD = -1; const char *cmd; if (getenv("SUDO_USER") != NULL) cmd = "sudo dpkg --configure -a"; @@ -89,7 +102,7 @@ bool debSystem::Lock() "run '%s' to correct the problem. "), cmd); } - LockCount++; + d->LockCount++; return true; } @@ -99,15 +112,15 @@ bool debSystem::Lock() /* */ bool debSystem::UnLock(bool NoErrors) { - if (LockCount == 0 && NoErrors == true) + if (d->LockCount == 0 && NoErrors == true) return false; - if (LockCount < 1) + if (d->LockCount < 1) return _error->Error(_("Not locked")); - if (--LockCount == 0) + if (--d->LockCount == 0) { - close(LockFD); - LockCount = 0; + close(d->LockFD); + d->LockCount = 0; } return true; @@ -168,9 +181,9 @@ bool debSystem::Initialize(Configuration &Cnf) Cnf.CndSet("Dir::State::status","/var/lib/dpkg/status"); Cnf.CndSet("Dir::Bin::dpkg","/usr/bin/dpkg"); - if (StatusFile) { - delete StatusFile; - StatusFile = 0; + if (d->StatusFile) { + delete d->StatusFile; + d->StatusFile = 0; } return true; @@ -208,9 +221,9 @@ signed debSystem::Score(Configuration const &Cnf) /* */ bool debSystem::AddStatusFiles(vector<pkgIndexFile *> &List) { - if (StatusFile == 0) - StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status")); - List.push_back(StatusFile); + if (d->StatusFile == 0) + d->StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status")); + List.push_back(d->StatusFile); return true; } /*}}}*/ @@ -220,11 +233,11 @@ bool debSystem::AddStatusFiles(vector<pkgIndexFile *> &List) bool debSystem::FindIndex(pkgCache::PkgFileIterator File, pkgIndexFile *&Found) const { - if (StatusFile == 0) + if (d->StatusFile == 0) return false; - if (StatusFile->FindInCache(*File.Cache()) == File) + if (d->StatusFile->FindInCache(*File.Cache()) == File) { - Found = StatusFile; + Found = d->StatusFile; return true; } diff --git a/apt-pkg/deb/debsystem.h b/apt-pkg/deb/debsystem.h index 5f9995e5d..232155256 100644 --- a/apt-pkg/deb/debsystem.h +++ b/apt-pkg/deb/debsystem.h @@ -12,16 +12,15 @@ #include <apt-pkg/pkgsystem.h> +class debSystemPrivate; + class debStatusIndex; class debSystem : public pkgSystem { - // For locking support - int LockFD; - unsigned LockCount; + // private d-pointer + debSystemPrivate *d; bool CheckUpdates(); - - debStatusIndex *StatusFile; - + public: virtual bool Lock(); @@ -35,7 +34,7 @@ class debSystem : public pkgSystem pkgIndexFile *&Found) const; debSystem(); - ~debSystem(); + virtual ~debSystem(); }; extern debSystem debSys; diff --git a/apt-pkg/deb/debversion.cc b/apt-pkg/deb/debversion.cc index 755ffbe96..ba32b2dd4 100644 --- a/apt-pkg/deb/debversion.cc +++ b/apt-pkg/deb/debversion.cc @@ -11,6 +11,7 @@ /*}}}*/ // Include Files /*{{{*/ #define APT_COMPATIBILITY 986 +#include <config.h> #include <apt-pkg/debversion.h> #include <apt-pkg/pkgcache.h> diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 57361ccdc..0cc21f322 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Includes /*{{{*/ +#include <config.h> + #include <apt-pkg/dpkgpm.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> @@ -41,12 +43,26 @@ #include <sys/ioctl.h> #include <pty.h> -#include <config.h> #include <apti18n.h> /*}}}*/ using namespace std; +class pkgDPkgPMPrivate +{ +public: + pkgDPkgPMPrivate() : dpkgbuf_pos(0), term_out(NULL), history_out(NULL) + { + } + bool stdin_is_dev_null; + // the buffer we use for the dpkg status-fd reading + char dpkgbuf[1024]; + int dpkgbuf_pos; + FILE *term_out; + FILE *history_out; + string dpkg_error; +}; + namespace { // Maps the dpkg "processing" info to human readable names. Entry 0 @@ -111,9 +127,9 @@ ionice(int PID) // --------------------------------------------------------------------- /* */ pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) - : pkgPackageManager(Cache), dpkgbuf_pos(0), - term_out(NULL), history_out(NULL), PackagesDone(0), PackagesTotal(0) + : pkgPackageManager(Cache), PackagesDone(0), PackagesTotal(0) { + d = new pkgDPkgPMPrivate(); } /*}}}*/ // DPkgPM::pkgDPkgPM - Destructor /*{{{*/ @@ -121,6 +137,7 @@ pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) /* */ pkgDPkgPM::~pkgDPkgPM() { + delete d; } /*}}}*/ // DPkgPM::Install - Install a package /*{{{*/ @@ -214,7 +231,7 @@ bool pkgDPkgPM::SendV2Pkgs(FILE *F) fprintf(F,"\n"); // Write out the package actions in order. - for (vector<Item>::iterator I = List.begin(); I != List.end(); I++) + for (vector<Item>::iterator I = List.begin(); I != List.end(); ++I) { if(I->Pkg.end() == true) continue; @@ -336,7 +353,7 @@ bool pkgDPkgPM::RunScriptsWithPkgs(const char *Cnf) // Feed it the filenames. if (Version <= 1) { - for (vector<Item>::iterator I = List.begin(); I != List.end(); I++) + for (vector<Item>::iterator I = List.begin(); I != List.end(); ++I) { // Only deal with packages to be installed from .deb if (I->Op != Item::Install) @@ -377,7 +394,7 @@ void pkgDPkgPM::DoStdin(int master) if (len) write(master, input_buf, len); else - stdin_is_dev_null = true; + d->stdin_is_dev_null = true; } /*}}}*/ // DPkgPM::DoTerminalPty - Read the terminal pty and write log /*{{{*/ @@ -402,8 +419,8 @@ void pkgDPkgPM::DoTerminalPty(int master) if(len <= 0) return; write(1, term_buf, len); - if(term_out) - fwrite(term_buf, len, sizeof(char), term_out); + if(d->term_out) + fwrite(term_buf, len, sizeof(char), d->term_out); } /*}}}*/ // DPkgPM::ProcessDpkgStatusBuf /*{{{*/ @@ -607,14 +624,14 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd) char *p, *q; int len; - len=read(statusfd, &dpkgbuf[dpkgbuf_pos], sizeof(dpkgbuf)-dpkgbuf_pos); - dpkgbuf_pos += len; + len=read(statusfd, &d->dpkgbuf[d->dpkgbuf_pos], sizeof(d->dpkgbuf)-d->dpkgbuf_pos); + d->dpkgbuf_pos += len; if(len <= 0) return; // process line by line if we have a buffer - p = q = dpkgbuf; - while((q=(char*)memchr(p, '\n', dpkgbuf+dpkgbuf_pos-p)) != NULL) + p = q = d->dpkgbuf; + while((q=(char*)memchr(p, '\n', d->dpkgbuf+d->dpkgbuf_pos-p)) != NULL) { *q = 0; ProcessDpkgStatusLine(OutStatusFd, p); @@ -622,8 +639,8 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd) } // now move the unprocessed bits (after the final \n that is now a 0x0) - // to the start and update dpkgbuf_pos - p = (char*)memrchr(dpkgbuf, 0, dpkgbuf_pos); + // to the start and update d->dpkgbuf_pos + p = (char*)memrchr(d->dpkgbuf, 0, d->dpkgbuf_pos); if(p == NULL) return; @@ -631,8 +648,8 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd) p++; // move the unprocessed tail to the start and update pos - memmove(dpkgbuf, p, p-dpkgbuf); - dpkgbuf_pos = dpkgbuf+dpkgbuf_pos-p; + memmove(d->dpkgbuf, p, p-d->dpkgbuf); + d->dpkgbuf_pos = d->dpkgbuf+d->dpkgbuf_pos-p; } /*}}}*/ // DPkgPM::WriteHistoryTag /*{{{*/ @@ -644,7 +661,7 @@ void pkgDPkgPM::WriteHistoryTag(string const &tag, string value) // poor mans rstrip(", ") if (value[length-2] == ',' && value[length-1] == ' ') value.erase(length - 2, 2); - fprintf(history_out, "%s: %s\n", tag.c_str(), value.c_str()); + fprintf(d->history_out, "%s: %s\n", tag.c_str(), value.c_str()); } /*}}}*/ // DPkgPM::OpenLog /*{{{*/ bool pkgDPkgPM::OpenLog() @@ -665,11 +682,11 @@ bool pkgDPkgPM::OpenLog() _config->Find("Dir::Log::Terminal")); if (!logfile_name.empty()) { - term_out = fopen(logfile_name.c_str(),"a"); - if (term_out == NULL) + d->term_out = fopen(logfile_name.c_str(),"a"); + if (d->term_out == NULL) return _error->WarningE("OpenLog", _("Could not open file '%s'"), logfile_name.c_str()); - setvbuf(term_out, NULL, _IONBF, 0); - SetCloseExec(fileno(term_out), true); + setvbuf(d->term_out, NULL, _IONBF, 0); + SetCloseExec(fileno(d->term_out), true); struct passwd *pw; struct group *gr; pw = getpwnam("root"); @@ -677,7 +694,7 @@ bool pkgDPkgPM::OpenLog() if (pw != NULL && gr != NULL) chown(logfile_name.c_str(), pw->pw_uid, gr->gr_gid); chmod(logfile_name.c_str(), 0644); - fprintf(term_out, "\nLog started: %s\n", timestr); + fprintf(d->term_out, "\nLog started: %s\n", timestr); } // write your history @@ -685,13 +702,13 @@ bool pkgDPkgPM::OpenLog() _config->Find("Dir::Log::History")); if (!history_name.empty()) { - history_out = fopen(history_name.c_str(),"a"); - if (history_out == NULL) + d->history_out = fopen(history_name.c_str(),"a"); + if (d->history_out == NULL) return _error->WarningE("OpenLog", _("Could not open file '%s'"), history_name.c_str()); chmod(history_name.c_str(), 0644); - fprintf(history_out, "\nStart-Date: %s\n", timestr); + fprintf(d->history_out, "\nStart-Date: %s\n", timestr); string remove, purge, install, reinstall, upgrade, downgrade; - for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { enum { CANDIDATE, CANDIDATE_AUTO, CURRENT_CANDIDATE, CURRENT } infostring; string *line = NULL; @@ -730,7 +747,7 @@ bool pkgDPkgPM::OpenLog() WriteHistoryTag("Downgrade",downgrade); WriteHistoryTag("Remove",remove); WriteHistoryTag("Purge",purge); - fflush(history_out); + fflush(d->history_out); } return true; @@ -744,16 +761,16 @@ bool pkgDPkgPM::CloseLog() struct tm *tmp = localtime(&t); strftime(timestr, sizeof(timestr), "%F %T", tmp); - if(term_out) + if(d->term_out) { - fprintf(term_out, "Log ended: "); - fprintf(term_out, "%s", timestr); - fprintf(term_out, "\n"); - fclose(term_out); + fprintf(d->term_out, "Log ended: "); + fprintf(d->term_out, "%s", timestr); + fprintf(d->term_out, "\n"); + fclose(d->term_out); } - term_out = NULL; + d->term_out = NULL; - if(history_out) + if(d->history_out) { if (disappearedPkgs.empty() == false) { @@ -770,12 +787,12 @@ bool pkgDPkgPM::CloseLog() } WriteHistoryTag("Disappeared", disappear); } - if (dpkg_error.empty() == false) - fprintf(history_out, "Error: %s\n", dpkg_error.c_str()); - fprintf(history_out, "End-Date: %s\n", timestr); - fclose(history_out); + if (d->dpkg_error.empty() == false) + fprintf(d->history_out, "Error: %s\n", d->dpkg_error.c_str()); + fprintf(d->history_out, "End-Date: %s\n", timestr); + fclose(d->history_out); } - history_out = NULL; + d->history_out = NULL; return true; } @@ -869,21 +886,21 @@ bool pkgDPkgPM::Go(int OutStatusFd) // that will be [installed|configured|removed|purged] and add // them to the PackageOps map (the dpkg states it goes through) // and the PackageOpsTranslations (human readable strings) - for (vector<Item>::const_iterator I = List.begin(); I != List.end();I++) + for (vector<Item>::const_iterator I = List.begin(); I != List.end(); ++I) { if((*I).Pkg.end() == true) continue; string const name = (*I).Pkg.Name(); PackageOpsDone[name] = 0; - for(int i=0; (DpkgStatesOpMap[(*I).Op][i]).state != NULL; i++) + for(int i=0; (DpkgStatesOpMap[(*I).Op][i]).state != NULL; ++i) { PackageOps[name].push_back(DpkgStatesOpMap[(*I).Op][i]); PackagesTotal++; } } - stdin_is_dev_null = false; + d->stdin_is_dev_null = false; // create log OpenLog(); @@ -894,7 +911,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) // Do all actions with the same Op in one run vector<Item>::const_iterator J = I; if (TriggersPending == true) - for (; J != List.end(); J++) + for (; J != List.end(); ++J) { if (J->Op == I->Op) continue; @@ -906,7 +923,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) break; } else - for (; J != List.end() && J->Op == I->Op; J++) + for (; J != List.end() && J->Op == I->Op; ++J) /* nothing */; // Generate the argument list @@ -1014,7 +1031,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) // Write in the file or package names if (I->Op == Item::Install) { - for (;I != J && Size < MaxArgBytes; I++) + for (;I != J && Size < MaxArgBytes; ++I) { if (I->File[0] != '/') return _error->Error("Internal Error, Pathname to install is not absolute '%s'",I->File.c_str()); @@ -1026,7 +1043,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) { string const nativeArch = _config->Find("APT::Architecture"); unsigned long const oldSize = I->Op == Item::Configure ? Size : 0; - for (;I != J && Size < MaxArgBytes; I++) + for (;I != J && Size < MaxArgBytes; ++I) { if((*I).Pkg.end() == true) continue; @@ -1090,8 +1107,8 @@ bool pkgDPkgPM::Go(int OutStatusFd) const char *s = _("Can not write log, openpty() " "failed (/dev/pts not mounted?)\n"); fprintf(stderr, "%s",s); - if(term_out) - fprintf(term_out, "%s",s); + if(d->term_out) + fprintf(d->term_out, "%s",s); master = slave = -1; } else { struct termios rtt; @@ -1221,7 +1238,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) // wait for input or output here FD_ZERO(&rfds); - if (master >= 0 && !stdin_is_dev_null) + if (master >= 0 && !d->stdin_is_dev_null) FD_SET(0, &rfds); FD_SET(_dpkgin, &rfds); if(master >= 0) @@ -1276,14 +1293,14 @@ bool pkgDPkgPM::Go(int OutStatusFd) RunScripts("DPkg::Post-Invoke"); if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV) - strprintf(dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]); + strprintf(d->dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]); else if (WIFEXITED(Status) != 0) - strprintf(dpkg_error, "Sub-process %s returned an error code (%u)",Args[0],WEXITSTATUS(Status)); + strprintf(d->dpkg_error, "Sub-process %s returned an error code (%u)",Args[0],WEXITSTATUS(Status)); else - strprintf(dpkg_error, "Sub-process %s exited unexpectedly",Args[0]); + strprintf(d->dpkg_error, "Sub-process %s exited unexpectedly",Args[0]); - if(dpkg_error.size() > 0) - _error->Error("%s", dpkg_error.c_str()); + if(d->dpkg_error.size() > 0) + _error->Error("%s", d->dpkg_error.c_str()); if(stopOnError) { @@ -1455,8 +1472,8 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) fprintf(report, "ErrorMessage:\n %s\n", errormsg); // ensure that the log is flushed - if(term_out) - fflush(term_out); + if(d->term_out) + fflush(d->term_out); // attach terminal log it if we have it string logfile_name = _config->FindFile("Dir::Log::Terminal"); @@ -1478,7 +1495,7 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) // log the ordering const char *ops_str[] = {"Install", "Configure","Remove","Purge"}; fprintf(report, "AptOrdering:\n"); - for (vector<Item>::iterator I = List.begin(); I != List.end(); I++) + for (vector<Item>::iterator I = List.begin(); I != List.end(); ++I) fprintf(report, " %s: %s\n", (*I).Pkg.Name(), ops_str[(*I).Op]); // attach dmesg log (to learn about segfaults) diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index fb92c58ea..3f95c51dc 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -18,19 +18,12 @@ using std::vector; using std::map; +class pkgDPkgPMPrivate; class pkgDPkgPM : public pkgPackageManager { private: - - bool stdin_is_dev_null; - - // the buffer we use for the dpkg status-fd reading - char dpkgbuf[1024]; - int dpkgbuf_pos; - FILE *term_out; - FILE *history_out; - string dpkg_error; + pkgDPkgPMPrivate *d; /** \brief record the disappear action and handle accordingly diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index e9fa097aa..f816630ae 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/depcache.h> #include <apt-pkg/version.h> #include <apt-pkg/versionmatch.h> @@ -23,12 +25,12 @@ #include <apt-pkg/tagfile.h> #include <iostream> -#include <sstream> +#include <sstream> #include <set> #include <sys/stat.h> -#include <apti18n.h> +#include <apti18n.h> /*}}}*/ // helper for Install-Recommends-Sections and Never-MarkAuto-Sections /*{{{*/ static bool @@ -129,7 +131,7 @@ bool pkgDepCache::Init(OpProgress *Prog) /* Set the current state of everything. In this state all of the packages are kept exactly as is. See AllUpgrade */ int Done = 0; - for (PkgIterator I = PkgBegin(); I.end() != true; I++,Done++) + for (PkgIterator I = PkgBegin(); I.end() != true; ++I, ++Done) { if (Prog != 0 && Done%20 == 0) Prog->Progress(Done); @@ -169,14 +171,14 @@ bool pkgDepCache::readStateFile(OpProgress *Prog) /*{{{*/ string const state = _config->FindFile("Dir::State::extended_states"); if(RealFileExists(state)) { state_file.Open(state, FileFd::ReadOnly); - int const file_size = state_file.Size(); + off_t const file_size = state_file.Size(); if(Prog != NULL) Prog->OverallProgress(0, file_size, 1, _("Reading state information")); pkgTagFile tagfile(&state_file); pkgTagSection section; - int amt = 0; + off_t amt = 0; bool const debug_autoremove = _config->FindB("Debug::pkgAutoRemove",false); while(tagfile.Step(section)) { string const pkgname = section.FindS("Package"); @@ -292,7 +294,7 @@ bool pkgDepCache::writeStateFile(OpProgress *prog, bool InstalledOnly) /*{{{*/ // then write the ones we have not seen yet std::ostringstream ostr; - for(pkgCache::PkgIterator pkg=Cache->PkgBegin(); !pkg.end(); pkg++) { + for(pkgCache::PkgIterator pkg=Cache->PkgBegin(); !pkg.end(); ++pkg) { StateCache const &P = PkgState[pkg->ID]; if(P.Flags & Flag::Auto) { if (pkgs_seen.find(pkg.FullName()) != pkgs_seen.end()) { @@ -365,7 +367,7 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res) // Check the providing packages PrvIterator P = Dep.TargetPkg().ProvidesList(); PkgIterator Pkg = Dep.ParentPkg(); - for (; P.end() != true; P++) + for (; P.end() != true; ++P) { /* Provides may never be applied against the same package (or group) if it is a conflicts. See the comment above. */ @@ -406,60 +408,8 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res) /*}}}*/ // DepCache::AddSizes - Add the packages sizes to the counters /*{{{*/ // --------------------------------------------------------------------- -/* Call with Mult = -1 to preform the inverse opration - The Mult increases the complexity of the calulations here and is unused - - or do we really have a usecase for removing the size of a package two - times? So let us replace it with a simple bool and be done with it… */ -__deprecated void pkgDepCache::AddSizes(const PkgIterator &Pkg,signed long Mult) -{ - StateCache &P = PkgState[Pkg->ID]; - - if (Pkg->VersionList == 0) - return; - - if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure && - P.Keep() == true) - return; - - // Compute the size data - if (P.NewInstall() == true) - { - iUsrSize += (signed long long)(Mult*P.InstVerIter(*this)->InstalledSize); - iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size); - return; - } - - // Upgrading - if (Pkg->CurrentVer != 0 && - (P.InstallVer != (Version *)Pkg.CurrentVer() || - (P.iFlags & ReInstall) == ReInstall) && P.InstallVer != 0) - { - iUsrSize += (signed long long)(Mult*((signed long long)P.InstVerIter(*this)->InstalledSize - - (signed long long)Pkg.CurrentVer()->InstalledSize)); - iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size); - return; - } - - // Reinstall - if (Pkg.State() == pkgCache::PkgIterator::NeedsUnpack && - P.Delete() == false) - { - iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size); - return; - } - - // Removing - if (Pkg->CurrentVer != 0 && P.InstallVer == 0) - { - iUsrSize -= (signed long long)(Mult*Pkg.CurrentVer()->InstalledSize); - return; - } -} - /*}}}*/ -// DepCache::AddSizes - Add the packages sizes to the counters /*{{{*/ -// --------------------------------------------------------------------- /* Call with Inverse = true to preform the inverse opration */ -void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const &Inverse) +void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const Inverse) { StateCache &P = PkgState[Pkg->ID]; @@ -530,8 +480,9 @@ void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const &Inverse) calld Remove/Add itself. Remember, dependencies can be circular so while processing a dep for Pkg it is possible that Add/Remove will be called on Pkg */ -void pkgDepCache::AddStates(const PkgIterator &Pkg,int Add) +void pkgDepCache::AddStates(const PkgIterator &Pkg, bool const Invert) { + signed char const Add = (Invert == false) ? 1 : -1; StateCache &State = PkgState[Pkg->ID]; // The Package is broken (either minimal dep or policy dep) @@ -585,7 +536,7 @@ void pkgDepCache::BuildGroupOrs(VerIterator const &V) { unsigned char Group = 0; - for (DepIterator D = V.DependsList(); D.end() != true; D++) + for (DepIterator D = V.DependsList(); D.end() != true; ++D) { // Build the dependency state. unsigned char &State = DepState[D->ID]; @@ -625,7 +576,7 @@ unsigned char pkgDepCache::VersionState(DepIterator D,unsigned char Check, // Compute a single dependency element (glob or) DepIterator Start = D; unsigned char State = 0; - for (bool LastOR = true; D.end() == false && LastOR == true; D++) + for (bool LastOR = true; D.end() == false && LastOR == true; ++D) { State |= DepState[D->ID]; LastOR = (D->CompareOp & Dep::Or) == Dep::Or; @@ -715,15 +666,15 @@ void pkgDepCache::Update(OpProgress *Prog) // Perform the depends pass int Done = 0; - for (PkgIterator I = PkgBegin(); I.end() != true; I++,Done++) + for (PkgIterator I = PkgBegin(); I.end() != true; ++I, ++Done) { if (Prog != 0 && Done%20 == 0) Prog->Progress(Done); - for (VerIterator V = I.VersionList(); V.end() != true; V++) + for (VerIterator V = I.VersionList(); V.end() != true; ++V) { unsigned char Group = 0; - for (DepIterator D = V.DependsList(); D.end() != true; D++) + for (DepIterator D = V.DependsList(); D.end() != true; ++D) { // Build the dependency state. unsigned char &State = DepState[D->ID]; @@ -760,7 +711,7 @@ void pkgDepCache::Update(OpProgress *Prog) void pkgDepCache::Update(DepIterator D) { // Update the reverse deps - for (;D.end() != true; D++) + for (;D.end() != true; ++D) { unsigned char &State = DepState[D->ID]; State = DependencyState(D); @@ -793,30 +744,30 @@ void pkgDepCache::Update(PkgIterator const &Pkg) // Update the provides map for the current ver if (Pkg->CurrentVer != 0) for (PrvIterator P = Pkg.CurrentVer().ProvidesList(); - P.end() != true; P++) + P.end() != true; ++P) Update(P.ParentPkg().RevDependsList()); // Update the provides map for the candidate ver if (PkgState[Pkg->ID].CandidateVer != 0) for (PrvIterator P = PkgState[Pkg->ID].CandidateVerIter(*this).ProvidesList(); - P.end() != true; P++) + P.end() != true; ++P) Update(P.ParentPkg().RevDependsList()); } /*}}}*/ // DepCache::MarkKeep - Put the package in the keep state /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser, +bool pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser, unsigned long Depth) { if (IsModeChangeOk(ModeKeep, Pkg, Depth, FromUser) == false) - return; + return false; /* Reject an attempt to keep a non-source broken installed package, those must be upgraded */ if (Pkg.State() == PkgIterator::NeedsUnpack && Pkg.CurrentVer().Downloadable() == false) - return; + return false; /* We changed the soft state all the time so the UI is a bit nicer to use */ @@ -824,7 +775,7 @@ void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser, // Check that it is not already kept if (P.Mode == ModeKeep) - return; + return true; if (Soft == true) P.iFlags |= AutoKept; @@ -857,31 +808,31 @@ void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser, P.InstallVer = Pkg.CurrentVer(); AddStates(Pkg); - Update(Pkg); - AddSizes(Pkg); + + return true; } /*}}}*/ // DepCache::MarkDelete - Put the package in the delete state /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge, +bool pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge, unsigned long Depth, bool FromUser) { if (IsModeChangeOk(ModeDelete, Pkg, Depth, FromUser) == false) - return; + return false; StateCache &P = PkgState[Pkg->ID]; // Check that it is not already marked for delete if ((P.Mode == ModeDelete || P.InstallVer == 0) && (Pkg.Purge() == true || rPurge == false)) - return; + return true; // check if we are allowed to remove the package if (IsDeleteOk(Pkg,rPurge,Depth,FromUser) == false) - return; + return false; P.iFlags &= ~(AutoKept | Purge); if (rPurge == true) @@ -905,6 +856,7 @@ void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge, Update(Pkg); AddSizes(Pkg); + return true; } /*}}}*/ // DepCache::IsDeleteOk - check if it is ok to remove this package /*{{{*/ @@ -985,18 +937,18 @@ bool pkgDepCache::IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg, // DepCache::MarkInstall - Put the package in the install state /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, +bool pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, unsigned long Depth, bool FromUser, bool ForceImportantDeps) { if (IsModeChangeOk(ModeInstall, Pkg, Depth, FromUser) == false) - return; + return false; StateCache &P = PkgState[Pkg->ID]; // See if there is even any possible instalation candidate if (P.CandidateVer == 0) - return; + return false; /* Check that it is not already marked for install and that it can be installed */ @@ -1005,13 +957,13 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, P.CandidateVer == (Version *)Pkg.CurrentVer())) { if (P.CandidateVer == (Version *)Pkg.CurrentVer() && P.InstallVer == 0) - MarkKeep(Pkg, false, FromUser, Depth+1); - return; + return MarkKeep(Pkg, false, FromUser, Depth+1); + return true; } // check if we are allowed to install the package if (IsInstallOk(Pkg,AutoInst,Depth,FromUser) == false) - return; + return false; ActionGroup group(*this); P.iFlags &= ~AutoKept; @@ -1046,8 +998,8 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, Update(Pkg); AddSizes(Pkg); - if (AutoInst == false) - return; + if (AutoInst == false || _config->Find("APT::Solver", "internal") != "internal") + return true; if (DebugMarker == true) std::clog << OutputInDepth(Depth) << "MarkInstall " << Pkg << " FU=" << FromUser << std::endl; @@ -1059,7 +1011,7 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, DepIterator Start = Dep; bool Result = true; unsigned Ors = 0; - for (bool LastOR = true; Dep.end() == false && LastOR == true; Dep++,Ors++) + for (bool LastOR = true; Dep.end() == false && LastOR == true; ++Dep, ++Ors) { LastOR = (Dep->CompareOp & Dep::Or) == Dep::Or; @@ -1091,7 +1043,7 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, continue; // if the dependency was critical, we can't install it, so remove it again MarkDelete(Pkg,false,Depth + 1, false); - return; + return false; } /* Check if any ImportantDep() (but not Critical) were added @@ -1222,14 +1174,17 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, continue; if (PkgState[Pkg->ID].CandidateVer != *I && - Start->Type == Dep::DpkgBreaks) - MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps); - else - MarkDelete(Pkg,false,Depth + 1, false); + Start->Type == Dep::DpkgBreaks && + MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps) == true) + continue; + else if (MarkDelete(Pkg,false,Depth + 1, false) == false) + break; } continue; } } + + return Dep.end() == true; } /*}}}*/ // DepCache::IsInstallOk - check if it is ok to install this package /*{{{*/ @@ -1268,7 +1223,7 @@ void pkgDepCache::SetReInstall(PkgIterator const &Pkg,bool To) // DepCache::SetCandidateVersion - Change the candidate version /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgDepCache::SetCandidateVersion(VerIterator TargetVer, bool const &Pseudo) +void pkgDepCache::SetCandidateVersion(VerIterator TargetVer) { pkgCache::PkgIterator Pkg = TargetVer.ParentPkg(); StateCache &P = PkgState[Pkg->ID]; @@ -1522,12 +1477,12 @@ pkgCache::VerIterator pkgDepCache::Policy::GetCandidateVer(PkgIterator const &Pk unless they are already installed */ VerIterator Last(*(pkgCache *)this,0); - for (VerIterator I = Pkg.VersionList(); I.end() == false; I++) + for (VerIterator I = Pkg.VersionList(); I.end() == false; ++I) { if (Pkg.CurrentVer() == I) return I; - for (VerFileIterator J = I.FileList(); J.end() == false; J++) + for (VerFileIterator J = I.FileList(); J.end() == false; ++J) { if ((J.File()->Flags & Flag::NotSource) != 0) continue; @@ -1558,7 +1513,7 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep) return true; else if(Dep->Type == pkgCache::Dep::Recommends) { - if ( _config->FindB("APT::Install-Recommends", false)) + if (InstallRecommends) return true; // we suport a special mode to only install-recommends for certain // sections @@ -1569,11 +1524,17 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep) return true; } else if(Dep->Type == pkgCache::Dep::Suggests) - return _config->FindB("APT::Install-Suggests", false); + return InstallSuggests; return false; } /*}}}*/ +// Policy::GetPriority - Get the priority of the package pin /*{{{*/ +signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const &Pkg) +{ return 0; }; +signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const &File) +{ return 0; }; + /*}}}*/ pkgDepCache::InRootSetFunc *pkgDepCache::GetRootSetFunc() /*{{{*/ { DefaultRootSetFunc *f = new DefaultRootSetFunc; @@ -1593,12 +1554,15 @@ bool pkgDepCache::MarkFollowsRecommends() bool pkgDepCache::MarkFollowsSuggests() { - return _config->FindB("APT::AutoRemove::SuggestsImportant", false); + return _config->FindB("APT::AutoRemove::SuggestsImportant", true); } // pkgDepCache::MarkRequired - the main mark algorithm /*{{{*/ bool pkgDepCache::MarkRequired(InRootSetFunc &userFunc) { + if (_config->Find("APT::Solver", "internal") != "internal") + return true; + bool follow_recommends; bool follow_suggests; bool debug_autoremove = _config->FindB("Debug::pkgAutoRemove",false); diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h index 9efe110f5..66cb7dbab 100644 --- a/apt-pkg/depcache.h +++ b/apt-pkg/depcache.h @@ -233,6 +233,7 @@ class pkgDepCache : protected pkgCache::Namespace inline bool Delete() const {return Mode == ModeDelete;}; inline bool Purge() const {return Delete() == true && (iFlags & pkgDepCache::Purge) == pkgDepCache::Purge; }; inline bool Keep() const {return Mode == ModeKeep;}; + inline bool Protect() const {return (iFlags & Protected) == Protected;}; inline bool Upgrade() const {return Status > 0 && Mode == ModeInstall;}; inline bool Upgradable() const {return Status >= 1;}; inline bool Downgrade() const {return Status < 0 && Mode == ModeInstall;}; @@ -257,11 +258,21 @@ class pkgDepCache : protected pkgCache::Namespace class Policy { public: - + Policy() { + InstallRecommends = _config->FindB("APT::Install-Recommends", false); + InstallSuggests = _config->FindB("APT::Install-Suggests", false); + } + virtual VerIterator GetCandidateVer(PkgIterator const &Pkg); virtual bool IsImportantDep(DepIterator const &Dep); - + virtual signed short GetPriority(PkgIterator const &Pkg); + virtual signed short GetPriority(PkgFileIterator const &File); + virtual ~Policy() {}; + + private: + bool InstallRecommends; + bool InstallSuggests; }; private: @@ -315,11 +326,10 @@ class pkgDepCache : protected pkgCache::Namespace void Update(PkgIterator const &P); // Count manipulators - void AddSizes(const PkgIterator &Pkg, bool const &Invert = false); + void AddSizes(const PkgIterator &Pkg, bool const Invert = false); inline void RemoveSizes(const PkgIterator &Pkg) {AddSizes(Pkg, true);}; - void AddSizes(const PkgIterator &Pkg,signed long Mult) __deprecated; - void AddStates(const PkgIterator &Pkg,int Add = 1); - inline void RemoveStates(const PkgIterator &Pkg) {AddStates(Pkg,-1);}; + void AddStates(const PkgIterator &Pkg, bool const Invert = false); + inline void RemoveStates(const PkgIterator &Pkg) {AddStates(Pkg,true);}; public: @@ -388,18 +398,17 @@ class pkgDepCache : protected pkgCache::Namespace /** \name State Manipulators */ // @{ - void MarkKeep(PkgIterator const &Pkg, bool Soft = false, + bool MarkKeep(PkgIterator const &Pkg, bool Soft = false, bool FromUser = true, unsigned long Depth = 0); - void MarkDelete(PkgIterator const &Pkg, bool Purge = false, + bool MarkDelete(PkgIterator const &Pkg, bool MarkPurge = false, unsigned long Depth = 0, bool FromUser = true); - void MarkInstall(PkgIterator const &Pkg,bool AutoInst = true, + bool MarkInstall(PkgIterator const &Pkg,bool AutoInst = true, unsigned long Depth = 0, bool FromUser = true, bool ForceImportantDeps = false); void MarkProtected(PkgIterator const &Pkg) { PkgState[Pkg->ID].iFlags |= Protected; }; void SetReInstall(PkgIterator const &Pkg,bool To); - // FIXME: Remove the unused boolean parameter on abi break - void SetCandidateVersion(VerIterator TargetVer, bool const &Pseudo = true); + void SetCandidateVersion(VerIterator TargetVer); bool SetCandidateRelease(pkgCache::VerIterator TargetVer, std::string const &TargetRel); /** Set the candidate version for dependencies too if needed. @@ -459,7 +468,7 @@ class pkgDepCache : protected pkgCache::Namespace * \param Depth recursive deep of this Marker call * \param FromUser was the remove requested by the user? */ - virtual bool IsDeleteOk(const PkgIterator &Pkg,bool Purge = false, + virtual bool IsDeleteOk(const PkgIterator &Pkg,bool MarkPurge = false, unsigned long Depth = 0, bool FromUser = true); // read persistent states @@ -484,13 +493,6 @@ class pkgDepCache : protected pkgCache::Namespace virtual ~pkgDepCache(); private: - // Helper for Update(OpProgress) to remove pseudoinstalled arch all packages - // FIXME: they are private so shouldn't affect abi, but just in case… - __deprecated bool RemovePseudoInstalledPkg(PkgIterator &Pkg, std::set<unsigned long> &recheck) { return true; }; - __deprecated bool ReInstallPseudoForGroup(unsigned long const &Grp, std::set<unsigned long> &recheck) { return true; }; - __deprecated bool ReInstallPseudoForGroup(pkgCache::PkgIterator const &P, std::set<unsigned long> &recheck) { return true; }; - - bool IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg, unsigned long const Depth, bool const FromUser); }; diff --git a/apt-pkg/edsp.cc b/apt-pkg/edsp.cc new file mode 100644 index 000000000..44f7dbfd6 --- /dev/null +++ b/apt-pkg/edsp.cc @@ -0,0 +1,566 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + Set of methods to help writing and reading everything needed for EDSP + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <config.h> + +#include <apt-pkg/edsp.h> +#include <apt-pkg/error.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/version.h> +#include <apt-pkg/policy.h> +#include <apt-pkg/tagfile.h> + +#include <limits> +#include <stdio.h> + +#include <apti18n.h> + /*}}}*/ + +// we could use pkgCache::DepType and ::Priority, but these would be localized strings… +const char * const EDSP::PrioMap[] = {0, "important", "required", "standard", + "optional", "extra"}; +const char * const EDSP::DepMap[] = {"", "Depends", "Pre-Depends", "Suggests", + "Recommends" , "Conflicts", "Replaces", + "Obsoletes", "Breaks", "Enhances"}; + +// EDSP::WriteScenario - to the given file descriptor /*{{{*/ +bool EDSP::WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress) +{ + if (Progress != NULL) + Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver")); + unsigned long p = 0; + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg) + for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver, ++p) + { + WriteScenarioVersion(Cache, output, Pkg, Ver); + WriteScenarioDependency(Cache, output, Pkg, Ver); + fprintf(output, "\n"); + if (Progress != NULL && p % 100 == 0) + Progress->Progress(p); + } + return true; +} + /*}}}*/ +// EDSP::WriteLimitedScenario - to the given file descriptor /*{{{*/ +bool EDSP::WriteLimitedScenario(pkgDepCache &Cache, FILE* output, + APT::PackageSet const &pkgset, + OpProgress *Progress) +{ + if (Progress != NULL) + Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver")); + unsigned long p = 0; + for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg, ++p) + for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver) + { + WriteScenarioVersion(Cache, output, Pkg, Ver); + WriteScenarioLimitedDependency(Cache, output, Pkg, Ver, pkgset); + fprintf(output, "\n"); + if (Progress != NULL && p % 100 == 0) + Progress->Progress(p); + } + if (Progress != NULL) + Progress->Done(); + return true; +} + /*}}}*/ +// EDSP::WriteScenarioVersion /*{{{*/ +void EDSP::WriteScenarioVersion(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver) +{ + fprintf(output, "Package: %s\n", Pkg.Name()); + fprintf(output, "Architecture: %s\n", Ver.Arch()); + fprintf(output, "Version: %s\n", Ver.VerStr()); + if (Pkg.CurrentVer() == Ver) + fprintf(output, "Installed: yes\n"); + if (Pkg->SelectedState == pkgCache::State::Hold || + (Cache[Pkg].Keep() == true && Cache[Pkg].Protect() == true)) + fprintf(output, "Hold: yes\n"); + fprintf(output, "APT-ID: %d\n", Ver->ID); + fprintf(output, "Priority: %s\n", PrioMap[Ver->Priority]); + if ((Pkg->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential) + fprintf(output, "Essential: yes\n"); + fprintf(output, "Section: %s\n", Ver.Section()); + if ((Ver->MultiArch & pkgCache::Version::Allowed) == pkgCache::Version::Allowed) + fprintf(output, "Multi-Arch: allowed\n"); + else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign) + fprintf(output, "Multi-Arch: foreign\n"); + else if ((Ver->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same) + fprintf(output, "Multi-Arch: same\n"); + signed short Pin = std::numeric_limits<signed short>::min(); + for (pkgCache::VerFileIterator File = Ver.FileList(); File.end() == false; ++File) { + signed short const p = Cache.GetPolicy().GetPriority(File.File()); + if (Pin < p) + Pin = p; + } + fprintf(output, "APT-Pin: %d\n", Pin); + if (Cache.GetCandidateVer(Pkg) == Ver) + fprintf(output, "APT-Candidate: yes\n"); + if ((Cache[Pkg].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) + fprintf(output, "APT-Automatic: yes\n"); +} + /*}}}*/ +// EDSP::WriteScenarioDependency /*{{{*/ +void EDSP::WriteScenarioDependency(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver) +{ + std::string dependencies[pkgCache::Dep::Enhances + 1]; + bool orGroup = false; + for (pkgCache::DepIterator Dep = Ver.DependsList(); Dep.end() == false; ++Dep) + { + // Ignore implicit dependencies for multiarch here + if (strcmp(Pkg.Arch(), Dep.TargetPkg().Arch()) != 0) + continue; + if (orGroup == false) + dependencies[Dep->Type].append(", "); + dependencies[Dep->Type].append(Dep.TargetPkg().Name()); + if (Dep->Version != 0) + dependencies[Dep->Type].append(" (").append(pkgCache::CompTypeDeb(Dep->CompareOp)).append(" ").append(Dep.TargetVer()).append(")"); + if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + { + dependencies[Dep->Type].append(" | "); + orGroup = true; + } + else + orGroup = false; + } + for (int i = 1; i < pkgCache::Dep::Enhances + 1; ++i) + if (dependencies[i].empty() == false) + fprintf(output, "%s: %s\n", DepMap[i], dependencies[i].c_str()+2); + string provides; + for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); Prv.end() == false; ++Prv) + { + // Ignore implicit provides for multiarch here + if (strcmp(Pkg.Arch(), Prv.ParentPkg().Arch()) != 0 || strcmp(Pkg.Name(),Prv.Name()) == 0) + continue; + provides.append(", ").append(Prv.Name()); + } + if (provides.empty() == false) + fprintf(output, "Provides: %s\n", provides.c_str()+2); +} + /*}}}*/ +// EDSP::WriteScenarioLimitedDependency /*{{{*/ +void EDSP::WriteScenarioLimitedDependency(pkgDepCache &Cache, FILE* output, + pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver, + APT::PackageSet const &pkgset) +{ + std::string dependencies[pkgCache::Dep::Enhances + 1]; + bool orGroup = false; + for (pkgCache::DepIterator Dep = Ver.DependsList(); Dep.end() == false; ++Dep) + { + // Ignore implicit dependencies for multiarch here + if (strcmp(Pkg.Arch(), Dep.TargetPkg().Arch()) != 0) + continue; + if (orGroup == false) + { + if (pkgset.find(Dep.TargetPkg()) == pkgset.end()) + continue; + dependencies[Dep->Type].append(", "); + } + else if (pkgset.find(Dep.TargetPkg()) == pkgset.end()) + { + if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + continue; + dependencies[Dep->Type].erase(dependencies[Dep->Type].end()-3, dependencies[Dep->Type].end()); + orGroup = false; + continue; + } + dependencies[Dep->Type].append(Dep.TargetPkg().Name()); + if (Dep->Version != 0) + dependencies[Dep->Type].append(" (").append(pkgCache::CompTypeDeb(Dep->CompareOp)).append(" ").append(Dep.TargetVer()).append(")"); + if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + { + dependencies[Dep->Type].append(" | "); + orGroup = true; + } + else + orGroup = false; + } + for (int i = 1; i < pkgCache::Dep::Enhances + 1; ++i) + if (dependencies[i].empty() == false) + fprintf(output, "%s: %s\n", DepMap[i], dependencies[i].c_str()+2); + string provides; + for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); Prv.end() == false; ++Prv) + { + // Ignore implicit provides for multiarch here + if (strcmp(Pkg.Arch(), Prv.ParentPkg().Arch()) != 0 || strcmp(Pkg.Name(),Prv.Name()) == 0) + continue; + if (pkgset.find(Prv.ParentPkg()) == pkgset.end()) + continue; + provides.append(", ").append(Prv.Name()); + } + if (provides.empty() == false) + fprintf(output, "Provides: %s\n", provides.c_str()+2); +} + /*}}}*/ +// EDSP::WriteRequest - to the given file descriptor /*{{{*/ +bool EDSP::WriteRequest(pkgDepCache &Cache, FILE* output, bool const Upgrade, + bool const DistUpgrade, bool const AutoRemove, + OpProgress *Progress) +{ + if (Progress != NULL) + Progress->SubProgress(Cache.Head().PackageCount, _("Send request to solver")); + unsigned long p = 0; + string del, inst; + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg, ++p) + { + if (Progress != NULL && p % 100 == 0) + Progress->Progress(p); + string* req; + if (Cache[Pkg].Delete() == true) + req = &del; + else if (Cache[Pkg].NewInstall() == true || Cache[Pkg].Upgrade() == true) + req = &inst; + else + continue; + req->append(" ").append(Pkg.FullName()); + } + fprintf(output, "Request: EDSP 0.4\n"); + if (del.empty() == false) + fprintf(output, "Remove: %s\n", del.c_str()+1); + if (inst.empty() == false) + fprintf(output, "Install: %s\n", inst.c_str()+1); + if (Upgrade == true) + fprintf(output, "Upgrade: yes\n"); + if (DistUpgrade == true) + fprintf(output, "Dist-Upgrade: yes\n"); + if (AutoRemove == true) + fprintf(output, "Autoremove: yes\n"); + if (_config->FindB("APT::Solver::Strict-Pinning", true) == false) + fprintf(output, "Strict-Pinning: no\n"); + string solverpref("APT::Solver::"); + solverpref.append(_config->Find("APT::Solver", "internal")).append("::Preferences"); + if (_config->Exists(solverpref) == true) + fprintf(output, "Preferences: %s\n", _config->Find(solverpref,"").c_str()); + fprintf(output, "\n"); + + return true; +} + /*}}}*/ +// EDSP::ReadResponse - from the given file descriptor /*{{{*/ +bool EDSP::ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progress) { + /* We build an map id to mmap offset here + In theory we could use the offset as ID, but then VersionCount + couldn't be used to create other versionmappings anymore and it + would be too easy for a (buggy) solver to segfault APT… */ + unsigned long long const VersionCount = Cache.Head().VersionCount; + unsigned long VerIdx[VersionCount]; + for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; ++P) { + for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V) + VerIdx[V->ID] = V.Index(); + Cache[P].Marked = true; + Cache[P].Garbage = false; + } + + FileFd in; + in.OpenDescriptor(input, FileFd::ReadOnly); + pkgTagFile response(&in, 100); + pkgTagSection section; + + while (response.Step(section) == true) { + std::string type; + if (section.Exists("Install") == true) + type = "Install"; + else if (section.Exists("Remove") == true) + type = "Remove"; + else if (section.Exists("Progress") == true) { + if (Progress != NULL) { + string msg = section.FindS("Message"); + if (msg.empty() == true) + msg = _("Prepare for receiving solution"); + Progress->SubProgress(100, msg, section.FindI("Percentage", 0)); + } + continue; + } else if (section.Exists("Error") == true) { + std::string msg = SubstVar(SubstVar(section.FindS("Message"), "\n .\n", "\n\n"), "\n ", "\n"); + if (msg.empty() == true) { + msg = _("External solver failed without a proper error message"); + _error->Error(msg.c_str()); + } else + _error->Error("External solver failed with: %s", msg.substr(0,msg.find('\n')).c_str()); + if (Progress != NULL) + Progress->Done(); + std::cerr << "The solver encountered an error of type: " << section.FindS("Error") << std::endl; + std::cerr << "The following information might help you to understand what is wrong:" << std::endl; + std::cerr << msg << std::endl << std::endl; + return false; + } else if (section.Exists("Autoremove") == true) + type = "Autoremove"; + else + continue; + + size_t const id = section.FindULL(type.c_str(), VersionCount); + if (id == VersionCount) { + _error->Warning("Unable to parse %s request with id value '%s'!", type.c_str(), section.FindS(type.c_str()).c_str()); + continue; + } else if (id > Cache.Head().VersionCount) { + _error->Warning("ID value '%s' in %s request stanza is to high to refer to a known version!", section.FindS(type.c_str()).c_str(), type.c_str()); + continue; + } + + pkgCache::VerIterator Ver(Cache.GetCache(), Cache.GetCache().VerP + VerIdx[id]); + Cache.SetCandidateVersion(Ver); + if (type == "Install") + Cache.MarkInstall(Ver.ParentPkg(), false, 0, false); + else if (type == "Remove") + Cache.MarkDelete(Ver.ParentPkg(), false); + else if (type == "Autoremove") { + Cache[Ver.ParentPkg()].Marked = false; + Cache[Ver.ParentPkg()].Garbage = true; + } + } + return true; +} + /*}}}*/ +// EDSP::ReadLine - first line from the given file descriptor /*{{{*/ +// --------------------------------------------------------------------- +/* Little helper method to read a complete line into a string. Similar to + fgets but we need to use the low-level read() here as otherwise the + listparser will be confused later on as mixing of fgets and read isn't + a supported action according to the manpages and results are undefined */ +bool EDSP::ReadLine(int const input, std::string &line) { + char one; + ssize_t data = 0; + line.erase(); + line.reserve(100); + while ((data = read(input, &one, sizeof(one))) != -1) { + if (data != 1) + continue; + if (one == '\n') + return true; + if (one == '\r') + continue; + if (line.empty() == true && isblank(one) != 0) + continue; + line += one; + } + return false; +} + /*}}}*/ +// EDSP::StringToBool - convert yes/no to bool /*{{{*/ +// --------------------------------------------------------------------- +/* we are not as lazy as we are in the global StringToBool as we really + only accept yes/no here - but we will ignore leading spaces */ +bool EDSP::StringToBool(char const *answer, bool const defValue) { + for (; isspace(*answer) != 0; ++answer); + if (strncasecmp(answer, "yes", 3) == 0) + return true; + else if (strncasecmp(answer, "no", 2) == 0) + return false; + else + _error->Warning("Value '%s' is not a boolean 'yes' or 'no'!", answer); + return defValue; +} + /*}}}*/ +// EDSP::ReadRequest - first stanza from the given file descriptor /*{{{*/ +bool EDSP::ReadRequest(int const input, std::list<std::string> &install, + std::list<std::string> &remove, bool &upgrade, + bool &distUpgrade, bool &autoRemove) +{ + install.clear(); + remove.clear(); + upgrade = false; + distUpgrade = false; + autoRemove = false; + std::string line; + while (ReadLine(input, line) == true) + { + // Skip empty lines before request + if (line.empty() == true) + continue; + // The first Tag must be a request, so search for it + if (line.compare(0, 8, "Request:") != 0) + continue; + + while (ReadLine(input, line) == true) + { + // empty lines are the end of the request + if (line.empty() == true) + return true; + + std::list<std::string> *request = NULL; + if (line.compare(0, 8, "Install:") == 0) + { + line.erase(0, 8); + request = &install; + } + else if (line.compare(0, 7, "Remove:") == 0) + { + line.erase(0, 7); + request = &remove; + } + else if (line.compare(0, 8, "Upgrade:") == 0) + upgrade = EDSP::StringToBool(line.c_str() + 9, false); + else if (line.compare(0, 13, "Dist-Upgrade:") == 0) + distUpgrade = EDSP::StringToBool(line.c_str() + 14, false); + else if (line.compare(0, 11, "Autoremove:") == 0) + autoRemove = EDSP::StringToBool(line.c_str() + 12, false); + else + _error->Warning("Unknown line in EDSP Request stanza: %s", line.c_str()); + + if (request == NULL) + continue; + size_t end = line.length(); + do { + size_t begin = line.rfind(' '); + if (begin == std::string::npos) + { + request->push_back(line.substr(0, end)); + break; + } + else if (begin < end) + request->push_back(line.substr(begin + 1, end)); + line.erase(begin); + end = line.find_last_not_of(' '); + } while (end != std::string::npos); + } + } + return false; +} + /*}}}*/ +// EDSP::ApplyRequest - first stanza from the given file descriptor /*{{{*/ +bool EDSP::ApplyRequest(std::list<std::string> const &install, + std::list<std::string> const &remove, + pkgDepCache &Cache) +{ + for (std::list<std::string>::const_iterator i = install.begin(); + i != install.end(); ++i) { + pkgCache::PkgIterator P = Cache.FindPkg(*i); + if (P.end() == true) + _error->Warning("Package %s is not known, so can't be installed", i->c_str()); + else + Cache.MarkInstall(P, false); + } + + for (std::list<std::string>::const_iterator i = remove.begin(); + i != remove.end(); ++i) { + pkgCache::PkgIterator P = Cache.FindPkg(*i); + if (P.end() == true) + _error->Warning("Package %s is not known, so can't be installed", i->c_str()); + else + Cache.MarkDelete(P); + } + return true; +} + /*}}}*/ +// EDSP::WriteSolution - to the given file descriptor /*{{{*/ +bool EDSP::WriteSolution(pkgDepCache &Cache, FILE* output) +{ + bool const Debug = _config->FindB("Debug::EDSP::WriteSolution", false); + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg) + { + if (Cache[Pkg].Delete() == true) + { + fprintf(output, "Remove: %d\n", Pkg.CurrentVer()->ID); + if (Debug == true) + fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr()); + } + else if (Cache[Pkg].NewInstall() == true || Cache[Pkg].Upgrade() == true) + { + fprintf(output, "Install: %d\n", Cache.GetCandidateVer(Pkg)->ID); + if (Debug == true) + fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Cache.GetCandidateVer(Pkg).VerStr()); + } + else if (Cache[Pkg].Garbage == true) + { + fprintf(output, "Autoremove: %d\n", Pkg.CurrentVer()->ID); + if (Debug == true) + fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr()); + fprintf(stderr, "Autoremove: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr()); + } + else + continue; + fprintf(output, "\n"); + } + + return true; +} + /*}}}*/ +// EDSP::WriteProgess - pulse to the given file descriptor /*{{{*/ +bool EDSP::WriteProgress(unsigned short const percent, const char* const message, FILE* output) { + fprintf(output, "Progress: %s\n", TimeRFC1123(time(NULL)).c_str()); + fprintf(output, "Percentage: %d\n", percent); + fprintf(output, "Message: %s\n\n", message); + fflush(output); + return true; +} + /*}}}*/ +// EDSP::WriteError - format an error message to be send to file descriptor /*{{{*/ +bool EDSP::WriteError(char const * const uuid, std::string const &message, FILE* output) { + fprintf(output, "Error: %s\n", uuid); + fprintf(output, "Message: %s\n\n", SubstVar(SubstVar(message, "\n\n", "\n.\n"), "\n", "\n ").c_str()); + return true; +} + /*}}}*/ +// EDSP::ExecuteSolver - fork requested solver and setup ipc pipes {{{*/ +bool EDSP::ExecuteSolver(const char* const solver, int *solver_in, int *solver_out) { + std::vector<std::string> const solverDirs = _config->FindVector("Dir::Bin::Solvers"); + std::string file; + for (std::vector<std::string>::const_iterator dir = solverDirs.begin(); + dir != solverDirs.end(); ++dir) { + file = flCombine(*dir, solver); + if (RealFileExists(file.c_str()) == true) + break; + file.clear(); + } + + if (file.empty() == true) + return _error->Error("Can't call external solver '%s' as it is not in a configured directory!", solver); + int external[4] = {-1, -1, -1, -1}; + if (pipe(external) != 0 || pipe(external + 2) != 0) + return _error->Errno("Resolve", "Can't create needed IPC pipes for EDSP"); + for (int i = 0; i < 4; ++i) + SetCloseExec(external[i], true); + + pid_t Solver = ExecFork(); + if (Solver == 0) { + dup2(external[0], STDIN_FILENO); + dup2(external[3], STDOUT_FILENO); + const char* calling[2] = { file.c_str(), 0 }; + execv(calling[0], (char**) calling); + std::cerr << "Failed to execute solver '" << solver << "'!" << std::endl; + _exit(100); + } + close(external[0]); + close(external[3]); + + if (WaitFd(external[1], true, 5) == false) + return _error->Errno("Resolve", "Timed out while Waiting on availability of solver stdin"); + + *solver_in = external[1]; + *solver_out = external[2]; + return true; +} + /*}}}*/ +// EDSP::ResolveExternal - resolve problems by asking external for help {{{*/ +bool EDSP::ResolveExternal(const char* const solver, pkgDepCache &Cache, + bool const upgrade, bool const distUpgrade, + bool const autoRemove, OpProgress *Progress) { + int solver_in, solver_out; + if (EDSP::ExecuteSolver(solver, &solver_in, &solver_out) == false) + return false; + + FILE* output = fdopen(solver_in, "w"); + if (output == NULL) + return _error->Errno("Resolve", "fdopen on solver stdin failed"); + + if (Progress != NULL) + Progress->OverallProgress(0, 100, 5, _("Execute external solver")); + EDSP::WriteRequest(Cache, output, upgrade, distUpgrade, autoRemove, Progress); + if (Progress != NULL) + Progress->OverallProgress(5, 100, 20, _("Execute external solver")); + EDSP::WriteScenario(Cache, output, Progress); + fclose(output); + + if (Progress != NULL) + Progress->OverallProgress(25, 100, 75, _("Execute external solver")); + if (EDSP::ReadResponse(solver_out, Cache, Progress) == false) + return false; + + return true; +} + /*}}}*/ diff --git a/apt-pkg/edsp.h b/apt-pkg/edsp.h new file mode 100644 index 000000000..743c3f5d1 --- /dev/null +++ b/apt-pkg/edsp.h @@ -0,0 +1,222 @@ +// -*- mode: cpp; mode: fold -*- +/** Description \file edsp.h {{{ + ###################################################################### + Set of methods to help writing and reading everything needed for EDSP + with the noteable exception of reading a scenario for conversion into + a Cache as this is handled by edsp interface for listparser and friends + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_EDSP_H +#define PKGLIB_EDSP_H + +#include <apt-pkg/depcache.h> +#include <apt-pkg/cacheset.h> +#include <apt-pkg/progress.h> + +#include <string> + +class EDSP /*{{{*/ +{ + // we could use pkgCache::DepType and ::Priority, but these would be localized strings… + static const char * const PrioMap[]; + static const char * const DepMap[]; + + bool static ReadLine(int const input, std::string &line); + bool static StringToBool(char const *answer, bool const defValue); + + void static WriteScenarioVersion(pkgDepCache &Cache, FILE* output, + pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver); + void static WriteScenarioDependency(pkgDepCache &Cache, FILE* output, + pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver); + void static WriteScenarioLimitedDependency(pkgDepCache &Cache, FILE* output, + pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver, + APT::PackageSet const &pkgset); +public: + /** \brief creates the EDSP request stanza + * + * In the EDSP protocol the first thing send to the resolver is a stanza + * encoding the request. This method will write this stanza by looking at + * the given Cache and requests the installation of all packages which were + * marked for installation in it (equally for remove). + * + * \param Cache in which the request is encoded + * \param output is written to this "file" + * \param upgrade is true if it is an request like apt-get upgrade + * \param distUpgrade is true if it is a request like apt-get dist-upgrade + * \param autoRemove is true if removal of unneeded packages should be performed + * \param Progress is an instance to report progress to + * + * \return true if request was composed successfully, otherwise false + */ + bool static WriteRequest(pkgDepCache &Cache, FILE* output, + bool const upgrade = false, + bool const distUpgrade = false, + bool const autoRemove = false, + OpProgress *Progress = NULL); + + /** \brief creates the scenario representing the package universe + * + * After the request all known information about a package are send + * to the solver. The output looks similar to a Packages or status file + * + * All packages and version included in this Cache are send, even if + * it doesn't make sense from an APT resolver point of view like versions + * with a negative pin to enable the solver to propose even that as a + * solution or at least to be able to give a hint what can be done to + * statisfy a request. + * + * \param Cache is the known package universe + * \param output is written to this "file" + * \param Progress is an instance to report progress to + * + * \return true if universe was composed successfully, otherwise false + */ + bool static WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress = NULL); + + /** \brief creates a limited scenario representing the package universe + * + * This method works similar to #WriteScenario as it works in the same + * way but doesn't send the complete universe to the solver but only + * packages included in the pkgset which will have only dependencies + * on packages which are in the given set. All other dependencies will + * be removed, so that this method can be used to create testcases + * + * \param Cache is the known package universe + * \param output is written to this "file" + * \param pkgset is a set of packages the universe should be limited to + * \param Progress is an instance to report progress to + * + * \return true if universe was composed successfully, otherwise false + */ + bool static WriteLimitedScenario(pkgDepCache &Cache, FILE* output, + APT::PackageSet const &pkgset, + OpProgress *Progress = NULL); + + /** \brief waits and acts on the information returned from the solver + * + * This method takes care of interpreting whatever the solver sends + * through the standard output like a solution, progress or an error. + * The main thread should handle his control over to this method to + * wait for the solver to finish the given task + * + * \param input file descriptor with the response from the solver + * \param Cache the solution should be applied on if any + * \param Progress is an instance to report progress to + * + * \return true if a solution is found and applied correctly, otherwise false + */ + bool static ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progress = NULL); + + /** \brief search and read the request stanza for action later + * + * This method while ignore the input up to the point it finds the + * Request: line as an indicator for the Request stanza. + * The request is stored in the parameters install and remove then, + * as the cache isn't build yet as the scenario follows the request. + * + * \param input file descriptor with the edsp input for the solver + * \param[out] install is a list which gets populated with requested installs + * \param[out] remove is a list which gets populated with requested removals + * \param[out] upgrade is true if it is a request like apt-get upgrade + * \param[out] distUpgrade is true if it is a request like apt-get dist-upgrade + * \param[out] autoRemove is true if removal of uneeded packages should be performed + * + * \return true if the request could be found and worked on, otherwise false + */ + bool static ReadRequest(int const input, std::list<std::string> &install, + std::list<std::string> &remove, bool &upgrade, + bool &distUpgrade, bool &autoRemove); + + /** \brief takes the request lists and applies it on the cache + * + * The lists as created by #ReadRequest will be used to find the + * packages in question and mark them for install/remove. + * No solving is done and no auto-install/-remove. + * + * \param install is a list of packages to mark for installation + * \param remove is a list of packages to mark for removal + * \param Cache is there the markers should be set + * + * \return false if the request couldn't be applied, true otherwise + */ + bool static ApplyRequest(std::list<std::string> const &install, + std::list<std::string> const &remove, + pkgDepCache &Cache); + + /** \brief encodes the changes in the Cache as a EDSP solution + * + * The markers in the Cache are observed and send to given + * file. The solution isn't checked for consistency or alike, + * so even broken solutions can be written successfully, + * but the front-end revicing it will properly fail then. + * + * \param Cache which represents the solution + * \param output to write the stanzas forming the solution to + * + * \return true if solution could be written, otherwise false + */ + bool static WriteSolution(pkgDepCache &Cache, FILE* output); + + /** \brief sends a progress report + * + * \param percent of the solving completed + * \param message the solver wants the user to see + * \param output the front-end listens for progress report + */ + bool static WriteProgress(unsigned short const percent, const char* const message, FILE* output); + + /** \brief sends an error report + * + * Solvers are expected to execute successfully even if + * they were unable to calculate a solution for a given task. + * Obviously they can't send a solution through, so this + * methods deals with formatting an error message correctly + * so that the front-ends can recieve and display it. + * + * The first line of the message should be a short description + * of the error so it can be used for dialog titles or alike + * + * \param uuid of this error message + * \param message is free form text to discribe the error + * \param output the front-end listens for error messages + */ + bool static WriteError(char const * const uuid, std::string const &message, FILE* output); + + + /** \brief executes the given solver and returns the pipe ends + * + * The given solver is executed if it can be found in one of the + * configured directories and setup for it is performed. + * + * \param solver to execute + * \param[out] solver_in will be the stdin of the solver + * \param[out] solver_out will be the stdout of the solver + * + * \return true if the solver could be started and the pipes + * are set up correctly, otherwise false and the pipes are invalid + */ + bool static ExecuteSolver(const char* const solver, int *solver_in, int *solver_out); + + /** \brief call an external resolver to handle the request + * + * This method wraps all the methods above to call an external solver + * + * \param solver to execute + * \param Cache with the problem and as universe to work in + * \param upgrade is true if it is a request like apt-get upgrade + * \param distUpgrade is true if it is a request like apt-get dist-upgrade + * \param autoRemove is true if unneeded packages should be removed + * \param Progress is an instance to report progress to + * + * \return true if the solver has successfully solved the problem, + * otherwise false + */ + bool static ResolveExternal(const char* const solver, pkgDepCache &Cache, + bool const upgrade, bool const distUpgrade, + bool const autoRemove, OpProgress *Progress = NULL); +}; + /*}}}*/ +#endif diff --git a/apt-pkg/edsp/edspindexfile.cc b/apt-pkg/edsp/edspindexfile.cc new file mode 100644 index 000000000..b417a7562 --- /dev/null +++ b/apt-pkg/edsp/edspindexfile.cc @@ -0,0 +1,80 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + The scenario file is designed to work as an intermediate file between + APT and the resolver. Its on propose very similar to a dpkg status file + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <config.h> + +#include <apt-pkg/edspindexfile.h> +#include <apt-pkg/edsplistparser.h> +#include <apt-pkg/sourcelist.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/progress.h> +#include <apt-pkg/error.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/acquire-item.h> + +#include <sys/stat.h> + /*}}}*/ + +// edspIndex::edspIndex - Constructor /*{{{*/ +// --------------------------------------------------------------------- +/* */ +edspIndex::edspIndex(string File) : debStatusIndex(File) +{ +} + /*}}}*/ +// StatusIndex::Merge - Load the index file into a cache /*{{{*/ +bool edspIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const +{ + FileFd Pkg; + if (File != "stdin") + Pkg.Open(File, FileFd::ReadOnly); + else + Pkg.OpenDescriptor(STDIN_FILENO, FileFd::ReadOnly); + if (_error->PendingError() == true) + return false; + edspListParser Parser(&Pkg); + if (_error->PendingError() == true) + return false; + + if (Prog != NULL) + Prog->SubProgress(0,File); + if (Gen.SelectFile(File,string(),*this) == false) + return _error->Error("Problem with SelectFile %s",File.c_str()); + + // Store the IMS information + pkgCache::PkgFileIterator CFile = Gen.GetCurFile(); + struct stat St; + if (fstat(Pkg.Fd(),&St) != 0) + return _error->Errno("fstat","Failed to stat"); + CFile->Size = St.st_size; + CFile->mtime = St.st_mtime; + CFile->Archive = Gen.WriteUniqString("edsp::scenario"); + + if (Gen.MergeList(Parser) == false) + return _error->Error("Problem with MergeList %s",File.c_str()); + return true; +} + /*}}}*/ +// Index File types for APT /*{{{*/ +class edspIFType: public pkgIndexFile::Type +{ + public: + virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const + { + // we don't have a record parser for this type as the file is not presistent + return NULL; + }; + edspIFType() {Label = "EDSP scenario file";}; +}; +static edspIFType _apt_Universe; + +const pkgIndexFile::Type *edspIndex::GetType() const +{ + return &_apt_Universe; +} + /*}}}*/ diff --git a/apt-pkg/edsp/edspindexfile.h b/apt-pkg/edsp/edspindexfile.h new file mode 100644 index 000000000..0053388eb --- /dev/null +++ b/apt-pkg/edsp/edspindexfile.h @@ -0,0 +1,28 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + The scenario file is designed to work as an intermediate file between + APT and the resolver. Its on propose very similar to a dpkg status file + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_EDSPINDEXFILE_H +#define PKGLIB_EDSPINDEXFILE_H + +#include <apt-pkg/indexfile.h> +#include <apt-pkg/debindexfile.h> + +class edspIndex : public debStatusIndex +{ + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + public: + + virtual const Type *GetType() const; + + virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const; + + edspIndex(string File); +}; + +#endif diff --git a/apt-pkg/edsp/edsplistparser.cc b/apt-pkg/edsp/edsplistparser.cc new file mode 100644 index 000000000..e00abdbcc --- /dev/null +++ b/apt-pkg/edsp/edsplistparser.cc @@ -0,0 +1,92 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + + Package Cache Generator - Generator for the cache structure. + + This builds the cache structure from the abstract package list parser. + + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <config.h> + +#include <apt-pkg/edsplistparser.h> +#include <apt-pkg/error.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/md5.h> +#include <apt-pkg/macros.h> + /*}}}*/ + +// ListParser::edspListParser - Constructor /*{{{*/ +edspListParser::edspListParser(FileFd *File, string const &Arch) : debListParser(File, Arch) +{} + /*}}}*/ +// ListParser::NewVersion - Fill in the version structure /*{{{*/ +bool edspListParser::NewVersion(pkgCache::VerIterator &Ver) +{ + Ver->ID = Section.FindI("APT-ID", Ver->ID); + return debListParser::NewVersion(Ver); +} + /*}}}*/ +// ListParser::Description - Return the description string /*{{{*/ +// --------------------------------------------------------------------- +/* Sorry, no description for the resolvers… */ +string edspListParser::Description() +{ + return ""; +} +string edspListParser::DescriptionLanguage() +{ + return ""; +} +MD5SumValue edspListParser::Description_md5() +{ + return MD5SumValue(""); +} + /*}}}*/ +// ListParser::VersionHash - Compute a unique hash for this version /*{{{*/ +// --------------------------------------------------------------------- +/* */ +unsigned short edspListParser::VersionHash() +{ + if (Section.Exists("APT-Hash") == true) + return Section.FindI("APT-Hash"); + else if (Section.Exists("APT-ID") == true) + return Section.FindI("APT-ID"); + return 0; +} + /*}}}*/ +// ListParser::ParseStatus - Parse the status field /*{{{*/ +// --------------------------------------------------------------------- +/* The Status: line here is not a normal dpkg one but just one which tells + use if the package is installed or not, where missing means not. */ +bool edspListParser::ParseStatus(pkgCache::PkgIterator &Pkg, + pkgCache::VerIterator &Ver) +{ + unsigned long state = 0; + if (Section.FindFlag("Hold",state,pkgCache::State::Hold) == false) + return false; + if (state != 0) + Pkg->SelectedState = pkgCache::State::Hold; + + state = 0; + if (Section.FindFlag("Installed",state,pkgCache::State::Installed) == false) + return false; + if (state != 0) + { + Pkg->CurrentState = pkgCache::State::Installed; + Pkg->CurrentVer = Ver.Index(); + } + + return true; +} + /*}}}*/ +// ListParser::LoadReleaseInfo - Load the release information /*{{{*/ +bool edspListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI, + FileFd &File, string component) +{ + return true; +} + /*}}}*/ diff --git a/apt-pkg/edsp/edsplistparser.h b/apt-pkg/edsp/edsplistparser.h new file mode 100644 index 000000000..ec9f09905 --- /dev/null +++ b/apt-pkg/edsp/edsplistparser.h @@ -0,0 +1,38 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + + EDSP Package List Parser - This implements the abstract parser + interface for the APT specific intermediate format which is passed + to external resolvers + + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_EDSPLISTPARSER_H +#define PKGLIB_EDSPLISTPARSER_H + +#include <apt-pkg/deblistparser.h> +#include <apt-pkg/pkgcachegen.h> +#include <apt-pkg/indexfile.h> +#include <apt-pkg/tagfile.h> + +class edspListParser : public debListParser +{ + public: + virtual bool NewVersion(pkgCache::VerIterator &Ver); + virtual string Description(); + virtual string DescriptionLanguage(); + virtual MD5SumValue Description_md5(); + virtual unsigned short VersionHash(); + + bool LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,FileFd &File, + string section); + + edspListParser(FileFd *File, string const &Arch = ""); + + protected: + virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver); + +}; + +#endif diff --git a/apt-pkg/edsp/edspsystem.cc b/apt-pkg/edsp/edspsystem.cc new file mode 100644 index 000000000..10d75771a --- /dev/null +++ b/apt-pkg/edsp/edspsystem.cc @@ -0,0 +1,127 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + + This system provides the abstraction to use the scenario file as the + only source of package information to be able to feed the created file + back to APT for its own consumption (eat your own dogfood). + + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <config.h> + +#include <apt-pkg/edspsystem.h> +#include <apt-pkg/debversion.h> +#include <apt-pkg/edspindexfile.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> +#include <sys/types.h> +#include <unistd.h> +#include <dirent.h> +#include <errno.h> + +#include <apti18n.h> + /*}}}*/ + +edspSystem edspSys; + +// System::debSystem - Constructor /*{{{*/ +edspSystem::edspSystem() +{ + StatusFile = 0; + + Label = "Debian APT solver interface"; + VS = &debVS; +} + /*}}}*/ +// System::~debSystem - Destructor /*{{{*/ +edspSystem::~edspSystem() +{ + delete StatusFile; +} + /*}}}*/ +// System::Lock - Get the lock /*{{{*/ +bool edspSystem::Lock() +{ + return true; +} + /*}}}*/ +// System::UnLock - Drop a lock /*{{{*/ +bool edspSystem::UnLock(bool NoErrors) +{ + return true; +} + /*}}}*/ +// System::CreatePM - Create the underlying package manager /*{{{*/ +// --------------------------------------------------------------------- +/* we can't use edsp input as input for real installations - just a + simulation can work, but everything else will fail bigtime */ +pkgPackageManager *edspSystem::CreatePM(pkgDepCache *Cache) const +{ + return NULL; +} + /*}}}*/ +// System::Initialize - Setup the configuration space.. /*{{{*/ +bool edspSystem::Initialize(Configuration &Cnf) +{ + Cnf.Set("Dir::State::extended_states", "/dev/null"); + Cnf.Set("Dir::State::status","/dev/null"); + Cnf.Set("Dir::State::lists","/dev/null"); + + Cnf.Set("Debug::NoLocking", "true"); + Cnf.Set("APT::Get::Simulate", "true"); + + if (StatusFile) { + delete StatusFile; + StatusFile = 0; + } + return true; +} + /*}}}*/ +// System::ArchiveSupported - Is a file format supported /*{{{*/ +bool edspSystem::ArchiveSupported(const char *Type) +{ + return false; +} + /*}}}*/ +// System::Score - Determine if we should use the edsp system /*{{{*/ +signed edspSystem::Score(Configuration const &Cnf) +{ + if (Cnf.Find("edsp::scenario", "") == "stdin") + return 1000; + if (FileExists(Cnf.FindFile("edsp::scenario","")) == true) + return 1000; + return -1000; +} + /*}}}*/ +// System::AddStatusFiles - Register the status files /*{{{*/ +bool edspSystem::AddStatusFiles(vector<pkgIndexFile *> &List) +{ + if (StatusFile == 0) + { + if (_config->Find("edsp::scenario", "") == "stdin") + StatusFile = new edspIndex("stdin"); + else + StatusFile = new edspIndex(_config->FindFile("edsp::scenario")); + } + List.push_back(StatusFile); + return true; +} + /*}}}*/ +// System::FindIndex - Get an index file for status files /*{{{*/ +bool edspSystem::FindIndex(pkgCache::PkgFileIterator File, + pkgIndexFile *&Found) const +{ + if (StatusFile == 0) + return false; + if (StatusFile->FindInCache(*File.Cache()) == File) + { + Found = StatusFile; + return true; + } + + return false; +} + /*}}}*/ diff --git a/apt-pkg/edsp/edspsystem.h b/apt-pkg/edsp/edspsystem.h new file mode 100644 index 000000000..ca703fa84 --- /dev/null +++ b/apt-pkg/edsp/edspsystem.h @@ -0,0 +1,41 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: debsystem.h,v 1.4 2003/01/11 07:16:33 jgg Exp $ +/* ###################################################################### + + System - Debian version of the System Class + + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_EDSPSYSTEM_H +#define PKGLIB_EDSPSYSTEM_H + +#include <apt-pkg/pkgsystem.h> + +class edspIndex; +class edspSystem : public pkgSystem +{ + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + edspIndex *StatusFile; + + public: + + virtual bool Lock(); + virtual bool UnLock(bool NoErrors = false); + virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const; + virtual bool Initialize(Configuration &Cnf); + virtual bool ArchiveSupported(const char *Type); + virtual signed Score(Configuration const &Cnf); + virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List); + virtual bool FindIndex(pkgCache::PkgFileIterator File, + pkgIndexFile *&Found) const; + + edspSystem(); + ~edspSystem(); +}; + +extern edspSystem edspSys; + +#endif diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index 064fb007c..4df018ef4 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -10,7 +10,7 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "indexcopy.h" +#include<config.h> #include <apt-pkg/error.h> #include <apt-pkg/progress.h> @@ -21,7 +21,6 @@ #include <apt-pkg/indexrecords.h> #include <apt-pkg/md5.h> #include <apt-pkg/cdrom.h> -#include <apti18n.h> #include <iostream> #include <sstream> @@ -30,6 +29,10 @@ #include <sys/types.h> #include <fcntl.h> #include <stdio.h> +#include <stdlib.h> + +#include "indexcopy.h" +#include <apti18n.h> /*}}}*/ using namespace std; @@ -43,7 +46,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List, pkgCdromStatus *log) { OpProgress *Progress = NULL; - if (List.size() == 0) + if (List.empty() == true) return true; if(log) @@ -53,8 +56,8 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List, bool Debug = _config->FindB("Debug::aptcdrom",false); // Prepare the progress indicator - unsigned long TotalSize = 0; - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + off_t TotalSize = 0; + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) { struct stat Buf; if (stat(string(*I + GetFileName()).c_str(),&Buf) != 0 && @@ -64,14 +67,14 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List, TotalSize += Buf.st_size; } - unsigned long CurrentSize = 0; + off_t CurrentSize = 0; unsigned int NotFound = 0; unsigned int WrongSize = 0; unsigned int Packages = 0; - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) { string OrigPath = string(*I,CDROM.length()); - unsigned long FileSize = 0; + off_t FileSize = 0; // Open the package file FileFd Pkg; @@ -164,7 +167,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List, if(Progress) Progress->Progress(Parser.Offset()); string File; - unsigned long Size; + unsigned long long Size; if (GetFile(File,Size) == false) { fclose(TargetFl); @@ -219,7 +222,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector<string> &List, } // Size match - if ((unsigned)Buf.st_size != Size) + if ((unsigned long long)Buf.st_size != Size) { if (Debug == true) clog << "Wrong Size: " << File << endl; @@ -453,7 +456,7 @@ bool IndexCopy::GrabFirst(string Path,string &To,unsigned int Depth) // PackageCopy::GetFile - Get the file information from the section /*{{{*/ // --------------------------------------------------------------------- /* */ -bool PackageCopy::GetFile(string &File,unsigned long &Size) +bool PackageCopy::GetFile(string &File,unsigned long long &Size) { File = Section->FindS("Filename"); Size = Section->FindI("Size"); @@ -479,7 +482,7 @@ bool PackageCopy::RewriteEntry(FILE *Target,string File) // SourceCopy::GetFile - Get the file information from the section /*{{{*/ // --------------------------------------------------------------------- /* */ -bool SourceCopy::GetFile(string &File,unsigned long &Size) +bool SourceCopy::GetFile(string &File,unsigned long long &Size) { string Files = Section->FindS("Files"); if (Files.empty() == true) @@ -502,7 +505,7 @@ bool SourceCopy::GetFile(string &File,unsigned long &Size) return _error->Error("Error parsing file record"); // Parse the size and append the directory - Size = atoi(sSize.c_str()); + Size = strtoull(sSize.c_str(), NULL, 10); File = Base + File; return true; } @@ -583,13 +586,13 @@ bool SigVerify::CopyMetaIndex(string CDROM, string CDName, /*{{{*/ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList, /*{{{*/ vector<string> PkgList,vector<string> SrcList) { - if (SigList.size() == 0) + if (SigList.empty() == true) return true; bool Debug = _config->FindB("Debug::aptcdrom",false); // Read all Release files - for (vector<string>::iterator I = SigList.begin(); I != SigList.end(); I++) + for (vector<string>::iterator I = SigList.begin(); I != SigList.end(); ++I) { if(Debug) cout << "Signature verify for: " << *I << endl; @@ -633,7 +636,7 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList, // go over the Indexfiles and see if they verify // if so, remove them from our copy of the lists vector<string> keys = MetaIndex->MetaKeys(); - for (vector<string>::iterator I = keys.begin(); I != keys.end(); I++) + for (vector<string>::iterator I = keys.begin(); I != keys.end(); ++I) { if(!Verify(prefix,*I, MetaIndex)) { // something went wrong, don't copy the Release.gpg @@ -664,6 +667,21 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList, bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG, int const &statusfd, int fd[2]) { + if (File == FileGPG) + { + #define SIGMSG "-----BEGIN PGP SIGNED MESSAGE-----\n" + char buffer[sizeof(SIGMSG)]; + FILE* gpg = fopen(File.c_str(), "r"); + if (gpg == NULL) + return _error->Errno("RunGPGV", _("Could not open file %s"), File.c_str()); + char const * const test = fgets(buffer, sizeof(buffer), gpg); + fclose(gpg); + if (test == NULL || strcmp(buffer, SIGMSG) != 0) + return _error->Error(_("File %s doesn't start with a clearsigned message"), File.c_str()); + #undef SIGMSG + } + + string const gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv"); // FIXME: remove support for deprecated APT::GPGV setting string const trustedFile = _config->Find("APT::GPGV::TrustedKeyring", _config->FindFile("Dir::Etc::Trusted")); @@ -688,7 +706,11 @@ bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG, Args.reserve(30); if (keyrings.empty() == true) - return false; + { + // TRANSLATOR: %s is the trusted keyring parts directory + return _error->Error(_("No keyring installed in %s."), + _config->FindDir("Dir::Etc::TrustedParts").c_str()); + } Args.push_back(gpgvpath.c_str()); Args.push_back("--ignore-time-conflict"); @@ -757,7 +779,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ vector<string> &List, pkgCdromStatus *log) { OpProgress *Progress = NULL; - if (List.size() == 0) + if (List.empty() == true) return true; if(log) @@ -766,8 +788,8 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ bool Debug = _config->FindB("Debug::aptcdrom",false); // Prepare the progress indicator - unsigned long TotalSize = 0; - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + off_t TotalSize = 0; + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) { struct stat Buf; if (stat(string(*I).c_str(),&Buf) != 0 && @@ -777,14 +799,14 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ TotalSize += Buf.st_size; } - unsigned long CurrentSize = 0; + off_t CurrentSize = 0; unsigned int NotFound = 0; unsigned int WrongSize = 0; unsigned int Packages = 0; - for (vector<string>::iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::iterator I = List.begin(); I != List.end(); ++I) { string OrigPath = string(*I,CDROM.length()); - unsigned long FileSize = 0; + off_t FileSize = 0; // Open the package file FileFd Pkg; @@ -866,7 +888,6 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ this->Section = &Section; string Prefix; unsigned long Hits = 0; - unsigned long Chop = 0; while (Parser.Step(Section) == true) { if(Progress) @@ -884,7 +905,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ fclose(TargetFl); if (Debug == true) - cout << " Processed by using Prefix '" << Prefix << "' and chop " << Chop << endl; + cout << " Processed by using Prefix '" << Prefix << "' and chop " << endl; if (_config->FindB("APT::CDROM::NoAct",false) == false) { diff --git a/apt-pkg/indexcopy.h b/apt-pkg/indexcopy.h index 6fcd3b8ce..60c90dd4a 100644 --- a/apt-pkg/indexcopy.h +++ b/apt-pkg/indexcopy.h @@ -24,6 +24,9 @@ class pkgCdromStatus; class IndexCopy /*{{{*/ { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: pkgTagSection *Section; @@ -34,7 +37,7 @@ class IndexCopy /*{{{*/ bool ReconstructChop(unsigned long &Chop,string Dir,string File); void ConvertToSourceList(string CD,string &Path); bool GrabFirst(string Path,string &To,unsigned int Depth); - virtual bool GetFile(string &Filename,unsigned long &Size) = 0; + virtual bool GetFile(string &Filename,unsigned long long &Size) = 0; virtual bool RewriteEntry(FILE *Target,string File) = 0; virtual const char *GetFileName() = 0; virtual const char *Type() = 0; @@ -50,24 +53,22 @@ class PackageCopy : public IndexCopy /*{{{*/ { protected: - virtual bool GetFile(string &Filename,unsigned long &Size); + virtual bool GetFile(string &Filename,unsigned long long &Size); virtual bool RewriteEntry(FILE *Target,string File); virtual const char *GetFileName() {return "Packages";}; virtual const char *Type() {return "Package";}; - public: }; /*}}}*/ class SourceCopy : public IndexCopy /*{{{*/ { protected: - virtual bool GetFile(string &Filename,unsigned long &Size); + virtual bool GetFile(string &Filename,unsigned long long &Size); virtual bool RewriteEntry(FILE *Target,string File); virtual const char *GetFileName() {return "Sources";}; virtual const char *Type() {return "Source";}; - public: }; /*}}}*/ class TranslationsCopy /*{{{*/ @@ -82,6 +83,9 @@ class TranslationsCopy /*{{{*/ /*}}}*/ class SigVerify /*{{{*/ { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + bool Verify(string prefix,string file, indexRecords *records); bool CopyMetaIndex(string CDROM, string CDName, string prefix, string file); diff --git a/apt-pkg/indexfile.cc b/apt-pkg/indexfile.cc index 37be87055..68e9df4c8 100644 --- a/apt-pkg/indexfile.cc +++ b/apt-pkg/indexfile.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/indexfile.h> #include <apt-pkg/error.h> #include <apt-pkg/aptconfiguration.h> @@ -27,7 +29,8 @@ unsigned long pkgIndexFile::Type::GlobalListLen = 0; pkgIndexFile::Type::Type() { ItmList[GlobalListLen] = this; - GlobalListLen++; + GlobalListLen++; + Label = NULL; } /*}}}*/ // Type::GetType - Locate the type by name /*{{{*/ diff --git a/apt-pkg/indexrecords.cc b/apt-pkg/indexrecords.cc index 10e154ad2..448a76c27 100644 --- a/apt-pkg/indexrecords.cc +++ b/apt-pkg/indexrecords.cc @@ -3,15 +3,17 @@ // $Id: indexrecords.cc,v 1.1.2.4 2003/12/30 02:11:43 mdz Exp $ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/indexrecords.h> #include <apt-pkg/tagfile.h> #include <apt-pkg/error.h> #include <apt-pkg/strutl.h> #include <apt-pkg/configuration.h> -#include <apti18n.h> #include <sys/stat.h> #include <clocale> +#include <apti18n.h> /*}}}*/ string indexRecords::GetDist() const { @@ -78,7 +80,7 @@ bool indexRecords::Load(const string Filename) /*{{{*/ string Name; string Hash; - size_t Size; + unsigned long long Size; while (Start < End) { if (!parseSumData(Start, End, Name, Hash, Size)) @@ -113,10 +115,14 @@ bool indexRecords::Load(const string Filename) /*{{{*/ } // get the user settings for this archive and use what expires earlier int MaxAge = _config->FindI("Acquire::Max-ValidTime", 0); - if (Label.empty() == true) + if (Label.empty() == false) MaxAge = _config->FindI(string("Acquire::Max-ValidTime::" + Label).c_str(), MaxAge); + int MinAge = _config->FindI("Acquire::Min-ValidTime", 0); + if (Label.empty() == false) + MinAge = _config->FindI(string("Acquire::Min-ValidTime::" + Label).c_str(), MinAge); - if(MaxAge == 0) // No user settings, use the one from the Release file + if(MaxAge == 0 && + (MinAge == 0 || ValidUntil == 0)) // No user settings, use the one from the Release file return true; time_t date; @@ -125,10 +131,17 @@ bool indexRecords::Load(const string Filename) /*{{{*/ strprintf(ErrorText, _("Invalid 'Date' entry in Release file %s"), Filename.c_str()); return false; } - date += 24*60*60*MaxAge; - if (ValidUntil == 0 || ValidUntil > date) - ValidUntil = date; + if (MinAge != 0 && ValidUntil != 0) { + time_t const min_date = date + MinAge; + if (ValidUntil < min_date) + ValidUntil = min_date; + } + if (MaxAge != 0) { + time_t const max_date = date + MaxAge; + if (ValidUntil == 0 || ValidUntil > max_date) + ValidUntil = max_date; + } return true; } @@ -145,7 +158,7 @@ vector<string> indexRecords::MetaKeys() /*{{{*/ } /*}}}*/ bool indexRecords::parseSumData(const char *&Start, const char *End, /*{{{*/ - string &Name, string &Hash, size_t &Size) + string &Name, string &Hash, unsigned long long &Size) { Name = ""; Hash = ""; @@ -182,7 +195,7 @@ bool indexRecords::parseSumData(const char *&Start, const char *End, /*{{{*/ if (EntryEnd == End) return false; - Size = strtol (Start, NULL, 10); + Size = strtoull (Start, NULL, 10); /* Skip over intermediate blanks */ Start = EntryEnd; diff --git a/apt-pkg/indexrecords.h b/apt-pkg/indexrecords.h index 5b532c1a5..0f933b93c 100644 --- a/apt-pkg/indexrecords.h +++ b/apt-pkg/indexrecords.h @@ -17,7 +17,7 @@ class indexRecords { bool parseSumData(const char *&Start, const char *End, string &Name, - string &Hash, size_t &Size); + string &Hash, unsigned long long &Size); public: struct checkSum; string ErrorText; @@ -53,7 +53,7 @@ struct indexRecords::checkSum { string MetaKeyFilename; HashString Hash; - size_t Size; + unsigned long long Size; }; #endif diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc index 31b2d9ccd..97a39e96e 100644 --- a/apt-pkg/init.cc +++ b/apt-pkg/init.cc @@ -8,14 +8,16 @@ ##################################################################### */ /*}}}*/ // Include files /*{{{*/ +#include<config.h> + #include <apt-pkg/init.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/error.h> -#include <apti18n.h> -#include <config.h> #include <cstdlib> #include <sys/stat.h> + +#include <apti18n.h> /*}}}*/ #define Stringfy_(x) # x @@ -33,60 +35,65 @@ const char *pkgLibVersion = Stringfy(APT_PKG_MAJOR) "." bool pkgInitConfig(Configuration &Cnf) { // General APT things - Cnf.Set("APT::Architecture", COMMON_ARCH); - Cnf.Set("APT::Build-Essential::", "build-essential"); - Cnf.Set("APT::Install-Recommends", true); - Cnf.Set("APT::Install-Suggests", false); - Cnf.Set("Dir","/"); + Cnf.CndSet("APT::Architecture", COMMON_ARCH); + if (Cnf.Exists("APT::Build-Essential") == false) + Cnf.Set("APT::Build-Essential::", "build-essential"); + Cnf.CndSet("APT::Install-Recommends", true); + Cnf.CndSet("APT::Install-Suggests", false); + Cnf.CndSet("Dir","/"); // State - Cnf.Set("Dir::State","var/lib/apt/"); + Cnf.CndSet("Dir::State","var/lib/apt/"); /* Just in case something goes horribly wrong, we can fall back to the old /var/state paths.. */ struct stat St; if (stat("/var/lib/apt/.",&St) != 0 && stat("/var/state/apt/.",&St) == 0) - Cnf.Set("Dir::State","var/state/apt/"); + Cnf.CndSet("Dir::State","var/state/apt/"); - Cnf.Set("Dir::State::lists","lists/"); - Cnf.Set("Dir::State::cdroms","cdroms.list"); - Cnf.Set("Dir::State::mirrors","mirrors/"); + Cnf.CndSet("Dir::State::lists","lists/"); + Cnf.CndSet("Dir::State::cdroms","cdroms.list"); + Cnf.CndSet("Dir::State::mirrors","mirrors/"); // Cache - Cnf.Set("Dir::Cache","var/cache/apt/"); - Cnf.Set("Dir::Cache::archives","archives/"); - Cnf.Set("Dir::Cache::srcpkgcache","srcpkgcache.bin"); - Cnf.Set("Dir::Cache::pkgcache","pkgcache.bin"); + Cnf.CndSet("Dir::Cache","var/cache/apt/"); + Cnf.CndSet("Dir::Cache::archives","archives/"); + Cnf.CndSet("Dir::Cache::srcpkgcache","srcpkgcache.bin"); + Cnf.CndSet("Dir::Cache::pkgcache","pkgcache.bin"); // Configuration - Cnf.Set("Dir::Etc","etc/apt/"); - Cnf.Set("Dir::Etc::sourcelist","sources.list"); - Cnf.Set("Dir::Etc::sourceparts","sources.list.d"); - Cnf.Set("Dir::Etc::vendorlist","vendors.list"); - Cnf.Set("Dir::Etc::vendorparts","vendors.list.d"); - Cnf.Set("Dir::Etc::main","apt.conf"); - Cnf.Set("Dir::Etc::netrc", "auth.conf"); - Cnf.Set("Dir::Etc::parts","apt.conf.d"); - Cnf.Set("Dir::Etc::preferences","preferences"); - Cnf.Set("Dir::Etc::preferencesparts","preferences.d"); - Cnf.Set("Dir::Etc::trusted", "trusted.gpg"); - Cnf.Set("Dir::Etc::trustedparts","trusted.gpg.d"); - Cnf.Set("Dir::Bin::methods","/usr/lib/apt/methods"); - Cnf.Set("Dir::Media::MountPath","/media/apt"); + Cnf.CndSet("Dir::Etc","etc/apt/"); + Cnf.CndSet("Dir::Etc::sourcelist","sources.list"); + Cnf.CndSet("Dir::Etc::sourceparts","sources.list.d"); + Cnf.CndSet("Dir::Etc::vendorlist","vendors.list"); + Cnf.CndSet("Dir::Etc::vendorparts","vendors.list.d"); + Cnf.CndSet("Dir::Etc::main","apt.conf"); + Cnf.CndSet("Dir::Etc::netrc", "auth.conf"); + Cnf.CndSet("Dir::Etc::parts","apt.conf.d"); + Cnf.CndSet("Dir::Etc::preferences","preferences"); + Cnf.CndSet("Dir::Etc::preferencesparts","preferences.d"); + Cnf.CndSet("Dir::Etc::trusted", "trusted.gpg"); + Cnf.CndSet("Dir::Etc::trustedparts","trusted.gpg.d"); + Cnf.CndSet("Dir::Bin::methods","/usr/lib/apt/methods"); + Cnf.CndSet("Dir::Bin::solvers::","/usr/lib/apt/solvers"); + Cnf.CndSet("Dir::Media::MountPath","/media/apt"); // State - Cnf.Set("Dir::Log","var/log/apt"); - Cnf.Set("Dir::Log::Terminal","term.log"); - Cnf.Set("Dir::Log::History","history.log"); + Cnf.CndSet("Dir::Log","var/log/apt"); + Cnf.CndSet("Dir::Log::Terminal","term.log"); + Cnf.CndSet("Dir::Log::History","history.log"); - Cnf.Set("Dir::Ignore-Files-Silently::", "~$"); - Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$"); - Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$"); - Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$"); + if (Cnf.Exists("Dir::Ignore-Files-Silently") == false) + { + Cnf.Set("Dir::Ignore-Files-Silently::", "~$"); + Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$"); + Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$"); + Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$"); + } // Default cdrom mount point - Cnf.Set("Acquire::cdrom::mount", "/media/cdrom/"); + Cnf.CndSet("Acquire::cdrom::mount", "/media/cdrom/"); bool Res = true; diff --git a/apt-pkg/init.h b/apt-pkg/init.h index 15a1165b9..4cee1001a 100644 --- a/apt-pkg/init.h +++ b/apt-pkg/init.h @@ -22,8 +22,8 @@ // Non-ABI-Breaks should only increase RELEASE number. // See also buildlib/libversion.mak #define APT_PKG_MAJOR 4 -#define APT_PKG_MINOR 10 -#define APT_PKG_RELEASE 1 +#define APT_PKG_MINOR 12 +#define APT_PKG_RELEASE 0 extern const char *pkgVersion; extern const char *pkgLibVersion; diff --git a/apt-pkg/makefile b/apt-pkg/makefile index 4e5ec107f..e1f69dd65 100644 --- a/apt-pkg/makefile +++ b/apt-pkg/makefile @@ -3,7 +3,7 @@ BASE=.. SUBDIR=apt-pkg # Header location -SUBDIRS = deb contrib +SUBDIRS = deb edsp contrib HEADER_TARGETDIRS = apt-pkg # Bring in the default rules @@ -20,11 +20,15 @@ APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR) # Source code for the contributed non-core things SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \ contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \ - contrib/md5.cc contrib/sha1.cc contrib/sha256.cc contrib/hashes.cc \ + contrib/hashsum.cc contrib/md5.cc contrib/sha1.cc \ + contrib/sha2_internal.cc\ + contrib/hashes.cc \ contrib/cdromutl.cc contrib/crc-16.cc contrib/netrc.cc \ contrib/fileutl.cc HEADERS = mmap.h error.h configuration.h fileutl.h cmndline.h netrc.h\ - md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha256.h hashes.h \ + md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha2.h sha256.h\ + sha2_internal.h \ + hashes.h hashsum_template.h\ macros.h weakptr.h # Source code for the core main library @@ -35,7 +39,7 @@ SOURCE+= pkgcache.cc version.cc depcache.cc \ srcrecords.cc cachefile.cc versionmatch.cc policy.cc \ pkgsystem.cc indexfile.cc pkgcachegen.cc acquire-item.cc \ indexrecords.cc vendor.cc vendorlist.cc cdrom.cc indexcopy.cc \ - aptconfiguration.cc cachefilter.cc cacheset.cc + aptconfiguration.cc cachefilter.cc cacheset.cc edsp.cc HEADERS+= algorithms.h depcache.h pkgcachegen.h cacheiterators.h \ orderlist.h sourcelist.h packagemanager.h tagfile.h \ init.h pkgcache.h version.h progress.h pkgrecords.h \ @@ -43,7 +47,7 @@ HEADERS+= algorithms.h depcache.h pkgcachegen.h cacheiterators.h \ clean.h srcrecords.h cachefile.h versionmatch.h policy.h \ pkgsystem.h indexfile.h metaindex.h indexrecords.h vendor.h \ vendorlist.h cdrom.h indexcopy.h aptconfiguration.h \ - cachefilter.h cacheset.h + cachefilter.h cacheset.h edsp.h # Source code for the debian specific components # In theory the deb headers do not need to be exported.. @@ -53,6 +57,10 @@ SOURCE+= deb/deblistparser.cc deb/debrecords.cc deb/dpkgpm.cc \ HEADERS+= debversion.h debsrcrecords.h dpkgpm.h debrecords.h \ deblistparser.h debsystem.h debindexfile.h debmetaindex.h +# Source code for the APT resolver interface specific components +SOURCE+= edsp/edsplistparser.cc edsp/edspindexfile.cc edsp/edspsystem.cc +HEADERS+= edsplistparser.h edspindexfile.h edspsystem.h + HEADERS := $(addprefix apt-pkg/,$(HEADERS)) include $(LIBRARY_H) diff --git a/apt-pkg/metaindex.h b/apt-pkg/metaindex.h index 1d2140799..f60235a5d 100644 --- a/apt-pkg/metaindex.h +++ b/apt-pkg/metaindex.h @@ -39,6 +39,10 @@ class metaIndex virtual vector<pkgIndexFile *> *GetIndexFiles() = 0; virtual bool IsTrusted() const = 0; + metaIndex(string const &URI, string const &Dist, char const * const Type) : + Indexes(NULL), Type(Type), URI(URI), Dist(Dist) { + } + virtual ~metaIndex() { if (Indexes == 0) return; diff --git a/apt-pkg/orderlist.cc b/apt-pkg/orderlist.cc index 1e412ead5..0ac9a83e3 100644 --- a/apt-pkg/orderlist.cc +++ b/apt-pkg/orderlist.cc @@ -63,6 +63,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/orderlist.h> #include <apt-pkg/depcache.h> #include <apt-pkg/error.h> @@ -145,14 +147,14 @@ bool pkgOrderList::DoRun() Depth = 0; WipeFlags(Added | AddPending | Loop | InList); - for (iterator I = List; I != End; I++) + for (iterator I = List; I != End; ++I) Flag(*I,InList); // Rebuild the main list into the temp list. iterator OldEnd = End; End = NList; - for (iterator I = List; I != OldEnd; I++) - if (VisitNode(PkgIterator(Cache,*I)) == false) + for (iterator I = List; I != OldEnd; ++I) + if (VisitNode(PkgIterator(Cache,*I), "DoRun") == false) { End = OldEnd; return false; @@ -197,7 +199,7 @@ bool pkgOrderList::OrderCritical() { clog << "** Critical Unpack ordering done" << endl; - for (iterator I = List; I != End; I++) + for (iterator I = List; I != End; ++I) { PkgIterator P(Cache,*I); if (IsNow(P) == true) @@ -222,7 +224,7 @@ bool pkgOrderList::OrderUnpack(string *FileList) WipeFlags(After); // Set the inlist flag - for (iterator I = List; I != End; I++) + for (iterator I = List; I != End; ++I) { PkgIterator P(Cache,*I); if (IsMissing(P) == true && IsNow(P) == true) @@ -270,7 +272,7 @@ bool pkgOrderList::OrderUnpack(string *FileList) { clog << "** Unpack ordering done" << endl; - for (iterator I = List; I != End; I++) + for (iterator I = List; I != End; ++I) { PkgIterator P(Cache,*I); if (IsNow(P) == true) @@ -323,7 +325,7 @@ int pkgOrderList::Score(PkgIterator Pkg) Score += ScoreImmediate; for (DepIterator D = Cache[Pkg].InstVerIter(Cache).DependsList(); - D.end() == false; D++) + D.end() == false; ++D) if (D->Type == pkgCache::Dep::PreDepends) { Score += ScorePreDepends; @@ -488,40 +490,76 @@ bool pkgOrderList::VisitRProvides(DepFunc F,VerIterator Ver) return true; bool Res = true; - for (PrvIterator P = Ver.ProvidesList(); P.end() == false; P++) + for (PrvIterator P = Ver.ProvidesList(); P.end() == false; ++P) Res &= (this->*F)(P.ParentPkg().RevDependsList()); return Res; } /*}}}*/ // OrderList::VisitProvides - Visit all of the providing packages /*{{{*/ // --------------------------------------------------------------------- -/* This routine calls visit on all providing packages. */ +/* This routine calls visit on all providing packages. + + If the dependency is negative it first visits packages which are + intended to be removed and after that all other packages. + It does so to avoid situations in which this package is used to + satisfy a (or-group/provides) dependency of another package which + could have been satisfied also by upgrading another package - + otherwise we have more broken packages dpkg needs to auto- + deconfigure and in very complicated situations it even decides + against it! */ bool pkgOrderList::VisitProvides(DepIterator D,bool Critical) -{ +{ SPtrArray<Version *> List = D.AllTargets(); - for (Version **I = List; *I != 0; I++) + for (Version **I = List; *I != 0; ++I) { VerIterator Ver(Cache,*I); PkgIterator Pkg = Ver.ParentPkg(); + if (D.IsNegative() == true && Cache[Pkg].Delete() == false) + continue; + if (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing) continue; - + if (D.IsNegative() == false && Cache[Pkg].InstallVer != *I) continue; - + if (D.IsNegative() == true && (Version *)Pkg.CurrentVer() != *I) continue; - + // Skip over missing files if (Critical == false && IsMissing(D.ParentPkg()) == true) continue; - if (VisitNode(Pkg) == false) + if (VisitNode(Pkg, "Provides-1") == false) return false; } + if (D.IsNegative() == false) + return true; + for (Version **I = List; *I != 0; ++I) + { + VerIterator Ver(Cache,*I); + PkgIterator Pkg = Ver.ParentPkg(); + + if (Cache[Pkg].Delete() == true) + continue; + + if (Cache[Pkg].Keep() == true && Pkg.State() == PkgIterator::NeedsNothing) + continue; + + if ((Version *)Pkg.CurrentVer() != *I) + continue; + + // Skip over missing files + if (Critical == false && IsMissing(D.ParentPkg()) == true) + continue; + + if (VisitNode(Pkg, "Provides-2") == false) + return false; + } + return true; } /*}}}*/ @@ -530,7 +568,7 @@ bool pkgOrderList::VisitProvides(DepIterator D,bool Critical) /* This is the core ordering routine. It calls the set dependency consideration functions which then potentialy call this again. Finite depth is achived through the colouring mechinism. */ -bool pkgOrderList::VisitNode(PkgIterator Pkg) +bool pkgOrderList::VisitNode(PkgIterator Pkg, char const* from) { // Looping or irrelevent. // This should probably trancend not installed packages @@ -541,7 +579,7 @@ bool pkgOrderList::VisitNode(PkgIterator Pkg) if (Debug == true) { for (int j = 0; j != Depth; j++) clog << ' '; - clog << "Visit " << Pkg.FullName() << endl; + clog << "Visit " << Pkg.FullName() << " from " << from << endl; } Depth++; @@ -615,7 +653,7 @@ bool pkgOrderList::VisitNode(PkgIterator Pkg) Loops are preprocessed and logged. */ bool pkgOrderList::DepUnPackCrit(DepIterator D) { - for (; D.end() == false; D++) + for (; D.end() == false; ++D) { if (D.Reverse() == true) { @@ -636,7 +674,7 @@ bool pkgOrderList::DepUnPackCrit(DepIterator D) if (CheckDep(D) == true) continue; - if (VisitNode(D.ParentPkg()) == false) + if (VisitNode(D.ParentPkg(), "UnPackCrit") == false) return false; } else @@ -693,7 +731,7 @@ bool pkgOrderList::DepUnPackPreD(DepIterator D) if (D.Reverse() == true) return DepUnPackCrit(D); - for (; D.end() == false; D++) + for (; D.end() == false; ++D) { if (D.IsCritical() == false) continue; @@ -736,7 +774,7 @@ bool pkgOrderList::DepUnPackPre(DepIterator D) if (D.Reverse() == true) return true; - for (; D.end() == false; D++) + for (; D.end() == false; ++D) { /* Only consider the PreDepends or Depends. Depends are only considered at the lowest depth or in the case of immediate @@ -791,7 +829,7 @@ bool pkgOrderList::DepUnPackPre(DepIterator D) bool pkgOrderList::DepUnPackDep(DepIterator D) { - for (; D.end() == false; D++) + for (; D.end() == false; ++D) if (D.IsCritical() == true) { if (D.Reverse() == true) @@ -811,7 +849,7 @@ bool pkgOrderList::DepUnPackDep(DepIterator D) if (IsMissing(D.ParentPkg()) == true) continue; - if (VisitNode(D.ParentPkg()) == false) + if (VisitNode(D.ParentPkg(), "UnPackDep-Parent") == false) return false; } else @@ -825,7 +863,7 @@ bool pkgOrderList::DepUnPackDep(DepIterator D) if (CheckDep(D) == true) continue; - if (VisitNode(D.TargetPkg()) == false) + if (VisitNode(D.TargetPkg(), "UnPackDep-Target") == false) return false; } } @@ -846,7 +884,7 @@ bool pkgOrderList::DepConfigure(DepIterator D) if (D.Reverse() == true) return true; - for (; D.end() == false; D++) + for (; D.end() == false; ++D) if (D->Type == pkgCache::Dep::Depends) if (VisitProvides(D,false) == false) return false; @@ -868,7 +906,7 @@ bool pkgOrderList::DepRemove(DepIterator D) { if (D.Reverse() == false) return true; - for (; D.end() == false; D++) + for (; D.end() == false; ++D) if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends) { // Duplication elimination, consider the current version only @@ -924,7 +962,7 @@ bool pkgOrderList::DepRemove(DepIterator D) if (IsFlag(P, InList) == true && IsFlag(P, AddPending) == false && Cache[P].InstallVer != 0 && - VisitNode(P) == true) + VisitNode(P, "Remove-P") == true) { Flag(P, Immediate); tryFixDeps = false; @@ -960,7 +998,7 @@ bool pkgOrderList::DepRemove(DepIterator D) if (IsFlag(F.TargetPkg(), InList) == true && IsFlag(F.TargetPkg(), AddPending) == false && Cache[F.TargetPkg()].InstallVer != 0 && - VisitNode(F.TargetPkg()) == true) + VisitNode(F.TargetPkg(), "Remove-Target") == true) { Flag(F.TargetPkg(), Immediate); tryFixDeps = false; @@ -974,7 +1012,7 @@ bool pkgOrderList::DepRemove(DepIterator D) if (IsFlag(Prv.OwnerPkg(), InList) == true && IsFlag(Prv.OwnerPkg(), AddPending) == false && Cache[Prv.OwnerPkg()].InstallVer != 0 && - VisitNode(Prv.OwnerPkg()) == true) + VisitNode(Prv.OwnerPkg(), "Remove-Owner") == true) { Flag(Prv.OwnerPkg(), Immediate); tryFixDeps = false; @@ -994,7 +1032,7 @@ bool pkgOrderList::DepRemove(DepIterator D) if (IsMissing(D.ParentPkg()) == true) continue; - if (VisitNode(D.ParentPkg()) == false) + if (VisitNode(D.ParentPkg(), "Remove-Parent") == false) return false; } diff --git a/apt-pkg/orderlist.h b/apt-pkg/orderlist.h index 4e5ea1654..9588d30a5 100644 --- a/apt-pkg/orderlist.h +++ b/apt-pkg/orderlist.h @@ -18,6 +18,7 @@ #include <apt-pkg/pkgcache.h> +#include <apt-pkg/macros.h> class pkgDepCache; class pkgOrderList : protected pkgCache::Namespace @@ -45,7 +46,8 @@ class pkgOrderList : protected pkgCache::Namespace bool Debug; // Main visit function - bool VisitNode(PkgIterator Pkg); + __deprecated bool VisitNode(PkgIterator Pkg) { return VisitNode(Pkg, "UNKNOWN"); }; + bool VisitNode(PkgIterator Pkg, char const* from); bool VisitDeps(DepFunc F,PkgIterator Pkg); bool VisitRDeps(DepFunc F,PkgIterator Pkg); bool VisitRProvides(DepFunc F,VerIterator Ver); diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index b5d353602..3cd9f6f00 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -13,6 +13,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/packagemanager.h> #include <apt-pkg/orderlist.h> #include <apt-pkg/depcache.h> @@ -22,10 +24,10 @@ #include <apt-pkg/algorithms.h> #include <apt-pkg/configuration.h> #include <apt-pkg/sptr.h> - -#include <apti18n.h> + +#include <apti18n.h> #include <iostream> -#include <fcntl.h> +#include <fcntl.h> /*}}}*/ using namespace std; @@ -65,7 +67,7 @@ bool pkgPackageManager::GetArchives(pkgAcquire *Owner,pkgSourceList *Sources, if (ordering == false) return _error->Error("Internal ordering error"); - for (pkgOrderList::iterator I = List->begin(); I != List->end(); I++) + for (pkgOrderList::iterator I = List->begin(); I != List->end(); ++I) { PkgIterator Pkg(Cache,*I); FileNames[Pkg->ID] = string(); @@ -101,7 +103,7 @@ bool pkgPackageManager::FixMissing() List->SetFileList(FileNames); bool Bad = false; - for (PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { if (List->IsMissing(I) == false) continue; @@ -142,7 +144,7 @@ void pkgPackageManager::ImmediateAdd(PkgIterator I, bool UseInstallVer, unsigned D = I.CurrentVer().DependsList(); } - for ( /* nothing */ ; D.end() == false; D++) + for ( /* nothing */ ; D.end() == false; ++D) if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends) { if(!List->IsFlag(D.TargetPkg(), pkgOrderList::Immediate)) @@ -175,7 +177,7 @@ bool pkgPackageManager::CreateOrderList() clog << "CreateOrderList(): Adding Immediate flag for all packages because of APT::Immediate-Configure-All" << endl; // Generate the list of affected packages and sort it - for (PkgIterator I = Cache.PkgBegin(); I.end() == false; I++) + for (PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { // Ignore no-version packages if (I->VersionList == 0) @@ -237,7 +239,7 @@ bool pkgPackageManager::DepAlwaysTrue(DepIterator D) bool pkgPackageManager::CheckRConflicts(PkgIterator Pkg,DepIterator D, const char *Ver) { - for (;D.end() == false; D++) + for (;D.end() == false; ++D) { if (D->Type != pkgCache::Dep::Conflicts && D->Type != pkgCache::Dep::Obsoletes) @@ -271,7 +273,7 @@ bool pkgPackageManager::ConfigureAll() pkgOrderList OList(&Cache); // Populate the order list - for (pkgOrderList::iterator I = List->begin(); I != List->end(); I++) + for (pkgOrderList::iterator I = List->begin(); I != List->end(); ++I) if (List->IsFlag(pkgCache::PkgIterator(Cache,*I), pkgOrderList::UnPacked) == true) OList.push_back(*I); @@ -283,7 +285,7 @@ bool pkgPackageManager::ConfigureAll() bool const ConfigurePkgs = (conf == "all"); // Perform the configuring - for (pkgOrderList::iterator I = OList.begin(); I != OList.end(); I++) + for (pkgOrderList::iterator I = OList.begin(); I != OList.end(); ++I) { PkgIterator Pkg(Cache,*I); @@ -441,10 +443,10 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg, int const Depth) if (ConfigurePkgs == true && Configure(Pkg) == false) return false; - + List->Flag(Pkg,pkgOrderList::Configured,pkgOrderList::States); - if (Cache[Pkg].InstVerIter(Cache)->MultiArch == pkgCache::Version::Same) + if ((Cache[Pkg].InstVerIter(Cache)->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same) for (PkgIterator P = Pkg.Group().PackageList(); P.end() == false; P = Pkg.Group().NextPkg(P)) { @@ -488,7 +490,7 @@ bool pkgPackageManager::EarlyRemove(PkgIterator Pkg) if (Pkg->CurrentVer != 0) { for (DepIterator D = Pkg.RevDependsList(); D.end() == false && - IsEssential == false; D++) + IsEssential == false; ++D) if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends) if ((D.ParentPkg()->Flags & pkgCache::Flag::Essential) != 0) IsEssential = true; @@ -627,7 +629,7 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c return _error->Error("Couldn't configure pre-depend %s for %s, " "probably a dependency cycle.", End.TargetPkg().Name(),Pkg.Name()); - Start++; + ++Start; } else break; @@ -725,25 +727,48 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c return false; for (PrvIterator P = instVer.ProvidesList(); - P.end() == false; P++) - CheckRConflicts(Pkg,P.ParentPkg().RevDependsList(),P.ProvideVersion()); + P.end() == false; ++P) + if (Pkg->Group != P.OwnerPkg()->Group) + CheckRConflicts(Pkg,P.ParentPkg().RevDependsList(),P.ProvideVersion()); - if (PkgLoop) return true; + if (PkgLoop) + return true; List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States); - if (instVer->MultiArch == pkgCache::Version::Same) + if (Immediate == true && instVer->MultiArch == pkgCache::Version::Same) + { + /* Do lockstep M-A:same unpacking in two phases: + First unpack all installed architectures, then the not installed. + This way we avoid that M-A: enabled packages are installed before + their older non-M-A enabled packages are replaced by newer versions */ + bool const installed = Pkg->CurrentVer != 0; + if (installed == true && Install(Pkg,FileNames[Pkg->ID]) == false) + return false; + for (PkgIterator P = Pkg.Group().PackageList(); + P.end() == false; P = Pkg.Group().NextPkg(P)) + { + if (P->CurrentVer == 0 || P == Pkg || List->IsFlag(P,pkgOrderList::UnPacked) == true || + Cache[P].InstallVer == 0 || (P.CurrentVer() == Cache[P].InstallVer && + (Cache[Pkg].iFlags & pkgDepCache::ReInstall) != pkgDepCache::ReInstall)) + continue; + if (SmartUnPack(P, false, Depth + 1) == false) + return false; + } + if (installed == false && Install(Pkg,FileNames[Pkg->ID]) == false) + return false; for (PkgIterator P = Pkg.Group().PackageList(); - P.end() == false; P = Pkg.Group().NextPkg(P)) + P.end() == false; P = Pkg.Group().NextPkg(P)) { - if (Pkg == P || List->IsFlag(P,pkgOrderList::UnPacked) == true || - Cache[P].InstallVer == 0 || (P.CurrentVer() == Cache[P].InstallVer && - (Cache[Pkg].iFlags & pkgDepCache::ReInstall) != pkgDepCache::ReInstall)) - continue; - SmartUnPack(P, false, Depth + 1); + if (P->CurrentVer != 0 || P == Pkg || List->IsFlag(P,pkgOrderList::UnPacked) == true || + Cache[P].InstallVer == 0 || (P.CurrentVer() == Cache[P].InstallVer && + (Cache[Pkg].iFlags & pkgDepCache::ReInstall) != pkgDepCache::ReInstall)) + continue; + if (SmartUnPack(P, false, Depth + 1) == false) + return false; } - - if(Install(Pkg,FileNames[Pkg->ID]) == false) + } + else if (Install(Pkg,FileNames[Pkg->ID]) == false) return false; if (Immediate == true) { @@ -782,7 +807,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall() clog << "Done ordering" << endl; bool DoneSomething = false; - for (pkgOrderList::iterator I = List->begin(); I != List->end(); I++) + for (pkgOrderList::iterator I = List->begin(); I != List->end(); ++I) { PkgIterator Pkg(Cache,*I); @@ -845,7 +870,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall() return Failed; // Sanity check - for (pkgOrderList::iterator I = List->begin(); I != List->end(); I++) + for (pkgOrderList::iterator I = List->begin(); I != List->end(); ++I) { if (List->IsFlag(*I,pkgOrderList::Configured) == false) { diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index 38e4e904e..089648271 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -20,6 +20,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/pkgcache.h> #include <apt-pkg/policy.h> #include <apt-pkg/version.h> @@ -29,13 +31,12 @@ #include <apt-pkg/aptconfiguration.h> #include <apt-pkg/macros.h> -#include <apti18n.h> - #include <string> #include <sys/stat.h> #include <unistd.h> - #include <ctype.h> + +#include <apti18n.h> /*}}}*/ using std::string; @@ -84,6 +85,8 @@ pkgCache::Header::Header() memset(PkgHashTable,0,sizeof(PkgHashTable)); memset(GrpHashTable,0,sizeof(GrpHashTable)); memset(Pools,0,sizeof(Pools)); + + CacheFileSize = 0; } /*}}}*/ // Cache::Header::CheckSizes - Check if the two headers have same *sz /*{{{*/ @@ -155,6 +158,9 @@ bool pkgCache::ReMap(bool const &Errorchecks) HeaderP->CheckSizes(DefHeader) == false) return _error->Error(_("The package cache file is an incompatible version")); + if (Map.Size() < HeaderP->CacheFileSize) + return _error->Error(_("The package cache file is corrupted, it is too small")); + // Locate our VS.. if (HeaderP->VerSysName == 0 || (VS = pkgVersioningSystem::GetVS(StrP + HeaderP->VerSysName)) == 0) @@ -175,7 +181,7 @@ bool pkgCache::ReMap(bool const &Errorchecks) unsigned long pkgCache::sHash(const string &Str) const { unsigned long Hash = 0; - for (string::const_iterator I = Str.begin(); I != Str.end(); I++) + for (string::const_iterator I = Str.begin(); I != Str.end(); ++I) Hash = 5*Hash + tolower_ascii(*I); return Hash % _count(HeaderP->PkgHashTable); } @@ -183,7 +189,7 @@ unsigned long pkgCache::sHash(const string &Str) const unsigned long pkgCache::sHash(const char *Str) const { unsigned long Hash = 0; - for (const char *I = Str; *I != 0; I++) + for (const char *I = Str; *I != 0; ++I) Hash = 5*Hash + tolower_ascii(*I); return Hash % _count(HeaderP->PkgHashTable); } @@ -569,7 +575,7 @@ bool pkgCache::DepIterator::SmartTargetPkg(PkgIterator &Result) const virtual package libc-dev which is provided by libc5-dev and libc6-dev we must ignore libc5-dev when considering the provides list. */ PrvIterator PStart = Result.ProvidesList(); - for (; PStart.end() != true && PStart.OwnerPkg() == ParentPkg(); PStart++); + for (; PStart.end() != true && PStart.OwnerPkg() == ParentPkg(); ++PStart); // Nothing but indirect self provides if (PStart.end() == true) @@ -577,7 +583,7 @@ bool pkgCache::DepIterator::SmartTargetPkg(PkgIterator &Result) const // Check for single packages in the provides list PrvIterator P = PStart; - for (; P.end() != true; P++) + for (; P.end() != true; ++P) { // Skip over self provides if (P.OwnerPkg() == ParentPkg()) @@ -611,7 +617,7 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const PkgIterator DPkg = TargetPkg(); // Walk along the actual package providing versions - for (VerIterator I = DPkg.VersionList(); I.end() == false; I++) + for (VerIterator I = DPkg.VersionList(); I.end() == false; ++I) { if (Owner->VS->CheckDep(I.VerStr(),S->CompareOp,TargetVer()) == false) continue; @@ -626,13 +632,13 @@ pkgCache::Version **pkgCache::DepIterator::AllTargets() const } // Follow all provides - for (PrvIterator I = DPkg.ProvidesList(); I.end() == false; I++) + for (PrvIterator I = DPkg.ProvidesList(); I.end() == false; ++I) { if (Owner->VS->CheckDep(I.ProvideVersion(),S->CompareOp,TargetVer()) == false) continue; if (IsNegative() == true && - ParentPkg() == I.OwnerPkg()) + ParentPkg()->Group == I.OwnerPkg()->Group) continue; Size++; @@ -717,7 +723,7 @@ int pkgCache::VerIterator::CompareVer(const VerIterator &B) const /* Start at A and look for B. If B is found then A > B otherwise B was before A so A < B */ VerIterator I = *this; - for (;I.end() == false; I++) + for (;I.end() == false; ++I) if (I == B) return 1; return -1; @@ -729,7 +735,7 @@ int pkgCache::VerIterator::CompareVer(const VerIterator &B) const bool pkgCache::VerIterator::Downloadable() const { VerFileIterator Files = FileList(); - for (; Files.end() == false; Files++) + for (; Files.end() == false; ++Files) if ((Files.File()->Flags & pkgCache::Flag::NotSource) != pkgCache::Flag::NotSource) return true; return false; @@ -742,16 +748,13 @@ bool pkgCache::VerIterator::Downloadable() const bool pkgCache::VerIterator::Automatic() const { VerFileIterator Files = FileList(); - for (; Files.end() == false; Files++) + for (; Files.end() == false; ++Files) // Do not check ButAutomaticUpgrades here as it is kind of automatic… if ((Files.File()->Flags & pkgCache::Flag::NotAutomatic) != pkgCache::Flag::NotAutomatic) return true; return false; } /*}}}*/ -// VerIterator::Pseudo - deprecated no-op method /*{{{*/ -bool pkgCache::VerIterator::Pseudo() const { return false; } - /*}}}*/ // VerIterator::NewestFile - Return the newest file version relation /*{{{*/ // --------------------------------------------------------------------- /* This looks at the version numbers associated with all of the sources @@ -760,7 +763,7 @@ pkgCache::VerFileIterator pkgCache::VerIterator::NewestFile() const { VerFileIterator Files = FileList(); VerFileIterator Highest = Files; - for (; Files.end() == false; Files++) + for (; Files.end() == false; ++Files) { if (Owner->VS->CmpReleaseVer(Files.File().Version(),Highest.File().Version()) > 0) Highest = Files; @@ -777,7 +780,7 @@ string pkgCache::VerIterator::RelStr() const { bool First = true; string Res; - for (pkgCache::VerFileIterator I = this->FileList(); I.end() == false; I++) + for (pkgCache::VerFileIterator I = this->FileList(); I.end() == false; ++I) { // Do not print 'not source' entries' pkgCache::PkgFileIterator File = I.File(); @@ -786,7 +789,7 @@ string pkgCache::VerIterator::RelStr() const // See if we have already printed this out.. bool Seen = false; - for (pkgCache::VerFileIterator J = this->FileList(); I != J; J++) + for (pkgCache::VerFileIterator J = this->FileList(); I != J; ++J) { pkgCache::PkgFileIterator File2 = J.File(); if (File2->Label == 0 || File->Label == 0) @@ -887,7 +890,7 @@ pkgCache::DescIterator pkgCache::VerIterator::TranslatedDescription() const { std::vector<string> const lang = APT::Configuration::getLanguages(); for (std::vector<string>::const_iterator l = lang.begin(); - l != lang.end(); l++) + l != lang.end(); ++l) { pkgCache::DescIterator Desc = DescriptionList(); for (; Desc.end() == false; ++Desc) diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index 1b1743724..87912aead 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -314,6 +314,9 @@ struct pkgCache::Header map_ptrloc PkgHashTable[2*1048]; map_ptrloc GrpHashTable[2*1048]; + /** \brief Size of the complete cache file */ + unsigned long CacheFileSize; + bool CheckSizes(Header &Against) const; Header(); }; @@ -500,15 +503,20 @@ struct pkgCache::Version map_ptrloc VerStr; // StringItem /** \brief section this version is filled in */ map_ptrloc Section; // StringItem + + /** \brief Multi-Arch capabilities of a package version */ + enum VerMultiArch { None = 0, /*!< is the default and doesn't trigger special behaviour */ + All = (1<<0), /*!< will cause that Ver.Arch() will report "all" */ + Foreign = (1<<1), /*!< can satisfy dependencies in another architecture */ + Same = (1<<2), /*!< can be co-installed with itself from other architectures */ + Allowed = (1<<3), /*!< other packages are allowed to depend on thispkg:any */ + AllForeign = All | Foreign, + AllAllowed = All | Allowed }; /** \brief stores the MultiArch capabilities of this version - None is the default and doesn't trigger special behaviour, - Foreign means that this version can fulfill dependencies even - if it is built for another architecture as the requester. - Same indicates that builds for different architectures can - be co-installed on the system */ - /* FIXME: A bitflag would be better with the next abibreak… */ - enum {None, All, Foreign, Same, Allowed, AllForeign, AllAllowed} MultiArch; + Flags used are defined in pkgCache::Version::VerMultiArch + */ + unsigned char MultiArch; /** \brief references all the PackageFile's that this version came from diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index 9820fde81..a39aa9f59 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -11,6 +11,7 @@ /*}}}*/ // Include Files /*{{{*/ #define APT_COMPATIBILITY 986 +#include <config.h> #include <apt-pkg/pkgcachegen.h> #include <apt-pkg/error.h> @@ -23,17 +24,15 @@ #include <apt-pkg/sptr.h> #include <apt-pkg/pkgsystem.h> #include <apt-pkg/macros.h> - #include <apt-pkg/tagfile.h> -#include <apti18n.h> - #include <vector> - #include <sys/stat.h> #include <unistd.h> #include <errno.h> #include <stdio.h> + +#include <apti18n.h> /*}}}*/ typedef vector<pkgIndexFile *>::iterator FileIterator; template <typename Iter> std::vector<Iter*> pkgCacheGenerator::Dynamic<Iter>::toReMap; @@ -98,6 +97,7 @@ pkgCacheGenerator::~pkgCacheGenerator() return; Cache.HeaderP->Dirty = false; + Cache.HeaderP->CacheFileSize = Map.Size(); Map.Sync(0,sizeof(pkgCache::Header)); } /*}}}*/ @@ -105,6 +105,9 @@ void pkgCacheGenerator::ReMap(void const * const oldMap, void const * const newM if (oldMap == newMap) return; + if (_config->FindB("Debug::pkgCacheGen", false)) + std::clog << "Remaping from " << oldMap << " to " << newMap << std::endl; + Cache.ReMap(false); CurrentFile += (pkgCache::PackageFile*) newMap - (pkgCache::PackageFile*) oldMap; @@ -217,7 +220,7 @@ bool pkgCacheGenerator::MergeList(ListParser &List, // don't add a new description if we have one for the given // md5 && language - for ( ; Desc.end() == false; Desc++) + for ( ; Desc.end() == false; ++Desc) if (MD5SumValue(Desc.md5()) == CurMd5 && Desc.LanguageCode() == List.DescriptionLanguage()) duplicate=true; @@ -226,7 +229,7 @@ bool pkgCacheGenerator::MergeList(ListParser &List, for (Desc = Ver.DescriptionList(); Desc.end() == false; - LastDesc = &Desc->NextDesc, Desc++) + LastDesc = &Desc->NextDesc, ++Desc) { if (MD5SumValue(Desc.md5()) == CurMd5) { @@ -392,7 +395,7 @@ bool pkgCacheGenerator::MergeFileProvides(ListParser &List) unsigned long Hash = List.VersionHash(); pkgCache::VerIterator Ver = Pkg.VersionList(); Dynamic<pkgCache::VerIterator> DynVer(Ver); - for (; Ver.end() == false; Ver++) + for (; Ver.end() == false; ++Ver) { if (Ver->Hash == Hash && Version.c_str() == Ver.VerStr()) { @@ -508,7 +511,7 @@ bool pkgCacheGenerator::NewFileVer(pkgCache::VerIterator &Ver, // Link it to the end of the list map_ptrloc *Last = &Ver->FileList; - for (pkgCache::VerFileIterator V = Ver.FileList(); V.end() == false; V++) + for (pkgCache::VerFileIterator V = Ver.FileList(); V.end() == false; ++V) Last = &V->NextFile; VF->NextFile = *Last; *Last = VF.Index(); @@ -565,7 +568,7 @@ bool pkgCacheGenerator::NewFileDesc(pkgCache::DescIterator &Desc, // Link it to the end of the list map_ptrloc *Last = &Desc->FileList; - for (pkgCache::DescFileIterator D = Desc.FileList(); D.end() == false; D++) + for (pkgCache::DescFileIterator D = Desc.FileList(); D.end() == false; ++D) Last = &D->NextFile; DF->NextFile = *Last; @@ -620,7 +623,7 @@ bool pkgCacheGenerator::FinishCache(OpProgress *Progress) // Create Conflicts in between the group pkgCache::GrpIterator G = GetCache().GrpBegin(); Dynamic<pkgCache::GrpIterator> DynG(G); - for (; G.end() != true; G++) + for (; G.end() != true; ++G) { string const PkgName = G.Name(); pkgCache::PkgIterator P = G.PackageList(); @@ -631,9 +634,11 @@ bool pkgCacheGenerator::FinishCache(OpProgress *Progress) Dynamic<pkgCache::PkgIterator> DynallPkg(allPkg); pkgCache::VerIterator V = P.VersionList(); Dynamic<pkgCache::VerIterator> DynV(V); - for (; V.end() != true; V++) + for (; V.end() != true; ++V) { - char const * const Arch = P.Arch(); + // copy P.Arch() into a string here as a cache remap + // in NewDepends() later may alter the pointer location + string Arch = P.Arch() == NULL ? "" : P.Arch(); map_ptrloc *OldDepLast = NULL; /* MultiArch handling introduces a lot of implicit Dependencies: - MultiArch: same → Co-Installable if they have the same version @@ -684,7 +689,7 @@ bool pkgCacheGenerator::NewDepends(pkgCache::PkgIterator &Pkg, string const &Version, unsigned int const &Op, unsigned int const &Type, - map_ptrloc *OldDepLast) + map_ptrloc* &OldDepLast) { void const * const oldMap = Map.Data(); // Get a structure @@ -723,7 +728,7 @@ bool pkgCacheGenerator::NewDepends(pkgCache::PkgIterator &Pkg, if (OldDepLast == NULL) { OldDepLast = &Ver->DependsList; - for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; ++D) OldDepLast = &D->NextDepends; } else if (oldMap != Map.Data()) OldDepLast += (map_ptrloc*) Map.Data() - (map_ptrloc*) oldMap; @@ -915,8 +920,11 @@ unsigned long pkgCacheGenerator::WriteUniqString(const char *S, /* This just verifies that each file in the list of index files exists, has matching attributes with the cache and the cache does not have any extra files. */ -static bool CheckValidity(const string &CacheFile, FileIterator Start, - FileIterator End,MMap **OutMap = 0) +static bool CheckValidity(const string &CacheFile, + pkgSourceList &List, + FileIterator Start, + FileIterator End, + MMap **OutMap = 0) { bool const Debug = _config->FindB("Debug::pkgCacheGen", false); // No file, certainly invalid @@ -927,6 +935,13 @@ static bool CheckValidity(const string &CacheFile, FileIterator Start, return false; } + if (List.GetLastModifiedTime() > GetModificationTime(CacheFile)) + { + if (Debug == true) + std::clog << "sources.list is newer than the cache" << std::endl; + return false; + } + // Map it FileFd CacheF(CacheFile,FileFd::ReadOnly); SPtr<MMap> Map = new MMap(CacheF,0); @@ -943,7 +958,7 @@ static bool CheckValidity(const string &CacheFile, FileIterator Start, verify the IMS data and check that it is on the disk too.. */ SPtrArray<bool> Visited = new bool[Cache.HeaderP->PackageFileCount]; memset(Visited,0,sizeof(*Visited)*Cache.HeaderP->PackageFileCount); - for (; Start != End; Start++) + for (; Start != End; ++Start) { if (Debug == true) std::clog << "Checking PkgFile " << (*Start)->Describe() << ": "; @@ -1010,7 +1025,7 @@ static bool CheckValidity(const string &CacheFile, FileIterator Start, static unsigned long ComputeSize(FileIterator Start,FileIterator End) { unsigned long TotalSize = 0; - for (; Start != End; Start++) + for (; Start != End; ++Start) { if ((*Start)->HasPackages() == false) continue; @@ -1028,7 +1043,7 @@ static bool BuildCache(pkgCacheGenerator &Gen, FileIterator Start, FileIterator End) { FileIterator I; - for (I = Start; I != End; I++) + for (I = Start; I != End; ++I) { if ((*I)->HasPackages() == false) continue; @@ -1058,7 +1073,7 @@ static bool BuildCache(pkgCacheGenerator &Gen, Progress->Done(); TotalSize = ComputeSize(Start, End); CurrentSize = 0; - for (I = Start; I != End; I++) + for (I = Start; I != End; ++I) { unsigned long Size = (*I)->Size(); if (Progress != NULL) @@ -1105,12 +1120,12 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress vector<pkgIndexFile *> Files; for (vector<metaIndex *>::const_iterator i = List.begin(); i != List.end(); - i++) + ++i) { vector <pkgIndexFile *> *Indexes = (*i)->GetIndexFiles(); for (vector<pkgIndexFile *>::const_iterator j = Indexes->begin(); j != Indexes->end(); - j++) + ++j) Files.push_back (*j); } @@ -1152,7 +1167,7 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress Progress->OverallProgress(0,1,1,_("Reading package lists")); // Cache is OK, Fin. - if (CheckValidity(CacheFile,Files.begin(),Files.end(),OutMap) == true) + if (CheckValidity(CacheFile, List, Files.begin(),Files.end(),OutMap) == true) { if (Progress != NULL) Progress->OverallProgress(1,1,1,_("Reading package lists")); @@ -1169,16 +1184,32 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress SPtr<DynamicMMap> Map; if (Writeable == true && CacheFile.empty() == false) { + _error->PushToStack(); unlink(CacheFile.c_str()); CacheF = new FileFd(CacheFile,FileFd::WriteAtomic); fchmod(CacheF->Fd(),0644); Map = CreateDynamicMMap(CacheF, MMap::Public); if (_error->PendingError() == true) - return false; - if (Debug == true) + { + delete CacheF.UnGuard(); + delete Map.UnGuard(); + if (Debug == true) + std::clog << "Open filebased MMap FAILED" << std::endl; + Writeable = false; + if (AllowMem == false) + { + _error->MergeWithStack(); + return false; + } + _error->RevertToStack(); + } + else if (Debug == true) + { + _error->MergeWithStack(); std::clog << "Open filebased MMap" << std::endl; + } } - else + if (Writeable == false || CacheFile.empty() == true) { // Just build it in memory.. Map = CreateDynamicMMap(NULL); @@ -1189,7 +1220,7 @@ bool pkgCacheGenerator::MakeStatusCache(pkgSourceList &List,OpProgress *Progress // Lets try the source cache. unsigned long CurrentSize = 0; unsigned long TotalSize = 0; - if (CheckValidity(SrcCacheFile,Files.begin(), + if (CheckValidity(SrcCacheFile, List, Files.begin(), Files.begin()+EndOfSource) == true) { if (Debug == true) diff --git a/apt-pkg/pkgcachegen.h b/apt-pkg/pkgcachegen.h index ff198833a..c26051182 100644 --- a/apt-pkg/pkgcachegen.h +++ b/apt-pkg/pkgcachegen.h @@ -75,7 +75,7 @@ class pkgCacheGenerator /*{{{*/ bool NewFileDesc(pkgCache::DescIterator &Desc,ListParser &List); bool NewDepends(pkgCache::PkgIterator &Pkg, pkgCache::VerIterator &Ver, string const &Version, unsigned int const &Op, - unsigned int const &Type, map_ptrloc *OldDepLast); + unsigned int const &Type, map_ptrloc* &OldDepLast); unsigned long NewVersion(pkgCache::VerIterator &Ver,const string &VerStr,unsigned long Next); map_ptrloc NewDescription(pkgCache::DescIterator &Desc,const string &Lang,const MD5SumValue &md5sum,map_ptrloc Next); diff --git a/apt-pkg/pkgrecords.cc b/apt-pkg/pkgrecords.cc index e506de73a..7709f133a 100644 --- a/apt-pkg/pkgrecords.cc +++ b/apt-pkg/pkgrecords.cc @@ -9,12 +9,14 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/pkgrecords.h> #include <apt-pkg/indexfile.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> - -#include <apti18n.h> + +#include <apti18n.h> /*}}}*/ // Records::pkgRecords - Constructor /*{{{*/ @@ -24,7 +26,7 @@ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(Cache.HeaderP->PackageFileCount) { for (pkgCache::PkgFileIterator I = Cache.FileBegin(); - I.end() == false; I++) + I.end() == false; ++I) { const pkgIndexFile::Type *Type = pkgIndexFile::Type::GetType(I.IndexType()); if (Type == 0) diff --git a/apt-pkg/pkgrecords.h b/apt-pkg/pkgrecords.h index c2c98188a..8741533b9 100644 --- a/apt-pkg/pkgrecords.h +++ b/apt-pkg/pkgrecords.h @@ -19,7 +19,6 @@ #include <apt-pkg/pkgcache.h> -#include <apt-pkg/fileutl.h> #include <vector> class pkgRecords /*{{{*/ @@ -28,12 +27,13 @@ class pkgRecords /*{{{*/ class Parser; private: + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; pkgCache &Cache; std::vector<Parser *>Files; - public: - + public: // Lookup function Parser &Lookup(pkgCache::VerFileIterator const &Ver); Parser &Lookup(pkgCache::DescFileIterator const &Desc); @@ -58,6 +58,7 @@ class pkgRecords::Parser /*{{{*/ virtual string MD5Hash() {return string();}; virtual string SHA1Hash() {return string();}; virtual string SHA256Hash() {return string();}; + virtual string SHA512Hash() {return string();}; virtual string SourcePkg() {return string();}; virtual string SourceVer() {return string();}; @@ -67,7 +68,10 @@ class pkgRecords::Parser /*{{{*/ virtual string LongDesc() {return string();}; virtual string Name() {return string();}; virtual string Homepage() {return string();} - + + // An arbitrary custom field + virtual string RecordField(const char *fieldName) { return string();}; + // The record in binary form virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;}; diff --git a/apt-pkg/pkgsystem.cc b/apt-pkg/pkgsystem.cc index 6dd2d3ee4..f61c140fa 100644 --- a/apt-pkg/pkgsystem.cc +++ b/apt-pkg/pkgsystem.cc @@ -10,6 +10,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/pkgsystem.h> #include <apt-pkg/policy.h> #include <cassert> diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index bd213e0ce..e6c44ebe2 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -23,6 +23,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/policy.h> #include <apt-pkg/configuration.h> #include <apt-pkg/tagfile.h> @@ -31,10 +33,10 @@ #include <apt-pkg/error.h> #include <apt-pkg/sptr.h> -#include <apti18n.h> - #include <iostream> #include <sstream> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -56,8 +58,22 @@ pkgPolicy::pkgPolicy(pkgCache *Owner) : Pins(0), PFPriority(0), Cache(Owner) // The config file has a master override. string DefRel = _config->Find("APT::Default-Release"); if (DefRel.empty() == false) - CreatePin(pkgVersionMatch::Release,"",DefRel,990); - + { + bool found = false; + // FIXME: make ExpressionMatches static to use it here easily + pkgVersionMatch vm("", pkgVersionMatch::None); + for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); ++F) + { + if ((F->Archive != 0 && vm.ExpressionMatches(DefRel, F.Archive()) == true) || + (F->Codename != 0 && vm.ExpressionMatches(DefRel, F.Codename()) == true) || + (F->Version != 0 && vm.ExpressionMatches(DefRel, F.Version()) == true)) + found = true; + } + if (found == false) + _error->Error(_("The value '%s' is invalid for APT::Default-Release as such a release is not available in the sources"), DefRel.c_str()); + else + CreatePin(pkgVersionMatch::Release,"",DefRel,990); + } InitDefaults(); } /*}}}*/ @@ -67,7 +83,7 @@ pkgPolicy::pkgPolicy(pkgCache *Owner) : Pins(0), PFPriority(0), Cache(Owner) bool pkgPolicy::InitDefaults() { // Initialize the priorities based on the status of the package file - for (pkgCache::PkgFileIterator I = Cache->FileBegin(); I != Cache->FileEnd(); I++) + for (pkgCache::PkgFileIterator I = Cache->FileBegin(); I != Cache->FileEnd(); ++I) { PFPriority[I->ID] = 500; if ((I->Flags & pkgCache::Flag::NotSource) == pkgCache::Flag::NotSource) @@ -84,10 +100,10 @@ bool pkgPolicy::InitDefaults() signed Cur = 989; StatusOverride = false; for (vector<Pin>::const_iterator I = Defaults.begin(); I != Defaults.end(); - I++, Cur--) + ++I, --Cur) { pkgVersionMatch Match(I->Data,I->Type); - for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); F++) + for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); ++F) { if (Match.FileMatch(F) == true && Fixed[F->ID] == false) { @@ -108,7 +124,7 @@ bool pkgPolicy::InitDefaults() } if (_config->FindB("Debug::pkgPolicy",false) == true) - for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); F++) + for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F != Cache->FileEnd(); ++F) std::clog << "Prio of " << F.FileName() << ' ' << PFPriority[F->ID] << std::endl; return true; @@ -148,12 +164,12 @@ pkgCache::VerIterator pkgPolicy::GetCandidateVer(pkgCache::PkgIterator const &Pk tracks the default when the default is taken away, and a permanent pin that stays at that setting. */ - for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; Ver++) + for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver) { /* Lets see if this version is the installed version */ bool instVer = (Pkg.CurrentVer() == Ver); - for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false; VF++) + for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false; ++VF) { /* If this is the status file, and the current version is not the version in the status file (ie it is not installed, or somesuch) @@ -306,6 +322,10 @@ signed short pkgPolicy::GetPriority(pkgCache::PkgIterator const &Pkg) return 0; } +signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &File) +{ + return PFPriority[File->ID]; +} /*}}}*/ // PreferenceSection class - Overriding the default TrimRecord method /*{{{*/ // --------------------------------------------------------------------- @@ -342,7 +362,7 @@ bool ReadPinDir(pkgPolicy &Plcy,string Dir) vector<string> const List = GetListOfFilesInDir(Dir, "pref", true, true); // Read the files - for (vector<string>::const_iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I) if (ReadPinFile(Plcy, *I) == false) return false; return true; diff --git a/apt-pkg/policy.h b/apt-pkg/policy.h index a5e6c6048..92d32728f 100644 --- a/apt-pkg/policy.h +++ b/apt-pkg/policy.h @@ -70,14 +70,13 @@ class pkgPolicy : public pkgDepCache::Policy // Things for manipulating pins void CreatePin(pkgVersionMatch::MatchType Type,string Pkg, string Data,signed short Priority); - inline signed short GetPriority(pkgCache::PkgFileIterator const &File) - {return PFPriority[File->ID];}; - signed short GetPriority(pkgCache::PkgIterator const &Pkg); pkgCache::VerIterator GetMatch(pkgCache::PkgIterator const &Pkg); // Things for the cache interface. virtual pkgCache::VerIterator GetCandidateVer(pkgCache::PkgIterator const &Pkg); - virtual bool IsImportantDep(pkgCache::DepIterator const &Dep) {return pkgDepCache::Policy::IsImportantDep(Dep);}; + virtual signed short GetPriority(pkgCache::PkgIterator const &Pkg); + virtual signed short GetPriority(pkgCache::PkgFileIterator const &File); + bool InitDefaults(); pkgPolicy(pkgCache *Owner); diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc index 851eefdfe..e20ec4704 100644 --- a/apt-pkg/sourcelist.cc +++ b/apt-pkg/sourcelist.cc @@ -8,15 +8,17 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/sourcelist.h> #include <apt-pkg/error.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/strutl.h> #include <apt-pkg/configuration.h> -#include <apti18n.h> - #include <fstream> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -173,7 +175,7 @@ pkgSourceList::pkgSourceList(string File) /* */ pkgSourceList::~pkgSourceList() { - for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++) + for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I) delete *I; } /*}}}*/ @@ -218,7 +220,7 @@ bool pkgSourceList::ReadMainList() /* */ void pkgSourceList::Reset() { - for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++) + for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I) delete *I; SrcList.erase(SrcList.begin(),SrcList.end()); } @@ -296,11 +298,11 @@ bool pkgSourceList::ReadAppend(string File) bool pkgSourceList::FindIndex(pkgCache::PkgFileIterator File, pkgIndexFile *&Found) const { - for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++) + for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I) { vector<pkgIndexFile *> *Indexes = (*I)->GetIndexFiles(); for (vector<pkgIndexFile *>::const_iterator J = Indexes->begin(); - J != Indexes->end(); J++) + J != Indexes->end(); ++J) { if ((*J)->FindInCache(*File.Cache()) == File) { @@ -318,7 +320,7 @@ bool pkgSourceList::FindIndex(pkgCache::PkgFileIterator File, /* */ bool pkgSourceList::GetIndexes(pkgAcquire *Owner, bool GetAll) const { - for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++) + for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I) if ((*I)->GetIndexes(Owner,GetAll) == false) return false; return true; @@ -334,11 +336,33 @@ bool pkgSourceList::ReadSourceDir(string Dir) vector<string> const List = GetListOfFilesInDir(Dir, "list", true); // Read the files - for (vector<string>::const_iterator I = List.begin(); I != List.end(); I++) + for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I) if (ReadAppend(*I) == false) return false; return true; } /*}}}*/ +// GetLastModified() /*{{{*/ +// --------------------------------------------------------------------- +/* */ +time_t pkgSourceList::GetLastModifiedTime() +{ + vector<string> List; + + string Main = _config->FindFile("Dir::Etc::sourcelist"); + string Parts = _config->FindDir("Dir::Etc::sourceparts"); + + // go over the parts + if (DirectoryExists(Parts) == true) + List = GetListOfFilesInDir(Parts, "list", true); + + // calculate the time + time_t mtime_sources = GetModificationTime(Main); + for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I) + mtime_sources = std::max(mtime_sources, GetModificationTime(*I)); + + return mtime_sources; +} + /*}}}*/ diff --git a/apt-pkg/sourcelist.h b/apt-pkg/sourcelist.h index e15314a5e..7b473ee64 100644 --- a/apt-pkg/sourcelist.h +++ b/apt-pkg/sourcelist.h @@ -92,6 +92,9 @@ class pkgSourceList pkgIndexFile *&Found) const; bool GetIndexes(pkgAcquire *Owner, bool GetAll=false) const; + // query last-modified time + time_t GetLastModifiedTime(); + pkgSourceList(); pkgSourceList(string File); ~pkgSourceList(); diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc index 46a02b55c..8c1de2ea5 100644 --- a/apt-pkg/srcrecords.cc +++ b/apt-pkg/srcrecords.cc @@ -11,12 +11,14 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/srcrecords.h> #include <apt-pkg/error.h> #include <apt-pkg/sourcelist.h> #include <apt-pkg/strutl.h> - -#include <apti18n.h> + +#include <apti18n.h> /*}}}*/ // SrcRecords::pkgSrcRecords - Constructor /*{{{*/ @@ -24,11 +26,11 @@ /* Open all the source index files */ pkgSrcRecords::pkgSrcRecords(pkgSourceList &List) : Files(0), Current(0) { - for (pkgSourceList::const_iterator I = List.begin(); I != List.end(); I++) + for (pkgSourceList::const_iterator I = List.begin(); I != List.end(); ++I) { vector<pkgIndexFile *> *Indexes = (*I)->GetIndexFiles(); for (vector<pkgIndexFile *>::const_iterator J = Indexes->begin(); - J != Indexes->end(); J++) + J != Indexes->end(); ++J) { Parser* P = (*J)->CreateSrcParser(); if (_error->PendingError() == true) @@ -66,7 +68,7 @@ bool pkgSrcRecords::Restart() { Current = Files.begin(); for (vector<Parser*>::iterator I = Files.begin(); - I != Files.end(); I++) + I != Files.end(); ++I) (*I)->Restart(); return true; @@ -89,7 +91,7 @@ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool const &SrcOn { if (_error->PendingError() == true) return 0; - Current++; + ++Current; if (Current == Files.end()) return 0; } @@ -107,7 +109,7 @@ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool const &SrcOn // Check for a binary hit const char **I = (*Current)->Binaries(); - for (; I != 0 && *I != 0; I++) + for (; I != 0 && *I != 0; ++I) if (strcmp(Package,*I) == 0) return *Current; } diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h index a49533864..8a78d7711 100644 --- a/apt-pkg/srcrecords.h +++ b/apt-pkg/srcrecords.h @@ -79,6 +79,8 @@ class pkgSrcRecords }; private: + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; // The list of files and the current parser pointer vector<Parser*> Files; @@ -93,7 +95,7 @@ class pkgSrcRecords Parser *Find(const char *Package,bool const &SrcOnly = false); pkgSrcRecords(pkgSourceList &List); - ~pkgSrcRecords(); + virtual ~pkgSrcRecords(); }; #endif diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc index 4a2f3f7e6..418e6bed8 100644 --- a/apt-pkg/tagfile.cc +++ b/apt-pkg/tagfile.cc @@ -11,39 +11,55 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/tagfile.h> #include <apt-pkg/error.h> #include <apt-pkg/strutl.h> -#include <apti18n.h> - #include <string> #include <stdio.h> #include <ctype.h> + +#include <apti18n.h> /*}}}*/ using std::string; +class pkgTagFilePrivate +{ +public: + pkgTagFilePrivate(FileFd *pFd, unsigned long long Size) : Fd(*pFd), Size(Size) + { + } + FileFd &Fd; + char *Buffer; + char *Start; + char *End; + bool Done; + unsigned long long iOffset; + unsigned long long Size; +}; + // TagFile::pkgTagFile - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ -pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) : - Fd(*pFd), - Size(Size) +pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long long Size) { - if (Fd.IsOpen() == false) + d = new pkgTagFilePrivate(pFd, Size); + + if (d->Fd.IsOpen() == false) { - Buffer = 0; - Start = End = Buffer = 0; - Done = true; - iOffset = 0; + d->Start = d->End = d->Buffer = 0; + d->Done = true; + d->iOffset = 0; return; } - Buffer = new char[Size]; - Start = End = Buffer; - Done = false; - iOffset = 0; + d->Buffer = new char[Size]; + d->Start = d->End = d->Buffer; + d->Done = false; + d->iOffset = 0; Fill(); } /*}}}*/ @@ -52,7 +68,14 @@ pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) : /* */ pkgTagFile::~pkgTagFile() { - delete [] Buffer; + delete [] d->Buffer; + delete d; +} + /*}}}*/ +// TagFile::Offset - Return the current offset in the buffer /*{{{*/ +unsigned long pkgTagFile::Offset() +{ + return d->iOffset; } /*}}}*/ // TagFile::Resize - Resize the internal buffer /*{{{*/ @@ -63,22 +86,22 @@ pkgTagFile::~pkgTagFile() bool pkgTagFile::Resize() { char *tmp; - unsigned long EndSize = End - Start; + unsigned long long EndSize = d->End - d->Start; // fail is the buffer grows too big - if(Size > 1024*1024+1) + if(d->Size > 1024*1024+1) return false; // get new buffer and use it - tmp = new char[2*Size]; - memcpy(tmp, Buffer, Size); - Size = Size*2; - delete [] Buffer; - Buffer = tmp; + tmp = new char[2*d->Size]; + memcpy(tmp, d->Buffer, d->Size); + d->Size = d->Size*2; + delete [] d->Buffer; + d->Buffer = tmp; // update the start/end pointers to the new buffer - Start = Buffer; - End = Start + EndSize; + d->Start = d->Buffer; + d->End = d->Start + EndSize; return true; } /*}}}*/ @@ -90,20 +113,20 @@ bool pkgTagFile::Resize() */ bool pkgTagFile::Step(pkgTagSection &Tag) { - while (Tag.Scan(Start,End - Start) == false) + while (Tag.Scan(d->Start,d->End - d->Start) == false) { if (Fill() == false) return false; - if(Tag.Scan(Start,End - Start)) + if(Tag.Scan(d->Start,d->End - d->Start)) break; if (Resize() == false) return _error->Error(_("Unable to parse package file %s (1)"), - Fd.Name().c_str()); + d->Fd.Name().c_str()); } - Start += Tag.size(); - iOffset += Tag.size(); + d->Start += Tag.size(); + d->iOffset += Tag.size(); Tag.Trim(); return true; @@ -115,37 +138,37 @@ bool pkgTagFile::Step(pkgTagSection &Tag) then fills the rest from the file */ bool pkgTagFile::Fill() { - unsigned long EndSize = End - Start; - unsigned long Actual = 0; + unsigned long long EndSize = d->End - d->Start; + unsigned long long Actual = 0; - memmove(Buffer,Start,EndSize); - Start = Buffer; - End = Buffer + EndSize; + memmove(d->Buffer,d->Start,EndSize); + d->Start = d->Buffer; + d->End = d->Buffer + EndSize; - if (Done == false) + if (d->Done == false) { // See if only a bit of the file is left - if (Fd.Read(End,Size - (End - Buffer),&Actual) == false) + if (d->Fd.Read(d->End, d->Size - (d->End - d->Buffer),&Actual) == false) return false; - if (Actual != Size - (End - Buffer)) - Done = true; - End += Actual; + if (Actual != d->Size - (d->End - d->Buffer)) + d->Done = true; + d->End += Actual; } - if (Done == true) + if (d->Done == true) { if (EndSize <= 3 && Actual == 0) return false; - if (Size - (End - Buffer) < 4) + if (d->Size - (d->End - d->Buffer) < 4) return true; // Append a double new line if one does not exist unsigned int LineCount = 0; - for (const char *E = End - 1; E - End < 6 && (*E == '\n' || *E == '\r'); E--) + for (const char *E = d->End - 1; E - d->End < 6 && (*E == '\n' || *E == '\r'); E--) if (*E == '\n') LineCount++; for (; LineCount < 2; LineCount++) - *End++ = '\n'; + *d->End++ = '\n'; return true; } @@ -157,36 +180,36 @@ bool pkgTagFile::Fill() // --------------------------------------------------------------------- /* This jumps to a pre-recorded file location and reads the record that is there */ -bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long Offset) +bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long long Offset) { // We are within a buffer space of the next hit.. - if (Offset >= iOffset && iOffset + (End - Start) > Offset) + if (Offset >= d->iOffset && d->iOffset + (d->End - d->Start) > Offset) { - unsigned long Dist = Offset - iOffset; - Start += Dist; - iOffset += Dist; + unsigned long long Dist = Offset - d->iOffset; + d->Start += Dist; + d->iOffset += Dist; return Step(Tag); } // Reposition and reload.. - iOffset = Offset; - Done = false; - if (Fd.Seek(Offset) == false) + d->iOffset = Offset; + d->Done = false; + if (d->Fd.Seek(Offset) == false) return false; - End = Start = Buffer; + d->End = d->Start = d->Buffer; if (Fill() == false) return false; - if (Tag.Scan(Start,End - Start) == true) + if (Tag.Scan(d->Start, d->End - d->Start) == true) return true; // This appends a double new line (for the real eof handling) if (Fill() == false) return false; - if (Tag.Scan(Start,End - Start) == false) - return _error->Error(_("Unable to parse package file %s (2)"),Fd.Name().c_str()); + if (Tag.Scan(d->Start, d->End - d->Start) == false) + return _error->Error(_("Unable to parse package file %s (2)"),d->Fd.Name().c_str()); return true; } @@ -457,6 +480,7 @@ static const char *iTFRewritePackageOrder[] = { "MD5Sum", "SHA1", "SHA256", + "SHA512", "MSDOS-Filename", // Obsolete "Description", 0}; diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h index 61491aa04..28f7fcc24 100644 --- a/apt-pkg/tagfile.h +++ b/apt-pkg/tagfile.h @@ -23,16 +23,16 @@ #include <apt-pkg/fileutl.h> #include <stdio.h> - + class pkgTagSection { const char *Section; - // We have a limit of 256 tags per section. unsigned int Indexes[256]; unsigned int AlphaIndexes[0x100]; - unsigned int TagCount; + // dpointer placeholder (for later in case we need it) + void *d; /* This very simple hash function for the last 8 letters gives very good performance on the debian package files */ @@ -44,7 +44,6 @@ class pkgTagSection return Res & 0xFF; } - protected: const char *Stop; @@ -79,18 +78,14 @@ class pkgTagSection Stop = this->Stop; }; - pkgTagSection() : Section(0), Stop(0) {}; + pkgTagSection() : Section(0), TagCount(0), Stop(0) {}; + virtual ~pkgTagSection() {}; }; +class pkgTagFilePrivate; class pkgTagFile { - FileFd &Fd; - char *Buffer; - char *Start; - char *End; - bool Done; - unsigned long iOffset; - unsigned long Size; + pkgTagFilePrivate *d; bool Fill(); bool Resize(); @@ -98,11 +93,11 @@ class pkgTagFile public: bool Step(pkgTagSection &Section); - inline unsigned long Offset() {return iOffset;}; - bool Jump(pkgTagSection &Tag,unsigned long Offset); + unsigned long Offset(); + bool Jump(pkgTagSection &Tag,unsigned long long Offset); - pkgTagFile(FileFd *F,unsigned long Size = 32*1024); - ~pkgTagFile(); + pkgTagFile(FileFd *F,unsigned long long Size = 32*1024); + virtual ~pkgTagFile(); }; /* This is the list of things to rewrite. The rewriter diff --git a/apt-pkg/vendor.cc b/apt-pkg/vendor.cc index 2350afe69..eab6d448f 100644 --- a/apt-pkg/vendor.cc +++ b/apt-pkg/vendor.cc @@ -1,3 +1,5 @@ +#include<config.h> + #include <iostream> #include <apt-pkg/error.h> #include <apt-pkg/vendor.h> diff --git a/apt-pkg/vendorlist.cc b/apt-pkg/vendorlist.cc index 48ac12cee..731f11acf 100644 --- a/apt-pkg/vendorlist.cc +++ b/apt-pkg/vendorlist.cc @@ -1,3 +1,5 @@ +#include<config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/error.h> #include <apti18n.h> @@ -11,7 +13,7 @@ pkgVendorList::~pkgVendorList() { for (vector<const Vendor *>::const_iterator I = VendorList.begin(); - I != VendorList.end(); I++) + I != VendorList.end(); ++I) delete *I; } @@ -49,7 +51,7 @@ bool pkgVendorList::Read(string File) /*{{{*/ bool pkgVendorList::CreateList(Configuration& Cnf) /*{{{*/ { for (vector<const Vendor *>::const_iterator I = VendorList.begin(); - I != VendorList.end(); I++) + I != VendorList.end(); ++I) delete *I; VendorList.erase(VendorList.begin(),VendorList.end()); @@ -129,7 +131,7 @@ const Vendor* pkgVendorList::LookupFingerprint(string Fingerprint) /*{{{*/ /*}}}*/ const Vendor* pkgVendorList::FindVendor(const std::vector<string> GPGVOutput) /*{{{*/ { - for (std::vector<string>::const_iterator I = GPGVOutput.begin(); I != GPGVOutput.end(); I++) + for (std::vector<string>::const_iterator I = GPGVOutput.begin(); I != GPGVOutput.end(); ++I) { string::size_type pos = (*I).find("VALIDSIG "); if (_config->FindB("Debug::Vendor", false)) diff --git a/apt-pkg/version.cc b/apt-pkg/version.cc index 42e449d36..a9d4fb763 100644 --- a/apt-pkg/version.cc +++ b/apt-pkg/version.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/version.h> #include <apt-pkg/pkgcache.h> diff --git a/apt-pkg/versionmatch.cc b/apt-pkg/versionmatch.cc index c40b1fdbc..f336b3c35 100644 --- a/apt-pkg/versionmatch.cc +++ b/apt-pkg/versionmatch.cc @@ -11,8 +11,9 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include <apt-pkg/versionmatch.h> +#include<config.h> +#include <apt-pkg/versionmatch.h> #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> @@ -21,7 +22,6 @@ #include <fnmatch.h> #include <sys/types.h> #include <regex.h> - /*}}}*/ // VersionMatch::pkgVersionMatch - Constructor /*{{{*/ @@ -60,7 +60,7 @@ pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type) : Type(Type) // Are we a simple specification? string::const_iterator I = Data.begin(); - for (; I != Data.end() && *I != '='; I++); + for (; I != Data.end() && *I != '='; ++I); if (I == Data.end()) { // Temporary @@ -152,7 +152,7 @@ bool pkgVersionMatch::MatchVer(const char *A,string B,bool Prefix) pkgCache::VerIterator pkgVersionMatch::Find(pkgCache::PkgIterator Pkg) { pkgCache::VerIterator Ver = Pkg.VersionList(); - for (; Ver.end() == false; Ver++) + for (; Ver.end() == false; ++Ver) { if (Type == Version) { @@ -163,7 +163,7 @@ pkgCache::VerIterator pkgVersionMatch::Find(pkgCache::PkgIterator Pkg) continue; } - for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false; VF++) + for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false; ++VF) if (FileMatch(VF.File()) == true) return Ver; } diff --git a/buildlib/config.h.in b/buildlib/config.h.in index b3609a700..256911231 100644 --- a/buildlib/config.h.in +++ b/buildlib/config.h.in @@ -33,6 +33,9 @@ /* If there is no socklen_t, define this for the netdb shim */ #undef NEED_SOCKLEN_T_DEFINE +/* Define to the size of the filesize containing structures */ +#undef _FILE_OFFSET_BITS + /* Define the arch name string */ #undef COMMON_ARCH diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak index bf93bd2ee..edb089160 100644 --- a/buildlib/defaults.mak +++ b/buildlib/defaults.mak @@ -118,10 +118,10 @@ MKDIRS := $(BIN) # list .PHONY: headers library clean veryclean all binary program doc dirs .PHONY: maintainer-clean dist-clean distclean pristine sanity -all: binary doc +all: dirs binary doc binary: library program maintainer-clean dist-clean distclean pristine sanity: veryclean -headers library clean veryclean program: +headers library clean veryclean program test: veryclean: echo Very Clean done for $(SUBDIR) diff --git a/cmdline/acqprogress.cc b/cmdline/acqprogress.cc index ba334ce05..1ccb08804 100644 --- a/cmdline/acqprogress.cc +++ b/cmdline/acqprogress.cc @@ -8,19 +8,21 @@ ##################################################################### */ /*}}}*/ // Include files /*{{{*/ -#include "acqprogress.h" +#include<config.h> + #include <apt-pkg/acquire-item.h> #include <apt-pkg/acquire-worker.h> #include <apt-pkg/configuration.h> #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> -#include <apti18n.h> - #include <stdio.h> #include <signal.h> #include <iostream> #include <unistd.h> + +#include "acqprogress.h" +#include <apti18n.h> /*}}}*/ using namespace std; @@ -161,7 +163,7 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner) ScreenWidth = sizeof(Buffer)-1; // Put in the percent done - sprintf(S,"%ld%%",long(double((CurrentBytes + CurrentItems)*100.0)/double(TotalBytes+TotalItems))); + sprintf(S,"%.0f%%",((CurrentBytes + CurrentItems)*100.0)/(TotalBytes+TotalItems)); bool Shown = false; for (pkgAcquire::Worker *I = Owner->WorkersBegin(); I != 0; @@ -200,7 +202,7 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner) // Add the current progress if (Mode == Long) - snprintf(S,End-S," %lu",I->CurrentSize); + snprintf(S,End-S," %llu",I->CurrentSize); else { if (Mode == Medium || I->TotalSize == 0) @@ -212,11 +214,11 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner) if (I->TotalSize > 0 && I->CurrentItem->Owner->Complete == false) { if (Mode == Short) - snprintf(S,End-S," %lu%%", - long(double(I->CurrentSize*100.0)/double(I->TotalSize))); + snprintf(S,End-S," %.0f%%", + (I->CurrentSize*100.0)/I->TotalSize); else - snprintf(S,End-S,"/%sB %lu%%",SizeToStr(I->TotalSize).c_str(), - long(double(I->CurrentSize*100.0)/double(I->TotalSize))); + snprintf(S,End-S,"/%sB %.0f%%",SizeToStr(I->TotalSize).c_str(), + (I->CurrentSize*100.0)/I->TotalSize); } S += strlen(S); snprintf(S,End-S,"]"); @@ -236,7 +238,7 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner) if (CurrentCPS != 0) { char Tmp[300]; - unsigned long ETA = (unsigned long)((TotalBytes - CurrentBytes)/CurrentCPS); + unsigned long long ETA = (TotalBytes - CurrentBytes)/CurrentCPS; sprintf(Tmp," %sB/s %s",SizeToStr(CurrentCPS).c_str(),TimeToStr(ETA).c_str()); unsigned int Len = strlen(Buffer); unsigned int LenT = strlen(Tmp); diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc index 232bb93ec..a4cdf784e 100644 --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@ -13,8 +13,9 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/error.h> -#include <cassert> #include <apt-pkg/pkgcachegen.h> #include <apt-pkg/cachefile.h> #include <apt-pkg/cacheset.h> @@ -31,17 +32,16 @@ #include <apt-pkg/algorithms.h> #include <apt-pkg/sptr.h> -#include <config.h> -#include <apti18n.h> - +#include <cassert> #include <locale.h> #include <iostream> #include <unistd.h> #include <errno.h> #include <regex.h> #include <stdio.h> - #include <iomanip> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -141,7 +141,7 @@ bool ShowUnMet(pkgCache::VerIterator const &V, bool const &Important) if (Start == End) break; - Start++; + ++Start; } while (1); @@ -169,7 +169,7 @@ bool ShowUnMet(pkgCache::VerIterator const &V, bool const &Important) if (Start == End) break; cout << " | "; - Start++; + ++Start; } while (1); @@ -187,7 +187,7 @@ bool UnMet(CommandLine &CmdL) if (CmdL.FileSize() <= 1) { - for (pkgCache::PkgIterator P = CacheFile.GetPkgCache()->PkgBegin(); P.end() == false; P++) + for (pkgCache::PkgIterator P = CacheFile.GetPkgCache()->PkgBegin(); P.end() == false; ++P) for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V) if (ShowUnMet(V, Important) == false) return false; @@ -217,13 +217,13 @@ bool DumpPackage(CommandLine &CmdL) { cout << "Package: " << Pkg.FullName(true) << endl; cout << "Versions: " << endl; - for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++) + for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; ++Cur) { cout << Cur.VerStr(); - for (pkgCache::VerFileIterator Vf = Cur.FileList(); Vf.end() == false; Vf++) + for (pkgCache::VerFileIterator Vf = Cur.FileList(); Vf.end() == false; ++Vf) cout << " (" << Vf.File().FileName() << ")"; cout << endl; - for (pkgCache::DescIterator D = Cur.DescriptionList(); D.end() == false; D++) + for (pkgCache::DescIterator D = Cur.DescriptionList(); D.end() == false; ++D) { cout << " Description Language: " << D.LanguageCode() << endl << " File: " << D.FileList().File().FileName() << endl @@ -235,7 +235,7 @@ bool DumpPackage(CommandLine &CmdL) cout << endl; cout << "Reverse Depends: " << endl; - for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() != true; D++) + for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() != true; ++D) { cout << " " << D.ParentPkg().FullName(true) << ',' << D.TargetPkg().FullName(true); if (D->Version != 0) @@ -245,24 +245,24 @@ bool DumpPackage(CommandLine &CmdL) } cout << "Dependencies: " << endl; - for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++) + for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; ++Cur) { cout << Cur.VerStr() << " - "; - for (pkgCache::DepIterator Dep = Cur.DependsList(); Dep.end() != true; Dep++) + for (pkgCache::DepIterator Dep = Cur.DependsList(); Dep.end() != true; ++Dep) cout << Dep.TargetPkg().FullName(true) << " (" << (int)Dep->CompareOp << " " << DeNull(Dep.TargetVer()) << ") "; cout << endl; } cout << "Provides: " << endl; - for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++) + for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; ++Cur) { cout << Cur.VerStr() << " - "; - for (pkgCache::PrvIterator Prv = Cur.ProvidesList(); Prv.end() != true; Prv++) + for (pkgCache::PrvIterator Prv = Cur.ProvidesList(); Prv.end() != true; ++Prv) cout << Prv.ParentPkg().FullName(true) << " "; cout << endl; } cout << "Reverse Provides: " << endl; - for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); Prv.end() != true; Prv++) + for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); Prv.end() != true; ++Prv) cout << Prv.OwnerPkg().FullName(true) << " " << Prv.OwnerVer().VerStr() << endl; } @@ -290,7 +290,7 @@ bool Stats(CommandLine &Cmd) int DVirt = 0; int Missing = 0; pkgCache::PkgIterator I = Cache->PkgBegin(); - for (;I.end() != true; I++) + for (;I.end() != true; ++I) { if (I->VersionList != 0 && I->ProvidesList == 0) { @@ -353,11 +353,11 @@ bool Stats(CommandLine &Cmd) cout << _("Total globbed strings: ") << Count << " (" << SizeToStr(Size) << ')' << endl; unsigned long DepVerSize = 0; - for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++) + for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P) { - for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; V++) + for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V) { - for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; ++D) { if (D->Version != 0) DepVerSize += strlen(D.TargetVer()) + 1; @@ -394,17 +394,17 @@ bool Dump(CommandLine &Cmd) cout << "Using Versioning System: " << Cache->VS->Label << endl; - for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++) + for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P) { cout << "Package: " << P.FullName(true) << endl; - for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; V++) + for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V) { cout << " Version: " << V.VerStr() << endl; cout << " File: " << V.FileList().File().FileName() << endl; - for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = V.DependsList(); D.end() == false; ++D) cout << " Depends: " << D.TargetPkg().FullName(true) << ' ' << DeNull(D.TargetVer()) << endl; - for (pkgCache::DescIterator D = V.DescriptionList(); D.end() == false; D++) + for (pkgCache::DescIterator D = V.DescriptionList(); D.end() == false; ++D) { cout << " Description Language: " << D.LanguageCode() << endl << " File: " << D.FileList().File().FileName() << endl @@ -413,7 +413,7 @@ bool Dump(CommandLine &Cmd) } } - for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F.end() == false; F++) + for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F.end() == false; ++F) { cout << "File: " << F.FileName() << endl; cout << " Type: " << F.IndexType() << endl; @@ -449,7 +449,7 @@ bool DumpAvail(CommandLine &Cmd) memset(VFList,0,sizeof(*VFList)*Count); // Map versions that we want to write out onto the VerList array. - for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++) + for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P) { if (P->VersionList == 0) continue; @@ -466,7 +466,7 @@ bool DumpAvail(CommandLine &Cmd) } pkgCache::VerFileIterator VF = V.FileList(); - for (; VF.end() == false ; VF++) + for (; VF.end() == false ; ++VF) if ((VF.File()->Flags & pkgCache::Flag::NotSource) == 0) break; @@ -480,9 +480,9 @@ bool DumpAvail(CommandLine &Cmd) handling works OK. */ if (VF.end() == true) { - for (pkgCache::VerIterator Cur = P.VersionList(); Cur.end() != true; Cur++) + for (pkgCache::VerIterator Cur = P.VersionList(); Cur.end() != true; ++Cur) { - for (VF = Cur.FileList(); VF.end() == false; VF++) + for (VF = Cur.FileList(); VF.end() == false; ++VF) { if ((VF.File()->Flags & pkgCache::Flag::NotSource) == 0) { @@ -615,7 +615,7 @@ bool ShowDepends(CommandLine &CmdL, bool const RevDepends) if (RevDepends == true) cout << "Reverse Depends:" << endl; for (pkgCache::DepIterator D = RevDepends ? Pkg.RevDependsList() : Ver.DependsList(); - D.end() == false; D++) + D.end() == false; ++D) { switch (D->Type) { case pkgCache::Dep::PreDepends: if (!ShowPreDepends) continue; break; @@ -741,7 +741,7 @@ bool XVcg(CommandLine &CmdL) memset(Flags,0,sizeof(*Flags)*Cache->Head().PackageCount); // Map the shapes - for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++) + for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg) { if (Pkg->VersionList == 0) { @@ -788,7 +788,7 @@ bool XVcg(CommandLine &CmdL) while (Act == true) { Act = false; - for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++) + for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg) { // See we need to show this package if (Show[Pkg->ID] == None || Show[Pkg->ID] >= DoneNR) @@ -814,14 +814,14 @@ bool XVcg(CommandLine &CmdL) continue; pkgCache::VerIterator Ver = Pkg.VersionList(); - for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; ++D) { // See if anything can meet this dep // Walk along the actual package providing versions bool Hit = false; pkgCache::PkgIterator DPkg = D.TargetPkg(); for (pkgCache::VerIterator I = DPkg.VersionList(); - I.end() == false && Hit == false; I++) + I.end() == false && Hit == false; ++I) { if (Cache->VS->CheckDep(I.VerStr(),D->CompareOp,D.TargetVer()) == true) Hit = true; @@ -829,7 +829,7 @@ bool XVcg(CommandLine &CmdL) // Follow all provides for (pkgCache::PrvIterator I = DPkg.ProvidesList(); - I.end() == false && Hit == false; I++) + I.end() == false && Hit == false; ++I) { if (Cache->VS->CheckDep(I.ProvideVersion(),D->CompareOp,D.TargetVer()) == false) Hit = true; @@ -889,7 +889,7 @@ bool XVcg(CommandLine &CmdL) /* Draw the box colours after the fact since we can not tell what colour they should be until everything is finished drawing */ - for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++) + for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg) { if (Show[Pkg->ID] < DoneNR) continue; @@ -953,7 +953,7 @@ bool Dotty(CommandLine &CmdL) memset(Flags,0,sizeof(*Flags)*Cache->Head().PackageCount); // Map the shapes - for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++) + for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg) { if (Pkg->VersionList == 0) { @@ -1000,7 +1000,7 @@ bool Dotty(CommandLine &CmdL) while (Act == true) { Act = false; - for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++) + for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg) { // See we need to show this package if (Show[Pkg->ID] == None || Show[Pkg->ID] >= DoneNR) @@ -1024,14 +1024,14 @@ bool Dotty(CommandLine &CmdL) continue; pkgCache::VerIterator Ver = Pkg.VersionList(); - for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; ++D) { // See if anything can meet this dep // Walk along the actual package providing versions bool Hit = false; pkgCache::PkgIterator DPkg = D.TargetPkg(); for (pkgCache::VerIterator I = DPkg.VersionList(); - I.end() == false && Hit == false; I++) + I.end() == false && Hit == false; ++I) { if (Cache->VS->CheckDep(I.VerStr(),D->CompareOp,D.TargetVer()) == true) Hit = true; @@ -1039,7 +1039,7 @@ bool Dotty(CommandLine &CmdL) // Follow all provides for (pkgCache::PrvIterator I = DPkg.ProvidesList(); - I.end() == false && Hit == false; I++) + I.end() == false && Hit == false; ++I) { if (Cache->VS->CheckDep(I.ProvideVersion(),D->CompareOp,D.TargetVer()) == false) Hit = true; @@ -1094,7 +1094,7 @@ bool Dotty(CommandLine &CmdL) /* Draw the box colours after the fact since we can not tell what colour they should be until everything is finished drawing */ - for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; Pkg++) + for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); Pkg.end() == false; ++Pkg) { if (Show[Pkg->ID] < DoneNR) continue; @@ -1127,7 +1127,7 @@ bool DisplayRecord(pkgCacheFile &CacheFile, pkgCache::VerIterator V) // Find an appropriate file pkgCache::VerFileIterator Vf = V.FileList(); - for (; Vf.end() == false; Vf++) + for (; Vf.end() == false; ++Vf) if ((Vf.File()->Flags & pkgCache::Flag::NotSource) == 0) break; if (Vf.end() == true) @@ -1272,7 +1272,7 @@ bool Search(CommandLine &CmdL) continue; // Include all the packages that provide matching names too - for (pkgCache::PrvIterator Prv = P.ProvidesList() ; Prv.end() == false; Prv++) + for (pkgCache::PrvIterator Prv = P.ProvidesList() ; Prv.end() == false; ++Prv) { pkgCache::VerIterator V = Plcy->GetCandidateVer(Prv.OwnerPkg()); if (V.end() == true) @@ -1341,13 +1341,13 @@ bool ShowAuto(CommandLine &CmdL) std::vector<string> packages; packages.reserve(Cache->HeaderP->PackageCount / 3); - for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++) + for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; ++P) if ((*DepCache)[P].Flags & pkgCache::Flag::Auto) packages.push_back(P.Name()); std::sort(packages.begin(), packages.end()); - for (vector<string>::iterator I = packages.begin(); I != packages.end(); I++) + for (vector<string>::iterator I = packages.begin(); I != packages.end(); ++I) cout << *I << "\n"; _error->Notice(_("This command is deprecated. Please use 'apt-mark showauto' instead.")); @@ -1391,7 +1391,7 @@ bool ShowPkgNames(CommandLine &CmdL) if (CmdL.FileList[1] != 0) { - for (;I.end() != true; I++) + for (;I.end() != true; ++I) { if (All == false && I->FirstPackage == 0) continue; @@ -1405,7 +1405,7 @@ bool ShowPkgNames(CommandLine &CmdL) } // Show all pkgs - for (;I.end() != true; I++) + for (;I.end() != true; ++I) { if (All == false && I->FirstPackage == 0) continue; @@ -1476,7 +1476,7 @@ bool Policy(CommandLine &CmdL) if (CmdL.FileList[1] == 0) { cout << _("Package files:") << endl; - for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F.end() == false; F++) + for (pkgCache::PkgFileIterator F = Cache->FileBegin(); F.end() == false; ++F) { // Locate the associated index files so we can derive a description pkgIndexFile *Indx; @@ -1498,7 +1498,7 @@ bool Policy(CommandLine &CmdL) // Show any packages have explicit pins cout << _("Pinned packages:") << endl; pkgCache::PkgIterator I = Cache->PkgBegin(); - for (;I.end() != true; I++) + for (;I.end() != true; ++I) { if (Plcy->GetPriority(I) == 0) continue; @@ -1560,14 +1560,14 @@ bool Policy(CommandLine &CmdL) // Show the priority tables cout << _(" Version table:") << endl; - for (V = Pkg.VersionList(); V.end() == false; V++) + for (V = Pkg.VersionList(); V.end() == false; ++V) { if (Pkg.CurrentVer() == V) cout << " *** " << V.VerStr(); else cout << " " << V.VerStr(); cout << " " << Plcy->GetPriority(Pkg) << endl; - for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; VF++) + for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; ++VF) { // Locate the associated index files so we can derive a description pkgIndexFile *Indx; @@ -1607,9 +1607,9 @@ bool Madison(CommandLine &CmdL) APT::PackageSet pkgset = APT::PackageSet::FromString(CacheFile, *I, helper); for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg) { - for (pkgCache::VerIterator V = Pkg.VersionList(); V.end() == false; V++) + for (pkgCache::VerIterator V = Pkg.VersionList(); V.end() == false; ++V) { - for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; VF++) + for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; ++VF) { // This might be nice, but wouldn't uniquely identify the source -mdz // if (VF.File().Archive() != 0) @@ -1619,11 +1619,11 @@ bool Madison(CommandLine &CmdL) // } // Locate the associated index files so we can derive a description - for (pkgSourceList::const_iterator S = SrcList->begin(); S != SrcList->end(); S++) + for (pkgSourceList::const_iterator S = SrcList->begin(); S != SrcList->end(); ++S) { vector<pkgIndexFile *> *Indexes = (*S)->GetIndexFiles(); for (vector<pkgIndexFile *>::const_iterator IF = Indexes->begin(); - IF != Indexes->end(); IF++) + IF != Indexes->end(); ++IF) { if ((*IF)->FindInCache(*(VF.File().Cache())) == VF.File()) { diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc index d1268edf9..8608b1215 100644 --- a/cmdline/apt-cdrom.cc +++ b/cmdline/apt-cdrom.cc @@ -11,6 +11,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/cmndline.h> #include <apt-pkg/error.h> #include <apt-pkg/init.h> @@ -21,10 +23,6 @@ #include <apt-pkg/acquire.h> #include <apt-pkg/acquire-item.h> #include <apt-pkg/cdrom.h> -#include <config.h> -#include <apti18n.h> - -//#include "indexcopy.h" #include <locale.h> #include <iostream> @@ -36,6 +34,8 @@ #include <dirent.h> #include <unistd.h> #include <stdio.h> + +#include <apti18n.h> /*}}}*/ using namespace std; diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc index 589ee7ada..df2958975 100644 --- a/cmdline/apt-config.cc +++ b/cmdline/apt-config.cc @@ -16,6 +16,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/cmndline.h> #include <apt-pkg/error.h> #include <apt-pkg/init.h> @@ -23,13 +25,12 @@ #include <apt-pkg/configuration.h> #include <apt-pkg/aptconfiguration.h> -#include <config.h> -#include <apti18n.h> - #include <locale.h> #include <iostream> #include <string> #include <vector> + +#include <apti18n.h> /*}}}*/ using namespace std; diff --git a/cmdline/apt-dump-solver.cc b/cmdline/apt-dump-solver.cc new file mode 100644 index 000000000..dab0cc6fd --- /dev/null +++ b/cmdline/apt-dump-solver.cc @@ -0,0 +1,50 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ##################################################################### + + dummy solver to get quickly a scenario file out of APT + + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <apt-pkg/edsp.h> + +#include <config.h> + +#include <cstdio> + /*}}}*/ + +// ShowHelp - Show a help screen /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool ShowHelp() { + + std::cout << + PACKAGE " " VERSION " for " COMMON_ARCH " compiled on " __DATE__ " " __TIME__ << std::endl << + "Usage: apt-dump-resolver\n" + "\n" + "apt-dump-resolver is a dummy solver who just dumps its input to the\n" + "file /tmp/dump.edsp and exists with a proper EDSP error.\n" + "\n" + " This dump has lost Super Cow Powers.\n"; + return true; +} + /*}}}*/ +int main(int argc,const char *argv[]) /*{{{*/ +{ + if (argc > 1 && (strcmp(argv[1], "--help") == 0 || strcmp(argv[1],"-h") == 0 || + strcmp(argv[1],"-v") == 0 || strcmp(argv[1],"--version") == 0)) { + ShowHelp(); + return 0; + } + + FILE* input = fdopen(STDIN_FILENO, "r"); + FILE* output = fopen("/tmp/dump.edsp", "w"); + char buffer[400]; + while (fgets(buffer, sizeof(buffer), input) != NULL) + fputs(buffer, output); + fclose(output); + fclose(input); + + EDSP::WriteError("ERR_JUST_DUMPING", "I am too dumb, i can just dump!\nPlease use one of my friends instead!", stdout); +} diff --git a/cmdline/apt-extracttemplates.cc b/cmdline/apt-extracttemplates.cc index 07bc0c25d..5d7b76c23 100644 --- a/cmdline/apt-extracttemplates.cc +++ b/cmdline/apt-extracttemplates.cc @@ -13,6 +13,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include<config.h> + #include <apt-pkg/init.h> #include <apt-pkg/cmndline.h> #include <apt-pkg/pkgcache.h> @@ -28,7 +30,7 @@ #include <apt-pkg/error.h> #include <apt-pkg/strutl.h> #include <apt-pkg/fileutl.h> - + #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -36,7 +38,6 @@ #include <fstream> #include <locale.h> -#include <config.h> #include <apti18n.h> #include "apt-extracttemplates.h" /*}}}*/ diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 845c92026..d8f207f0a 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -25,8 +25,7 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#define _LARGEFILE_SOURCE -#define _LARGEFILE64_SOURCE +#include <config.h> #include <apt-pkg/aptconfiguration.h> #include <apt-pkg/error.h> @@ -46,9 +45,6 @@ #include <apt-pkg/md5.h> #include <apt-pkg/versionmatch.h> -#include <config.h> -#include <apti18n.h> - #include "acqprogress.h" #include <set> @@ -68,8 +64,7 @@ #include <sys/wait.h> #include <sstream> -#define statfs statfs64 -#define statvfs statvfs64 +#include <apti18n.h> /*}}}*/ #define RAMFS_MAGIC 0x858458f6 @@ -135,6 +130,11 @@ bool YnPrompt(bool Default=true) c1out << _("Y") << endl; return true; } + else if (_config->FindB("APT::Get::Assume-No",false) == true) + { + c1out << _("N") << endl; + return false; + } char response[1024] = ""; cin.getline(response, sizeof(response)); @@ -363,7 +363,7 @@ void ShowBroken(ostream &out,CacheFile &Cache,bool Now) if (Start == End) break; - Start++; + ++Start; } } } @@ -537,7 +537,7 @@ bool ShowEssential(ostream &out,CacheFile &Cache) continue; // Print out any essential package depenendents that are to be removed - for (pkgCache::DepIterator D = I.CurrentVer().DependsList(); D.end() == false; D++) + for (pkgCache::DepIterator D = I.CurrentVer().DependsList(); D.end() == false; ++D) { // Skip everything but depends if (D->Type != pkgCache::Dep::PreDepends && @@ -574,7 +574,7 @@ void Stats(ostream &out,pkgDepCache &Dep) unsigned long Downgrade = 0; unsigned long Install = 0; unsigned long ReInstall = 0; - for (pkgCache::PkgIterator I = Dep.PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Dep.PkgBegin(); I.end() == false; ++I) { if (Dep[I].NewInstall() == true) Install++; @@ -666,7 +666,7 @@ public: } // if we found no candidate which provide this package, show non-candidates if (provider == 0) - for (I = Pkg.ProvidesList(); I.end() == false; I++) + for (I = Pkg.ProvidesList(); I.end() == false; ++I) out << " " << I.OwnerPkg().FullName(true) << " " << I.OwnerVer().VerStr() << _(" [Not candidate version]") << endl; else @@ -682,7 +682,7 @@ public: SPtrArray<bool> Seen = new bool[Cache.GetPkgCache()->Head().PackageCount]; memset(Seen,0,Cache.GetPkgCache()->Head().PackageCount*sizeof(*Seen)); for (pkgCache::DepIterator Dep = Pkg.RevDependsList(); - Dep.end() == false; Dep++) { + Dep.end() == false; ++Dep) { if (Dep->Type != pkgCache::Dep::Replaces) continue; if (Seen[Dep.ParentPkg()->ID] == true) @@ -869,9 +869,7 @@ struct TryToInstall { struct TryToRemove { pkgCacheFile* Cache; pkgProblemResolver* Fix; - bool FixBroken; bool PurgePkgs; - unsigned long AutoMarkChanged; TryToRemove(pkgCacheFile &Cache, pkgProblemResolver *PM) : Cache(&Cache), Fix(PM), PurgePkgs(_config->FindB("APT::Get::Purge", false)) {}; @@ -923,7 +921,7 @@ void CacheFile::Sort() List = new pkgCache::Package *[Cache->Head().PackageCount]; memset(List,0,sizeof(*List)*Cache->Head().PackageCount); pkgCache::PkgIterator I = Cache->PkgBegin(); - for (;I.end() != true; I++) + for (;I.end() != true; ++I) List[I->ID] = I; SortCache = *this; @@ -955,7 +953,7 @@ bool CacheFile::CheckDeps(bool AllowBroken) if ((DCache->PolicyBrokenCount() > 0)) { // upgrade all policy-broken packages with ForceImportantDeps=True - for (pkgCache::PkgIterator I = Cache->PkgBegin(); !I.end(); I++) + for (pkgCache::PkgIterator I = Cache->PkgBegin(); !I.end(); ++I) if ((*DCache)[I].NowPolicyBroken() == true) DCache->MarkInstall(I,true,0, false, true); } @@ -1046,7 +1044,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, if (_config->FindB("APT::Get::Purge",false) == true) { pkgCache::PkgIterator I = Cache->PkgBegin(); - for (; I.end() == false; I++) + for (; I.end() == false; ++I) { if (I.Purge() == false && Cache[I].Mode == pkgDepCache::ModeDelete) Cache->MarkDelete(I,true); @@ -1240,7 +1238,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, if (_config->FindB("APT::Get::Print-URIs") == true) { pkgAcquire::UriIterator I = Fetcher.UriBegin(); - for (; I != Fetcher.UriEnd(); I++) + for (; I != Fetcher.UriEnd(); ++I) cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' << I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl; return true; @@ -1264,7 +1262,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, { if ((*I)->Local == true) { - I++; + ++I; continue; } @@ -1284,7 +1282,7 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, // Print out errors bool Failed = false; - for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++) + for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); ++I) { if ((*I)->Status == pkgAcquire::Item::StatDone && (*I)->Complete == true) @@ -1388,6 +1386,14 @@ bool TryToInstallBuildDep(pkgCache::PkgIterator Pkg,pkgCacheFile &Cache, return AllowFail; } + if (_config->FindB("Debug::BuildDeps",false) == true) + { + if (Remove == true) + cout << " Trying to remove " << Pkg << endl; + else + cout << " Trying to install " << Pkg << endl; + } + if (Remove == true) { TryToRemove RemoveAction(Cache, &Fix); @@ -1436,7 +1442,7 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, // we have a default release, try to locate the pkg. we do it like // this because GetCandidateVer() will not "downgrade", that means // "apt-get source -t stable apt" won't work on a unstable system - for (pkgCache::VerIterator Ver = Pkg.VersionList();; Ver++) + for (pkgCache::VerIterator Ver = Pkg.VersionList();; ++Ver) { // try first only exact matches, later fuzzy matches if (Ver.end() == true) @@ -1457,7 +1463,7 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, continue; for (pkgCache::VerFileIterator VF = Ver.FileList(); - VF.end() == false; VF++) + VF.end() == false; ++VF) { /* If this is the status file, and the current version is not the version in the status file (ie it is not installed, or somesuch) @@ -1609,7 +1615,7 @@ bool DoUpdate(CommandLine &CmdL) return false; pkgAcquire::UriIterator I = Fetcher.UriBegin(); - for (; I != Fetcher.UriEnd(); I++) + for (; I != Fetcher.UriEnd(); ++I) cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' << I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl; return true; @@ -1619,7 +1625,8 @@ bool DoUpdate(CommandLine &CmdL) if (_config->FindB("APT::Get::Download",true) == true) ListUpdate(Stat, *List); - // Rebuild the cache. + // Rebuild the cache. + pkgCacheFile::RemoveCaches(); if (Cache.BuildCaches() == false) return false; @@ -1697,7 +1704,7 @@ bool DoAutomaticRemove(CacheFile &Cache) // we could have removed a new dependency of a garbage package, // so check if a reverse depends is broken and if so install it again. - if (tooMuch.empty() == false && Cache->BrokenCount() != 0) + if (tooMuch.empty() == false && (Cache->BrokenCount() != 0 || Cache->PolicyBrokenCount() != 0)) { bool Changed; do { @@ -1708,8 +1715,8 @@ bool DoAutomaticRemove(CacheFile &Cache) for (pkgCache::DepIterator R = P.RevDependsList(); R.end() == false; ++R) { - if (R->Type != pkgCache::Dep::Depends && - R->Type != pkgCache::Dep::PreDepends) + if (R.IsNegative() == true || + Cache->IsImportantDep(R) == false) continue; pkgCache::PkgIterator N = R.ParentPkg(); if (N.end() == true || (N->CurrentVer == 0 && (*Cache)[N].Install() == false)) @@ -1886,8 +1893,7 @@ bool DoInstall(CommandLine &CmdL) { // Call the scored problem resolver Fix->InstallProtect(); - if (Fix->Resolve(true) == false) - _error->Discard(); + Fix->Resolve(true); delete Fix; } @@ -1913,8 +1919,11 @@ bool DoInstall(CommandLine &CmdL) c1out << _("The following information may help to resolve the situation:") << endl; c1out << endl; ShowBroken(c1out,Cache,false); - return _error->Error(_("Broken packages")); - } + if (_error->PendingError() == true) + return false; + else + return _error->Error(_("Broken packages")); + } } if (!DoAutomaticRemove(Cache)) return false; @@ -1992,7 +2001,7 @@ bool DoInstall(CommandLine &CmdL) if(Start.TargetPkg().ProvidesList() != 0) { pkgCache::PrvIterator I = Start.TargetPkg().ProvidesList(); - for (; I.end() == false; I++) + for (; I.end() == false; ++I) { pkgCache::PkgIterator Pkg = I.OwnerPkg(); if (Cache[Pkg].CandidateVerIter(Cache) == I.OwnerVer() && @@ -2015,7 +2024,7 @@ bool DoInstall(CommandLine &CmdL) if (Start >= End) break; - Start++; + ++Start; } if(foundInstalledInOrGroup == false) @@ -2129,7 +2138,7 @@ bool DoDSelectUpgrade(CommandLine &CmdL) // Install everything with the install flag set pkgCache::PkgIterator I = Cache->PkgBegin(); - for (;I.end() != true; I++) + for (;I.end() != true; ++I) { /* Install the package only if it is a new install, the autoupgrader will deal with the rest */ @@ -2139,7 +2148,7 @@ bool DoDSelectUpgrade(CommandLine &CmdL) /* Now install their deps too, if we do this above then order of the status file is significant for | groups */ - for (I = Cache->PkgBegin();I.end() != true; I++) + for (I = Cache->PkgBegin();I.end() != true; ++I) { /* Install the package only if it is a new install, the autoupgrader will deal with the rest */ @@ -2148,7 +2157,7 @@ bool DoDSelectUpgrade(CommandLine &CmdL) } // Apply erasures now, they override everything else. - for (I = Cache->PkgBegin();I.end() != true; I++) + for (I = Cache->PkgBegin();I.end() != true; ++I) { // Remove packages if (I->SelectedState == pkgCache::State::DeInstall || @@ -2165,7 +2174,7 @@ bool DoDSelectUpgrade(CommandLine &CmdL) // Hold back held packages. if (_config->FindB("APT::Ignore-Hold",false) == false) { - for (pkgCache::PkgIterator I = Cache->PkgBegin(); I.end() == false; I++) + for (pkgCache::PkgIterator I = Cache->PkgBegin(); I.end() == false; ++I) { if (I->SelectedState == pkgCache::State::Hold) { @@ -2197,10 +2206,14 @@ bool DoDSelectUpgrade(CommandLine &CmdL) /* */ bool DoClean(CommandLine &CmdL) { + std::string const archivedir = _config->FindDir("Dir::Cache::archives"); + std::string const pkgcache = _config->FindFile("Dir::cache::pkgcache"); + std::string const srcpkgcache = _config->FindFile("Dir::cache::srcpkgcache"); + if (_config->FindB("APT::Get::Simulate") == true) { - cout << "Del " << _config->FindDir("Dir::Cache::archives") << "* " << - _config->FindDir("Dir::Cache::archives") << "partial/*" << endl; + cout << "Del " << archivedir << "* " << archivedir << "partial/*"<< endl + << "Del " << pkgcache << " " << srcpkgcache << endl; return true; } @@ -2208,14 +2221,17 @@ bool DoClean(CommandLine &CmdL) FileFd Lock; if (_config->FindB("Debug::NoLocking",false) == false) { - Lock.Fd(GetLock(_config->FindDir("Dir::Cache::Archives") + "lock")); + Lock.Fd(GetLock(archivedir + "lock")); if (_error->PendingError() == true) return _error->Error(_("Unable to lock the download directory")); } pkgAcquire Fetcher; - Fetcher.Clean(_config->FindDir("Dir::Cache::archives")); - Fetcher.Clean(_config->FindDir("Dir::Cache::archives") + "partial/"); + Fetcher.Clean(archivedir); + Fetcher.Clean(archivedir + "partial/"); + + pkgCacheFile::RemoveCaches(); + return true; } /*}}}*/ @@ -2273,7 +2289,7 @@ bool DoDownload(CommandLine &CmdL) pkgAcquire Fetcher; AcqTextStatus Stat(ScreenWidth, _config->FindI("quiet",0)); - if (_config->FindB("APT::Get::Print-URIs") == true) + if (_config->FindB("APT::Get::Print-URIs") == false) Fetcher.Setup(&Stat); pkgRecords Recs(Cache); @@ -2297,6 +2313,8 @@ bool DoDownload(CommandLine &CmdL) strprintf(descr, _("Downloading %s %s"), Pkg.Name(), Ver.VerStr()); // get the most appropriate hash HashString hash; + if (rec.SHA512Hash() != "") + hash = HashString("sha512", rec.SHA512Hash()); if (rec.SHA256Hash() != "") hash = HashString("sha256", rec.SHA256Hash()); else if (rec.SHA1Hash() != "") @@ -2311,7 +2329,7 @@ bool DoDownload(CommandLine &CmdL) if (_config->FindB("APT::Get::Print-URIs") == true) { pkgAcquire::UriIterator I = Fetcher.UriBegin(); - for (; I != Fetcher.UriEnd(); I++) + for (; I != Fetcher.UriEnd(); ++I) cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' << I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl; return true; @@ -2366,8 +2384,7 @@ bool DoSource(CommandLine &CmdL) // Create the download object AcqTextStatus Stat(ScreenWidth,_config->FindI("quiet",0)); pkgAcquire Fetcher; - if (Fetcher.Setup(&Stat) == false) - return false; + Fetcher.SetLog(&Stat); DscFile *Dsc = new DscFile[CmdL.FileSize()]; @@ -2430,7 +2447,7 @@ bool DoSource(CommandLine &CmdL) // Load them into the fetcher for (vector<pkgSrcRecords::File>::const_iterator I = Lst.begin(); - I != Lst.end(); I++) + I != Lst.end(); ++I) { // Try to guess what sort of file it is we are getting. if (I->Type == "dsc") @@ -2532,7 +2549,7 @@ bool DoSource(CommandLine &CmdL) if (_config->FindB("APT::Get::Print-URIs") == true) { pkgAcquire::UriIterator I = Fetcher.UriBegin(); - for (; I != Fetcher.UriEnd(); I++) + for (; I != Fetcher.UriEnd(); ++I) cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' << I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl; delete[] Dsc; @@ -2548,7 +2565,7 @@ bool DoSource(CommandLine &CmdL) // Print error messages bool Failed = false; - for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++) + for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); ++I) { if ((*I)->Status == pkgAcquire::Item::StatDone && (*I)->Complete == true) @@ -2577,7 +2594,7 @@ bool DoSource(CommandLine &CmdL) if (Process == 0) { bool const fixBroken = _config->FindB("APT::Get::Fix-Broken", false); - for (unsigned I = 0; I != J; I++) + for (unsigned I = 0; I != J; ++I) { string Dir = Dsc[I].Package + '-' + Cache->VS().UpstreamVersion(Dsc[I].Version.c_str()); @@ -2613,12 +2630,17 @@ bool DoSource(CommandLine &CmdL) // Try to compile it with dpkg-buildpackage if (_config->FindB("APT::Get::Compile",false) == true) { + string buildopts = _config->Find("APT::Get::Host-Architecture"); + if (buildopts.empty() == false) + buildopts = "-a " + buildopts + " "; + buildopts.append(_config->Find("DPkg::Build-Options","-b -uc")); + // Call dpkg-buildpackage char S[500]; snprintf(S,sizeof(S),"cd %s && %s %s", Dir.c_str(), _config->Find("Dir::Bin::dpkg-buildpackage","dpkg-buildpackage").c_str(), - _config->Find("DPkg::Build-Options","-b -uc").c_str()); + buildopts.c_str()); if (system(S) != 0) { @@ -2680,8 +2702,19 @@ bool DoBuildDep(CommandLine &CmdL) if (Fetcher.Setup(&Stat) == false) return false; + bool StripMultiArch; + string hostArch = _config->Find("APT::Get::Host-Architecture"); + if (hostArch.empty() == false) + { + std::vector<std::string> archs = APT::Configuration::getArchitectures(); + if (std::find(archs.begin(), archs.end(), hostArch) == archs.end()) + return _error->Error(_("No architecture information available for %s. See apt.conf(5) APT::Architectures for setup"), hostArch.c_str()); + StripMultiArch = false; + } + else + StripMultiArch = true; + unsigned J = 0; - bool const StripMultiArch = APT::Configuration::getArchitectures().size() <= 1; for (const char **I = CmdL.FileList + 1; *I != 0; I++, J++) { string Src; @@ -2710,22 +2743,32 @@ bool DoBuildDep(CommandLine &CmdL) BuildDeps.push_back(rec); } - if (BuildDeps.size() == 0) + if (BuildDeps.empty() == true) { ioprintf(c1out,_("%s has no build depends.\n"),Src.c_str()); continue; } - + // Install the requested packages vector <pkgSrcRecords::Parser::BuildDepRec>::iterator D; pkgProblemResolver Fix(Cache); bool skipAlternatives = false; // skip remaining alternatives in an or group - for (D = BuildDeps.begin(); D != BuildDeps.end(); D++) + for (D = BuildDeps.begin(); D != BuildDeps.end(); ++D) { bool hasAlternatives = (((*D).Op & pkgCache::Dep::Or) == pkgCache::Dep::Or); if (skipAlternatives == true) { + /* + * if there are alternatives, we've already picked one, so skip + * the rest + * + * TODO: this means that if there's a build-dep on A|B and B is + * installed, we'll still try to install A; more importantly, + * if A is currently broken, we cannot go back and try B. To fix + * this would require we do a Resolve cycle for each package we + * add to the install list. Ugh + */ if (!hasAlternatives) skipAlternatives = false; // end of or group continue; @@ -2734,27 +2777,117 @@ bool DoBuildDep(CommandLine &CmdL) if ((*D).Type == pkgSrcRecords::Parser::BuildConflict || (*D).Type == pkgSrcRecords::Parser::BuildConflictIndep) { - pkgCache::PkgIterator Pkg = Cache->FindPkg((*D).Package); + pkgCache::GrpIterator Grp = Cache->FindGrp((*D).Package); // Build-conflicts on unknown packages are silently ignored - if (Pkg.end() == true) + if (Grp.end() == true) continue; - pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache); - - /* - * Remove if we have an installed version that satisfies the - * version criteria - */ - if (IV.end() == false && - Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) - TryToInstallBuildDep(Pkg,Cache,Fix,true,false); + for (pkgCache::PkgIterator Pkg = Grp.PackageList(); Pkg.end() == false; Pkg = Grp.NextPkg(Pkg)) + { + pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache); + /* + * Remove if we have an installed version that satisfies the + * version criteria + */ + if (IV.end() == false && + Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) + TryToInstallBuildDep(Pkg,Cache,Fix,true,false); + } } else // BuildDep || BuildDepIndep { - pkgCache::PkgIterator Pkg = Cache->FindPkg((*D).Package); if (_config->FindB("Debug::BuildDeps",false) == true) cout << "Looking for " << (*D).Package << "...\n"; + pkgCache::PkgIterator Pkg; + + // Cross-Building? + if (StripMultiArch == false) + { + size_t const colon = D->Package.find(":"); + if (colon != string::npos && + (strcmp(D->Package.c_str() + colon, ":any") == 0 || strcmp(D->Package.c_str() + colon, ":native") == 0)) + Pkg = Cache->FindPkg(D->Package.substr(0,colon)); + else + Pkg = Cache->FindPkg(D->Package); + + // We need to decide if host or build arch, so find a version we can look at + pkgCache::VerIterator Ver; + + // a bad version either is invalid or doesn't satify dependency + #define BADVER(Ver) Ver.end() == true || \ + (Ver.end() == false && D->Version.empty() == false && \ + Cache->VS().CheckDep(Ver.VerStr(),D->Op,D->Version.c_str()) == false) + + if (Pkg.end() == false) + { + Ver = (*Cache)[Pkg].InstVerIter(*Cache); + if (BADVER(Ver)) + Ver = (*Cache)[Pkg].CandidateVerIter(*Cache); + } + if (BADVER(Ver)) + { + pkgCache::PkgIterator HostPkg = Cache->FindPkg(D->Package, hostArch); + if (HostPkg.end() == false) + { + Ver = (*Cache)[HostPkg].InstVerIter(*Cache); + if (BADVER(Ver)) + Ver = (*Cache)[HostPkg].CandidateVerIter(*Cache); + } + } + if ((BADVER(Ver)) == false) + { + string forbidden; + if (Ver->MultiArch == pkgCache::Version::None || Ver->MultiArch == pkgCache::Version::All); + else if (Ver->MultiArch == pkgCache::Version::Same) + { + if (colon != string::npos) + Pkg = Ver.ParentPkg().Group().FindPkg(hostArch); + else if (strcmp(D->Package.c_str() + colon, ":any") == 0) + forbidden = "Multi-Arch: same"; + // :native gets the buildArch + } + else if (Ver->MultiArch == pkgCache::Version::Foreign || Ver->MultiArch == pkgCache::Version::AllForeign) + { + if (colon != string::npos) + forbidden = "Multi-Arch: foreign"; + } + else if (Ver->MultiArch == pkgCache::Version::Allowed || Ver->MultiArch == pkgCache::Version::AllAllowed) + { + if (colon == string::npos) + Pkg = Ver.ParentPkg().Group().FindPkg(hostArch); + else if (strcmp(D->Package.c_str() + colon, ":any") == 0) + { + // prefer any installed over preferred non-installed architectures + pkgCache::GrpIterator Grp = Ver.ParentPkg().Group(); + // we don't check for version here as we are better of with upgrading than remove and install + for (Pkg = Grp.PackageList(); Pkg.end() == false; Pkg = Grp.NextPkg(Pkg)) + if (Pkg.CurrentVer().end() == false) + break; + if (Pkg.end() == true) + Pkg = Grp.FindPreferredPkg(true); + } + // native gets buildArch + } + if (forbidden.empty() == false) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " :any is not allowed from M-A: same package " << (*D).Package << endl; + if (hasAlternatives) + continue; + return _error->Error(_("%s dependency for %s can't be satisfied " + "because %s is not allowed on '%s' packages"), + Last->BuildDepType(D->Type), Src.c_str(), + D->Package.c_str(), "Multi-Arch: same"); + } + } + else if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " No multiarch info as we have no satisfying installed nor candidate for " << D->Package << " on build or host arch" << endl; + #undef BADVER + } + else + Pkg = Cache->FindPkg(D->Package); + if (Pkg.end() == true) { if (_config->FindB("Debug::BuildDeps",false) == true) @@ -2769,99 +2902,74 @@ bool DoBuildDep(CommandLine &CmdL) (*D).Package.c_str()); } - /* - * if there are alternatives, we've already picked one, so skip - * the rest - * - * TODO: this means that if there's a build-dep on A|B and B is - * installed, we'll still try to install A; more importantly, - * if A is currently broken, we cannot go back and try B. To fix - * this would require we do a Resolve cycle for each package we - * add to the install list. Ugh - */ - - /* - * If this is a virtual package, we need to check the list of - * packages that provide it and see if any of those are - * installed - */ - pkgCache::PrvIterator Prv = Pkg.ProvidesList(); - for (; Prv.end() != true; Prv++) - { - if (_config->FindB("Debug::BuildDeps",false) == true) - cout << " Checking provider " << Prv.OwnerPkg().FullName() << endl; - - if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false) - break; - } - - // Get installed version and version we are going to install pkgCache::VerIterator IV = (*Cache)[Pkg].InstVerIter(*Cache); + if (IV.end() == false) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Is installed\n"; - if ((*D).Version[0] != '\0') { - // Versioned dependency - - pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache); - - for (; CV.end() != true; CV++) - { - if (Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) - break; - } - if (CV.end() == true) - { - if (hasAlternatives) - { - continue; - } - else - { - return _error->Error(_("%s dependency for %s cannot be satisfied " - "because no available versions of package %s " - "can satisfy version requirements"), - Last->BuildDepType((*D).Type),Src.c_str(), - (*D).Package.c_str()); - } - } - } - else - { - // Only consider virtual packages if there is no versioned dependency - if (Prv.end() == false) - { - if (_config->FindB("Debug::BuildDeps",false) == true) - cout << " Is provided by installed package " << Prv.OwnerPkg().FullName() << endl; - skipAlternatives = hasAlternatives; - continue; - } - } + if (D->Version.empty() == true || + Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) + { + skipAlternatives = hasAlternatives; + continue; + } - if (IV.end() == false) - { - if (_config->FindB("Debug::BuildDeps",false) == true) - cout << " Is installed\n"; + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " ...but the installed version doesn't meet the version requirement\n"; - if (Cache->VS().CheckDep(IV.VerStr(),(*D).Op,(*D).Version.c_str()) == true) - { - skipAlternatives = hasAlternatives; - continue; - } + if (((*D).Op & pkgCache::Dep::LessEq) == pkgCache::Dep::LessEq) + return _error->Error(_("Failed to satisfy %s dependency for %s: Installed package %s is too new"), + Last->BuildDepType((*D).Type), Src.c_str(), Pkg.FullName(true).c_str()); + } - if (_config->FindB("Debug::BuildDeps",false) == true) - cout << " ...but the installed version doesn't meet the version requirement\n"; - - if (((*D).Op & pkgCache::Dep::LessEq) == pkgCache::Dep::LessEq) - { - return _error->Error(_("Failed to satisfy %s dependency for %s: Installed package %s is too new"), - Last->BuildDepType((*D).Type), - Src.c_str(), - Pkg.FullName(true).c_str()); - } - } + // Only consider virtual packages if there is no versioned dependency + if ((*D).Version.empty() == true) + { + /* + * If this is a virtual package, we need to check the list of + * packages that provide it and see if any of those are + * installed + */ + pkgCache::PrvIterator Prv = Pkg.ProvidesList(); + for (; Prv.end() != true; ++Prv) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Checking provider " << Prv.OwnerPkg().FullName() << endl; + if ((*Cache)[Prv.OwnerPkg()].InstVerIter(*Cache).end() == false) + break; + } - if (_config->FindB("Debug::BuildDeps",false) == true) - cout << " Trying to install " << (*D).Package << endl; + if (Prv.end() == false) + { + if (_config->FindB("Debug::BuildDeps",false) == true) + cout << " Is provided by installed package " << Prv.OwnerPkg().FullName() << endl; + skipAlternatives = hasAlternatives; + continue; + } + } + else // versioned dependency + { + pkgCache::VerIterator CV = (*Cache)[Pkg].CandidateVerIter(*Cache); + if (CV.end() == true || + Cache->VS().CheckDep(CV.VerStr(),(*D).Op,(*D).Version.c_str()) == false) + { + if (hasAlternatives) + continue; + else if (CV.end() == false) + return _error->Error(_("%s dependency for %s cannot be satisfied " + "because candidate version of package %s " + "can't satisfy version requirements"), + Last->BuildDepType(D->Type), Src.c_str(), + D->Package.c_str()); + else + return _error->Error(_("%s dependency for %s cannot be satisfied " + "because package %s has no candidate version"), + Last->BuildDepType(D->Type), Src.c_str(), + D->Package.c_str()); + } + } if (TryToInstallBuildDep(Pkg,Cache,Fix,false,false) == true) { @@ -3241,12 +3349,14 @@ int main(int argc,const char *argv[]) /*{{{*/ {'s',"dry-run","APT::Get::Simulate",0}, {'s',"no-act","APT::Get::Simulate",0}, {'y',"yes","APT::Get::Assume-Yes",0}, - {'y',"assume-yes","APT::Get::Assume-Yes",0}, + {'y',"assume-yes","APT::Get::Assume-Yes",0}, + {0,"assume-no","APT::Get::Assume-No",0}, {'f',"fix-broken","APT::Get::Fix-Broken",0}, {'u',"show-upgraded","APT::Get::Show-Upgraded",0}, {'m',"ignore-missing","APT::Get::Fix-Missing",0}, {'t',"target-release","APT::Default-Release",CommandLine::HasArg}, {'t',"default-release","APT::Default-Release",CommandLine::HasArg}, + {'a',"host-architecture","APT::Get::Host-Architecture",CommandLine::HasArg}, {0,"download","APT::Get::Download",0}, {0,"fix-missing","APT::Get::Fix-Missing",0}, {0,"ignore-hold","APT::Ignore-Hold",0}, @@ -3270,6 +3380,7 @@ int main(int argc,const char *argv[]) /*{{{*/ {0,"install-recommends","APT::Install-Recommends",CommandLine::Boolean}, {0,"install-suggests","APT::Install-Suggests",CommandLine::Boolean}, {0,"fix-policy","APT::Get::Fix-Policy-Broken",0}, + {0,"solver","APT::Solver",CommandLine::HasArg}, {'c',"config-file",0,CommandLine::ConfigFile}, {'o',"option",0,CommandLine::ArbItem}, {0,0,0,0}}; diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc new file mode 100644 index 000000000..ef6c688fe --- /dev/null +++ b/cmdline/apt-internal-solver.cc @@ -0,0 +1,190 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ##################################################################### + + cover around the internal solver to be able to run it like an external + + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <apt-pkg/error.h> +#include <apt-pkg/cmndline.h> +#include <apt-pkg/init.h> +#include <apt-pkg/cachefile.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/edsp.h> +#include <apt-pkg/algorithms.h> +#include <apt-pkg/fileutl.h> + +#include <config.h> +#include <apti18n.h> + +#include <unistd.h> +#include <cstdio> + /*}}}*/ + +// ShowHelp - Show a help screen /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool ShowHelp(CommandLine &CmdL) { + ioprintf(std::cout,_("%s %s for %s compiled on %s %s\n"),PACKAGE,VERSION, + COMMON_ARCH,__DATE__,__TIME__); + + std::cout << + _("Usage: apt-internal-resolver\n" + "\n" + "apt-internal-resolver is an interface to use the current internal\n" + "like an external resolver for the APT family for debugging or alike\n" + "\n" + "Options:\n" + " -h This help text.\n" + " -q Loggable output - no progress indicator\n" + " -c=? Read this configuration file\n" + " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" + "apt.conf(5) manual pages for more information and options.\n" + " This APT has Super Cow Powers.\n"); + return true; +} + /*}}}*/ +int main(int argc,const char *argv[]) /*{{{*/ +{ + CommandLine::Args Args[] = { + {'h',"help","help",0}, + {'v',"version","version",0}, + {'q',"quiet","quiet",CommandLine::IntLevel}, + {'q',"silent","quiet",CommandLine::IntLevel}, + {'c',"config-file",0,CommandLine::ConfigFile}, + {'o',"option",0,CommandLine::ArbItem}, + {0,0,0,0}}; + + CommandLine CmdL(Args,_config); + if (pkgInitConfig(*_config) == false || + CmdL.Parse(argc,argv) == false) { + _error->DumpErrors(); + return 2; + } + + // See if the help should be shown + if (_config->FindB("help") == true || + _config->FindB("version") == true) { + ShowHelp(CmdL); + return 1; + } + + if (CmdL.FileList[0] != 0 && strcmp(CmdL.FileList[0], "scenario") == 0) + { + if (pkgInitSystem(*_config,_system) == false) { + std::cerr << "System could not be initialized!" << std::endl; + return 1; + } + pkgCacheFile CacheFile; + CacheFile.Open(NULL, false); + APT::PackageSet pkgset = APT::PackageSet::FromCommandLine(CacheFile, CmdL.FileList + 1); + FILE* output = stdout; + if (pkgset.empty() == true) + EDSP::WriteScenario(CacheFile, output); + else + EDSP::WriteLimitedScenario(CacheFile, output, pkgset); + fclose(output); + _error->DumpErrors(std::cerr); + return 0; + } + + // Deal with stdout not being a tty + if (!isatty(STDOUT_FILENO) && _config->FindI("quiet", -1) == -1) + _config->Set("quiet","1"); + + if (_config->FindI("quiet", 0) < 1) + _config->Set("Debug::EDSP::WriteSolution", true); + + _config->Set("APT::Solver", "internal"); + _config->Set("edsp::scenario", "stdin"); + int input = STDIN_FILENO; + FILE* output = stdout; + SetNonBlock(input, false); + + EDSP::WriteProgress(0, "Start up solver…", output); + + if (pkgInitSystem(*_config,_system) == false) { + std::cerr << "System could not be initialized!" << std::endl; + return 1; + } + + EDSP::WriteProgress(1, "Read request…", output); + + if (WaitFd(input, false, 5) == false) + std::cerr << "WAIT timed out in the resolver" << std::endl; + + std::list<std::string> install, remove; + bool upgrade, distUpgrade, autoRemove; + if (EDSP::ReadRequest(input, install, remove, upgrade, distUpgrade, autoRemove) == false) { + std::cerr << "Parsing the request failed!" << std::endl; + return 2; + } + + EDSP::WriteProgress(5, "Read scenario…", output); + + pkgCacheFile CacheFile; + CacheFile.Open(NULL, false); + + EDSP::WriteProgress(50, "Apply request on scenario…", output); + + if (EDSP::ApplyRequest(install, remove, CacheFile) == false) { + std::cerr << "Failed to apply request to depcache!" << std::endl; + return 3; + } + + pkgProblemResolver Fix(CacheFile); + for (std::list<std::string>::const_iterator i = remove.begin(); + i != remove.end(); ++i) { + pkgCache::PkgIterator P = CacheFile->FindPkg(*i); + Fix.Clear(P); + Fix.Protect(P); + Fix.Remove(P); + } + + for (std::list<std::string>::const_iterator i = install.begin(); + i != install.end(); ++i) { + pkgCache::PkgIterator P = CacheFile->FindPkg(*i); + Fix.Clear(P); + Fix.Protect(P); + } + + for (std::list<std::string>::const_iterator i = install.begin(); + i != install.end(); ++i) + CacheFile->MarkInstall(CacheFile->FindPkg(*i), true); + + EDSP::WriteProgress(60, "Call problemresolver on current scenario…", output); + + if (upgrade == true) { + if (pkgAllUpgrade(CacheFile) == false) { + EDSP::WriteError("ERR_UNSOLVABLE_UPGRADE", "An upgrade error occured", output); + return 0; + } + } else if (distUpgrade == true) { + if (pkgDistUpgrade(CacheFile) == false) { + EDSP::WriteError("ERR_UNSOLVABLE_DIST_UPGRADE", "An dist-upgrade error occured", output); + return 0; + } + } else if (Fix.Resolve() == false) { + EDSP::WriteError("ERR_UNSOLVABLE", "An error occured", output); + return 0; + } + + EDSP::WriteProgress(95, "Write solution…", output); + + if (EDSP::WriteSolution(CacheFile, output) == false) { + std::cerr << "Failed to output the solution!" << std::endl; + return 4; + } + + EDSP::WriteProgress(100, "Done", output); + + bool const Errors = _error->PendingError(); + if (_config->FindI("quiet",0) > 0) + _error->DumpErrors(std::cerr); + else + _error->DumpErrors(std::cerr, GlobalError::DEBUG); + return Errors == true ? 100 : 0; +} + /*}}}*/ diff --git a/cmdline/apt-key b/cmdline/apt-key index 843163f82..97d6e0323 100755 --- a/cmdline/apt-key +++ b/cmdline/apt-key @@ -5,9 +5,12 @@ unset GREP_OPTIONS # We don't use a secret keyring, of course, but gpg panics and # implodes if there isn't one available -GPG_CMD='gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg' +SECRETKEYRING="$(mktemp)" +trap "rm -f '${SECRETKEYRING}'" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM +GPG_CMD="gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring ${SECRETKEYRING}" if [ "$(id -u)" -eq 0 ]; then + # we could use a tmpfile here too, but creation of this tends to be time-consuming GPG_CMD="$GPG_CMD --trustdb-name /etc/apt/trustdb.gpg" fi @@ -149,7 +152,7 @@ if [ "$1" = "--keyring" ]; then #echo "keyfile given" shift TRUSTEDFILE="$1" - if [ -r "$TRUSTEDFILE" ]; then + if [ -r "$TRUSTEDFILE" ] || [ "$2" = 'add' ]; then GPG="$GPG --keyring $TRUSTEDFILE --primary-keyring $TRUSTEDFILE" else echo >&2 "Error: The specified keyring »$TRUSTEDFILE« is missing or not readable" diff --git a/cmdline/apt-mark.cc b/cmdline/apt-mark.cc index b2c664979..8c9a47913 100644 --- a/cmdline/apt-mark.cc +++ b/cmdline/apt-mark.cc @@ -5,6 +5,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/cachefile.h> #include <apt-pkg/cacheset.h> #include <apt-pkg/cmndline.h> @@ -12,10 +14,9 @@ #include <apt-pkg/init.h> #include <apt-pkg/strutl.h> -#include <config.h> -#include <apti18n.h> - #include <algorithm> + +#include <apti18n.h> /*}}}*/ using namespace std; diff --git a/cmdline/apt-sortpkgs.cc b/cmdline/apt-sortpkgs.cc index 171b0ba13..44b74cf6c 100644 --- a/cmdline/apt-sortpkgs.cc +++ b/cmdline/apt-sortpkgs.cc @@ -12,6 +12,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/tagfile.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> @@ -19,14 +21,13 @@ #include <apt-pkg/init.h> #include <apt-pkg/strutl.h> -#include <config.h> -#include <apti18n.h> - #include <vector> #include <algorithm> #include <locale.h> #include <unistd.h> + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -106,7 +107,7 @@ bool DoIt(string InFile) // Emit unsigned char *Buffer = new unsigned char[Largest+1]; - for (vector<PkgName>::iterator I = List.begin(); I != List.end(); I++) + for (vector<PkgName>::iterator I = List.begin(); I != List.end(); ++I) { // Read in the Record. if (Fd.Seek(I->Offset) == false || Fd.Read(Buffer,I->Length) == false) diff --git a/cmdline/makefile b/cmdline/makefile index e867dae73..07e9eb8ca 100644 --- a/cmdline/makefile +++ b/cmdline/makefile @@ -65,3 +65,17 @@ include $(PROGRAM_H) #TO=$(BIN) #TARGET=program #include $(COPY_H) + +# The internal solver acting as an external +PROGRAM=apt-internal-solver +SLIBS = -lapt-pkg $(INTLLIBS) +LIB_MAKES = apt-pkg/makefile +SOURCE = apt-internal-solver.cc +include $(PROGRAM_H) + +# This just dumps out the state +PROGRAM=apt-dump-solver +SLIBS = -lapt-pkg $(INTLLIBS) +LIB_MAKES = apt-pkg/makefile +SOURCE = apt-dump-solver.cc +include $(PROGRAM_H) diff --git a/configure.in b/configure.in index 3bf7f853d..c2602cf36 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib) AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- -AC_DEFINE_UNQUOTED(VERSION,"0.8.15.1") +AC_DEFINE_UNQUOTED(VERSION,"0.8.16~exp6") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) @@ -31,6 +31,10 @@ AC_CHECK_TOOL_PREFIX AC_PROG_CC AC_ISC_POSIX +dnl check for large file support and enable it if possible +dnl do this early as other stuff might depend on it +AC_SYS_LARGEFILE + dnl Check for other programs AC_PROG_CXX AC_PROG_CPP @@ -151,7 +155,7 @@ if test "$cross_compiling" = "yes" -a "x$archline" = "x"; then AC_MSG_ERROR(When cross compiling, architecture must be present in sizetable) fi AC_C_BIGENDIAN - + dnl We do not need this if we have inttypes! HAVE_C9X=yes if test x"$apt_cv_c9x_ints" = x"no"; then diff --git a/debian/apt-doc.docs b/debian/apt-doc.docs index 86aa69ceb..4ec23f55d 100644 --- a/debian/apt-doc.docs +++ b/debian/apt-doc.docs @@ -1,2 +1,3 @@ README.progress-reporting README.MultiArch +doc/external-dependency-solver-protocol.txt diff --git a/debian/apt-utils.dirs b/debian/apt-utils.dirs index 14f5b95d7..681e55192 100644 --- a/debian/apt-utils.dirs +++ b/debian/apt-utils.dirs @@ -1,2 +1,2 @@ -usr/lib +usr/lib/apt/solvers usr/bin diff --git a/debian/apt-utils.install b/debian/apt-utils.install index d947f26d4..8b1378917 100644 --- a/debian/apt-utils.install +++ b/debian/apt-utils.install @@ -1 +1 @@ -bin/libapt-inst*.so.* usr/lib/ + diff --git a/debian/apt-utils.links b/debian/apt-utils.links new file mode 100644 index 000000000..5bf138c4a --- /dev/null +++ b/debian/apt-utils.links @@ -0,0 +1 @@ +usr/bin/apt-internal-solver usr/lib/apt/solvers/apt diff --git a/debian/apt.dirs b/debian/apt.dirs index 2770d79bb..f9c0b6c3e 100644 --- a/debian/apt.dirs +++ b/debian/apt.dirs @@ -1,5 +1,6 @@ usr/bin usr/lib/apt/methods +usr/lib/apt/solvers usr/lib/dpkg/methods/apt etc/apt etc/apt/apt.conf.d diff --git a/debian/apt.install b/debian/apt.install index 979e04ce2..9d4008fab 100644 --- a/debian/apt.install +++ b/debian/apt.install @@ -1,5 +1,4 @@ bin/apt-* usr/bin/ -bin/libapt-pkg*.so.* usr/lib/ bin/methods/* usr/lib/apt/methods/ scripts/dselect/* usr/lib/dpkg/methods/apt/ -locale usr/share/ +usr/share/locale/*/*/apt.mo diff --git a/debian/apt.postinst b/debian/apt.postinst index cc0d8b1fe..4d87c4e25 100644 --- a/debian/apt.postinst +++ b/debian/apt.postinst @@ -15,6 +15,11 @@ set -e case "$1" in configure) + SECRING='/etc/apt/secring.gpg' + # test if secring is an empty normal file + if test -f $SECRING -a ! -s $SECRING; then + rm -f $SECRING + fi apt-key update ;; diff --git a/debian/changelog b/debian/changelog index 87d25e78f..444a99ba7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,286 @@ +apt (0.8.16~exp6) experimental; urgency=low + + [ Christopher Baines ] + * enable APT in unpack/configure ordering to handle loops as well + as tight dependencies between immediate packages better + enabling also the possibility to mark all packages as immediate + (at least Closes: #353290, #540227, #559733, #621836, #639290) + + [ David Kalnischkies ] + * [abi-break] Support large files in the complete toolset. Indexes of this + size are pretty unlikely for now, but we need it for deb + packages which could become bigger than 4GB now (LP: #815895) + * merged the debian-sid branch + + [ Michael Vogt ] + * bump ABI version + + -- Michael Vogt <mvo@debian.org> Wed, 14 Sep 2011 13:26:23 +0200 + +apt (0.8.16~exp5) experimental; urgency=low + + * merged the latest debian-sid fixes + * apt-pkg/makefile: + - install sha256.h compat header + * apt-pkg/pkgcachegen.{cc,h}: + - use ref-to-ptr semantic in NewDepends() to ensure that the + libapt does not segfault if the cache is remapped in between + (LP: #812862) + - fix crash when P.Arch() was used but the cache got remapped + * apt-pkg/acquire-item.{cc,h}: + - do not check for a "Package" tag in optional index targets + like the translations index + * apt-pkg/acquire.cc: + - fix potential divide-by-zero + * methods/mirror.cc: + - include the architecture(s) in the query string as well so + that the server can make better decisions + + -- Michael Vogt <mvo@debian.org> Mon, 15 Aug 2011 14:52:54 +0200 + +apt (0.8.16~exp4) experimental; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/pkgcache.h: + - [ABI break] Add pkgCache::Header::CacheFileSize, storing the cache size + * apt-pkg/pkgcachegen.cc: + - Write the file size to the cache + * apt-pkg/pkgcache.cc: + - Check that cache is at least CacheFileSize bytes large (LP: #16467) + + [ Michael Vogt ] + * merged latest fixes from debian-sid + * apt-pkg/cdrom.{cc,h}: + - cleanup old ABI break avoidance hacks + * [ABI break] apt-pkg/acquire-item.{cc,h}: + - cleanup around OptionalIndexTarget and SubIndexTarget + * [ABI break] merged patch from Jonathan Thomas to have a new + RecordField() function in the pkgRecorder parser. Many thanks + Thomas + * [ABI break] merge patch from Jonathan Thomas to speed up the + depcache by caching the install-recommends and install-suggests + values + * apt-pkg/contrib/fileutl.{cc,h}: + - add GetModificationTime() helper + * apt-pkg/pkgcachegen.cc: + - regenerate the cache if the sources.list changes to ensure + that changes in the ordering there will be honored by apt + * apt-pkg/sourcelist.{cc,h}: + - add pkgSourceList::GetLastModifiedTime() helper + + -- Michael Vogt <mvo@debian.org> Thu, 28 Jul 2011 16:57:08 +0200 + +apt (0.8.16~exp3) experimental; urgency=low + + [ David Kalnischkies ] + * apt-pkg/pkgcache.h: + - readd All{Foreign,Allowed} as suggested by Julian to + remain strictly API compatible + * apt-pkg/acquire*.{cc,h}: + - try even harder to support really big files in the fetcher by + converting (hopefully) everything to 'long long' (Closes: #632271) + * ftparchive/writer.cc: + - generate all checksums in one run over the file for Release + * cmdline/apt-get.cc: + - add an --assume-no option for testing to say 'no' to everything + * apt-pkg/deb/debmetaindex.cc: + - add trusted=yes option to mark unsigned (local) repository as trusted + based on a patch from Ansgar Burchardt, thanks a lot! (Closes: #596498) + + [ Michael Vogt ] + * merge fixes from the debian/unstable upload + * merge lp:~mvo/apt/sha512-template to get fixes for the + sha1/md5 verifiation (closes: #632520) + + -- Michael Vogt <mvo@debian.org> Fri, 15 Jul 2011 09:56:17 +0200 + +apt (0.8.16~exp2) experimental; urgency=low + + [ David Kalnischkies ] + * [ABI-Break] Implement EDSP in libapt-pkg so that all front-ends which + use the internal resolver can now be used also with external + ones as the usage is hidden in between the old API + * provide two edsp solvers in apt-utils: + - 'dump' to quickly output a complete scenario and + - 'apt' to use the internal as an external resolver + * apt-pkg/pkgcache.h: + - clean up mess with the "all" handling in MultiArch to + fix LP: #733741 cleanly for everyone now + * apt-pkg/depcache.cc: + - use a boolean instead of an int for Add/Remove in AddStates + similar to how it works with AddSizes + - let the Mark methods return if their marking was successful + - if a Breaks can't be upgraded, remove it. If it or a Conflict + can't be removed the installation of the breaker fails. + * cmdline/apt-get.cc: + - do not discard the error messages from the resolver and instead + only show the general 'Broken packages' message if nothing else + + [ Stefano Zacchiroli ] + * doc/external-dependency-solver-protocol.txt: + - describe EDSP and the configuration interface around it + + [ Michael Vogt ] + * [ABI-Break] merge lp:~mvo/apt/sha512-template to add support for sha512 + * [ABI-Break] merge lp:~mvo/apt/dpointer to support easier extending + without breaking the ABI + * increase ABI version and update package names + + -- Michael Vogt <mvo@debian.org> Wed, 29 Jun 2011 13:57:28 +0200 + +apt (0.8.16~exp1) experimental; urgency=low + + * merged with the debian/unstable upload + + -- Michael Vogt <mvo@debian.org> Wed, 29 Jun 2011 12:40:31 +0200 + +apt (0.8.15.7) unstable; urgency=low + + [ David Kalnischkies ] + * apt-pkg/packagemanager.cc, apt-pkg/pkgcache.cc: + - ignore "self"-conflicts for all architectures of a package + instead of just for the architecture of the package look at + in the ordering of installations, too (LP: #802901) + - M-A:same lockstep unpack should operate on installed + packages first (LP: #835625) + * test/* + - reorganize the various testcases and helper we have and + integrate them better into the buildsystem + - run the test/libapt testcases at package build-time + * debian/apt.symbols: + - add the newly added symbols since 0.8.15.3 + * cmdline/apt-get.cc: + - remove the binary caches in 'apt-get clean' as it is the first + thing recommend by many supporters in case of APT segfaults + - remove the caches in 'apt-get update', too, as they will be + invalid in most cases anyway + * apt-pkg/acquire-item.cc: + - if no Release.gpg file is found try to verify with hashes, + but do not fail if a hash can't be found + * apt-pkg/acquire.cc: + - non-existing directories are by definition clean + * cmdline/apt-key: + - if command is 'add' do not error out if the specified + keyring doesn't exist, it will be created by gpg + * apt-pkg/orderlist.cc: + - prefer visiting packages marked for deletion in VisitProvides + if we are operating on a negative dependency so that we can + deal early with the fallout of this remove + * apt-pkg/indexrecords.cc: + - fix Acquire::Max-ValidTime option by interpreting it really + as seconds as specified in the manpage and not as days + - add an Acquire::Min-ValidTime option (Closes: #640122) + * doc/apt.conf.5.xml: + - reword Acquire::Max-ValidTime documentation to make clear + that it doesn't provide the new Min-ValidTime functionality + + -- Michael Vogt <mvo@debian.org> Mon, 12 Sep 2011 16:38:46 +0200 + +apt (0.8.15.6) unstable; urgency=low + + [ Michael Vogt ] + * apt-pkg/contrib/fileutl.{cc,h}: + - add GetModificationTime() helper + * apt-pkg/pkgcachegen.cc: + - regenerate the cache if the sources.list changes to ensure + that changes in the ordering there will be honored by apt + * apt-pkg/sourcelist.{cc,h}: + - add pkgSourceList::GetLastModifiedTime() helper + * apt-pkg/pkgcachegen.{cc,h}: + - use ref-to-ptr semantic in NewDepends() to ensure that the + libapt does not segfault if the cache is remapped in between + (LP: #812862) + - fix crash when P.Arch() was used but the cache got remapped + * test/integration/test-hashsum-verification: + - add regression test for hashsum verification + * apt-pkg/acquire-item.cc: + - if no Release.gpg file is found, still load the hashes for + verification (closes: #636314) and add test + + [ David Kalnischkies ] + * lots of cppcheck fixes + + -- Michael Vogt <mvo@debian.org> Mon, 15 Aug 2011 09:20:35 +0200 + +apt (0.8.15.5) unstable; urgency=low + + [ David Kalnischkies ] + * apt-pkg/deb/deblistparser.cc: + - do not assume that the last char on a line is a \n (Closes: #633350) + + -- Michael Vogt <mvo@debian.org> Thu, 28 Jul 2011 16:49:15 +0200 + +apt (0.8.15.4) unstable; urgency=low + + [ David Miller ] + * apt-pkg/contrib/sha1.cc: + - fix illegally casts of on-stack buffer to a type requiring more + alignment than it has resulting in segfaults on sparc (Closes: #634696) + + [ Michael Vogt ] + * apt-pkg/contrib/cdromutl.cc: + - fix escape problem when looking for the mounted devices + * apt-pkg/contrib/strutl.{h,cc}, test/libapt/strutil_test.cc: + - add new DeEscapeString() similar to DeQuoteString but + unescape character escapes like \0XX and \xXX (plus added + test) + * refresh po/* + + -- Michael Vogt <mvo@debian.org> Tue, 26 Jul 2011 12:12:27 +0200 + +apt (0.8.15.3) unstable; urgency=low + + [ Michael Vogt ] + * apt-pkg/acquire-item.cc: + - improve error message for a expired Release file + * apt-pkg/algorithms.cc: + - Hold back packages that would enter "policy-broken" state on upgrade + when doing a "apt-get upgrade" + * cmdline/apt-get.cc: + - fix missing download progress in apt-get download + + [ David Kalnischkies ] + * apt-pkg/pkgcachegen.cc: + - fallback to memory if file is not writeable even if access() + told us the opposite before (e.g. in fakeroot 1.16) (Closes: #630591) + * doc/sources.list.5.xml: + - document available [options] for sources.list entries (Closes: 632441) + * doc/apt.conf.5.xml: + - document APT::Architectures list (Closes: #612102) + * cmdline/apt-get.cc: + - restore all important dependencies for garbage packages (LP: #806274) + - do not require unused partial dirs in 'source' (Closes: #633510) + - buildconflicts effect all architectures + - implement MultiarchCross for build-dep and source (Closes: #632221) + * apt-pkg/init.cc: + - use CndSet in pkgInitConfig (Closes: #629617) + * apt-pkg/depcache.cc: + - change default of APT::AutoRemove::SuggestsImportant to true + * cmdline/apt-key: + - use a tmpfile instead of /etc/apt/secring.gpg (Closes: #632596) + * debian/apt.postinst: + - remove /etc/apt/secring.gpg if it is an empty file + * doc/apt-cache.8.xml: + - apply madison typofix from John Feuerstein, thanks! (Closes: #633455) + * apt-pkg/policy.cc: + - emit an error on unknown APT::Default-Release value (Closes: #407511) + * apt-pkg/aptconfiguration.cc: + - ensure that native architecture is if not specified otherwise the + first architecture in the Architectures vector + * apt-pkg/deb/deblistparser.cc: + - Strip only :any and :native if MultiArch should be stripped as it is + save to ignore them in non-MultiArch contexts but if the dependency + is a specific architecture (and not the native) do not strip + + -- Michael Vogt <mvo@debian.org> Mon, 25 Jul 2011 15:04:43 +0200 + +apt (0.8.15.2) unstable; urgency=high + + * fix from David Kalnischkies for the InRelease gpg verification + code (LP: #784473) + + -- Michael Vogt <mvo@debian.org> Tue, 12 Jul 2011 11:54:47 +0200 + apt (0.8.15.1) unstable; urgency=low [ David Kalnischkies ] @@ -130,6 +413,185 @@ apt (0.8.15) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Tue, 28 Jun 2011 18:00:48 +0200 +apt (0.8.15~exp3) experimental; urgency=low + + * debian/control: + - add Breaks: 0.8.15~exp3) for libapt-pkg4.10 and + libapt-inst1.2 (thanks to Jonathan Nieder, closes: #630214) + - use depends for the ${shlibs:Depends} to make the breaks work + + -- Michael Vogt <mvo@debian.org> Fri, 17 Jun 2011 21:51:41 +0200 + +apt (0.8.15~exp2) experimental; urgency=low + + * debian/control: + - fix incorrect Replaces (closes: #630204) for libapt-inst1.2 + + -- Michael Vogt <mvo@debian.org> Wed, 15 Jun 2011 16:51:14 +0200 + +apt (0.8.15~exp1) experimental; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/depcache.cc: + - Really release action groups only once (Closes: #622744) + - Make purge work again for config-files (LP: #244598) (Closes: #150831) + * apt-pkg/acquire-item.cc: + - Reject files known to be invalid (LP: #346386) (Closes: #627642) + * debian/apt.cron.daily: + - Check power after wait, patch by manuel-soto (LP: #705269) + * debian/control: + - Move ${shlibs:Depends} to Pre-Depends, as we do not want APT + unpacked if a library is too old and thus break upgrades + * doc/apt-key.8.xml: + - Document apt-key net-update (LP: #192810) + + [ Christian Perrier ] + * Galician translation update (Miguel Anxo Bouzada). Closes: #626505 + * Italian translation update (Milo Casagrande). Closes: #627834 + * German documentation translation update (Chris Leick). Closes: #629949 + + [ David Kalnischkies ] + * fix a bunch of cppcheck warnings/errors based on a patch by + Niels Thykier, thanks! (Closes: #622805) + * apt-pkg/depcache.cc: + - really include 'rc' packages in the delete count by fixing a + typo which exists since 1999 in the source… (LP: #761175) + - if critical or-group can't be satisfied, exit directly. + * apt-pkg/acquire-method.cc: + - write directly to stdout instead of creating the message in + memory first before writing to avoid hitting limits + - fix order of CurrentURI and UsedMirror in Status() and Log() + * apt-pkg/orderlist.cc: + - let VisitRProvides report if the calls were successful + * apt-pkg/deb/dpkgpm.cc: + - replace obsolete usleep with nanosleep + * debian/apt{,-utils}.symbols: + - update both experimental symbol-files to reflect 0.8.14 state + * debian/rules: + - remove unused embedded jquery by doxygen from libapt-pkg-doc + * cmdline/apt-mark.cc: + - reimplement apt-mark in c++ + - provide a 'showmanual' command (Closes: #582791) + - provide a 'dpkg --set-selections' wrapper to set/release holds + * cmdline/apt-get.cc: + - deprecate mostly undocumented 'markauto' in favor of 'apt-mark' + * cmdline/apt-cache.cc: + - deprecate mostly undocumented 'showauto' in favor of 'apt-mark' + * apt-pkg/pkgcache.cc: + - really ignore :arch in FindPkg() in non-multiarch environment + * doc/po/de.po: + - undo the translation of the command 'dump' in manpage of apt-config + as report by Burghard Grossmann on debian-l10n-german, thanks! + * apt-pkg/deb/debmetaindex.cc: + - do not download TranslationIndex if no Translation-* will be + downloaded later on anyway (Closes: #624218) + * test/versions.lst: + - disable obscure version number tests with versions dpkg doesn't + allow any more as they don't start with a number + * apt-pkg/acquire-worker.cc: + - print filename in the unmatching size warning (Closes: #623137) + * apt-pkg/acquire-item.cc: + - apply fix for poorly worded 'locate file' error message from + Ben Finney, thanks! (Closes: #623171) + * methods/http.cc: + - add config option to ignore a closed stdin to be able to easily + use the method as a simple standalone downloader + - Location header in redirects should be absolute URI, but some + servers just send an absolute path so still deal with it properly + - dequote URL taken from Location in redirects as we will otherwise + quote an already quoted string in the request later (Closes: #602412) + * apt-pkg/contrib/netrc.cc: + - replace non-posix gnu-extension strdupa with strdup + * apt-pkg/packagemanager.cc: + - ensure for Multi-Arch:same packages that they are unpacked in + lock step even in immediate configuration (Closes: #618288) + + [ Michael Vogt ] + * methods/mirror.cc: + - ignore lines starting with "#" in the mirror file + - ignore non http urls in the mirrors + - append the dist (e.g. sid, wheezy) as a query string when + asking for a suitable mirror + * debian/control: + - add libapt-pkg4.10 and libapt-inst1.2 library packages + + -- Michael Vogt <mvo@debian.org> Fri, 10 Jun 2011 15:32:07 +0200 + +apt (0.8.14.2) UNRELEASED; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/depcache.cc: + - Really release action groups only once (Closes: #622744) + - Make purge work again for config-files (LP: #244598) (Closes: #150831) + * debian/apt.cron.daily: + - Check power after wait, patch by manuel-soto (LP: #705269) + * debian/control: + - Move ${shlibs:Depends} to Pre-Depends, as we do not want APT + unpacked if a library is too old and thus break upgrades + * doc/apt-key.8.xml: + - Document apt-key net-update (LP: #192810) + + [ Christian Perrier ] + * Galician translation update (Miguel Anxo Bouzada). Closes: #626505 + + [ David Kalnischkies ] + * fix a bunch of cppcheck warnings/errors based on a patch by + Niels Thykier, thanks! (Closes: #622805) + * apt-pkg/depcache.cc: + - really include 'rc' packages in the delete count by fixing a + typo which exists since 1999 in the source… (LP: #761175) + - if critical or-group can't be satisfied, exit directly. + * apt-pkg/acquire-method.cc: + - write directly to stdout instead of creating the message in + memory first before writing to avoid hitting limits + - fix order of CurrentURI and UsedMirror in Status() and Log() + * apt-pkg/orderlist.cc: + - let VisitRProvides report if the calls were successful + * apt-pkg/deb/dpkgpm.cc: + - replace obsolete usleep with nanosleep + * debian/apt{,-utils}.symbols: + - update both experimental symbol-files to reflect 0.8.14 state + * debian/rules: + - remove unused embedded jquery by doxygen from libapt-pkg-doc + * cmdline/apt-mark.cc: + - reimplement apt-mark in c++ + - provide a 'showmanual' command (Closes: #582791) + - provide a 'dpkg --set-selections' wrapper to set/release holds + * cmdline/apt-get.cc: + - deprecate mostly undocumented 'markauto' in favor of 'apt-mark' + * cmdline/apt-cache.cc: + - deprecate mostly undocumented 'showauto' in favor of 'apt-mark' + * apt-pkg/pkgcache.cc: + - really ignore :arch in FindPkg() in non-multiarch environment + * doc/po/de.po: + - undo the translation of the command 'dump' in manpage of apt-config + as report by Burghard Grossmann on debian-l10n-german, thanks! + * apt-pkg/deb/debmetaindex.cc: + - do not download TranslationIndex if no Translation-* will be + downloaded later on anyway (Closes: #624218) + * test/versions.lst: + - disable obscure version number tests with versions dpkg doesn't + allow any more as they don't start with a number + * apt-pkg/acquire-worker.cc: + - print filename in the unmatching size warning (Closes: #623137) + * apt-pkg/acquire-item.cc: + - apply fix for poorly worded 'locate file' error message from + Ben Finney, thanks! (Closes: #623171) + * methods/http.cc: + - add config option to ignore a closed stdin to be able to easily + use the method as a simple standalone downloader + - Location header in redirects should be absolute URI, but some + servers just send an absolute path so still deal with it properly + - dequote URL taken from Location in redirects as we will otherwise + quote an already quoted string in the request later (Closes: #602412) + * apt-pkg/contrib/netrc.cc: + - replace non-posix gnu-extension strdupa with strdup + * apt-pkg/packagemanager.cc: + - ensure for Multi-Arch:same packages that they are unpacked in + lock step even in immediate configuration (Closes: #618288) + + -- Michael Vogt <mvo@debian.org> Mon, 16 May 2011 14:57:52 +0200 + apt (0.8.14.1) unstable; urgency=low * apt-pkg/acquire-item.cc: diff --git a/debian/control b/debian/control index 6d0f16b70..7efb6ca8a 100644 --- a/debian/control +++ b/debian/control @@ -6,26 +6,61 @@ Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>, Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>, Julian Andres Klode <jak@debian.org> Standards-Version: 3.9.2 -Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 7.2.3~), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0), zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, docbook-xml, po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen +Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 7.2.3~), libdb-dev, + gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0), + zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, docbook-xml, + po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen Build-Conflicts: autoconf2.13, automake1.4 Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/ Vcs-Browser: http://bzr.debian.org/loggerhead/apt/debian-sid/ Package: apt Architecture: any -Pre-Depends: ${shlibs:Depends} -Depends: debian-archive-keyring, ${misc:Depends}, gnupg +Depends: ${shlibs:Depends}, ${misc:Depends}, debian-archive-keyring, gnupg Replaces: manpages-pl (<< 20060617-3~) -Provides: ${libapt-pkg:provides} Conflicts: python-apt (<< 0.7.93.2~) Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt -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. +Description: APT's commandline package manager + This package provides commandline tools for searching and + managing as well as querying information about packages + as a low-level access to all features of the libapt-pkg library. . - APT features complete installation ordering, multiple source capability - and several other unique features, see the Users Guide in apt-doc. + These include: + * apt-get for retrieval of packages and information about them + from authenticated sources and for installation, upgrade and + removal of packages together with their dependencies + * apt-cache for querying available information about installed + as well as installable packages + * apt-cdrom to use removable media as a source for packages + * apt-config as an interface to the configuration settings + * apt-key as an interface to manage authentication keys + +Package: libapt-pkg4.12 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: APT's package managment runtime library + This library provides the common functionality for searching and + managing packages as well as information about packages. + Higher-level package managers can depend upon this library. + . + This includes: + * retrieval of information about packages from multiple sources + * retrieval of packages and all dependent packages + needed to satisfy a request either through an internal + solver or by interfacing with an external one + * authenticating the sources and validating the retrieved data + * installation and removal of packages in the system + * providing different transports to retrieve data over cdrom, ftp, + http, rsh as well as an interface to add more transports like + https (apt-transport-https) and debtorrent (apt-transport-debtorrent). + +Package: libapt-inst1.4 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: APT's deb package format runtime library + This library provides methods to query and extract information + from deb packages. This includes the control data and the package + file content. Package: apt-doc Architecture: all @@ -33,13 +68,13 @@ Priority: optional Depends: ${misc:Depends} Section: doc Description: Documentation for APT - This package contains the user guide and offline guide, for APT, an - Advanced Package Tool. + This package contains the user guide and offline guide for various + APT tools which are provided in a html and a text-only version. Package: libapt-pkg-dev Architecture: any Priority: optional -Depends: apt (= ${binary:Version}), apt-utils (= ${binary:Version}), ${libapt-pkg:provides}, ${libapt-inst:provides}, ${misc:Depends}, zlib1g-dev | zlib-dev +Depends: ${libapt-pkg-name} (= ${binary:Version}), ${libapt-inst-name} (= ${binary:Version}), ${misc:Depends}, zlib1g-dev | zlib-dev Section: libdevel Description: Development files for APT's libapt-pkg and libapt-inst This package contains the header files and libraries for @@ -61,19 +96,25 @@ Description: Documentation for APT development Package: apt-utils Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Provides: ${libapt-inst:provides} Description: APT utility programs - This package contains some APT utility programs such as apt-ftparchive, - apt-sortpkgs and apt-extracttemplates. + This package contains some less used commandline utilities related + to package managment with APT. . - apt-extracttemplates is used by debconf to prompt for configuration - questions before installation. apt-ftparchive is used to create Package - and other index files. apt-sortpkgs is a Package/Source file normalizer. + * apt-extracttemplates is used by debconf to prompt for configuration + questions before installation. + * apt-ftparchive is used to create Packages and other index files + needed to publish an archive of debian packages + * apt-sortpkgs is a Packages/Sources file normalizer. Package: apt-transport-https Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Priority: optional -Description: APT https transport - This package contains a APT https transport. It makes it possible to - use 'deb https://foo distro main' lines in the sources.list. +Description: https download transport for APT + This package enables the usage of 'deb https://foo distro main' lines + in the /etc/apt/sources.list so that all package managers using the + libapt-pkg library can access metadata and packages available in sources + accessable over https (Hypertext Transfer Protocol Secure). + . + This transport supports server as well as client authenification + with certificates. diff --git a/debian/libapt-inst1.4.install b/debian/libapt-inst1.4.install new file mode 100644 index 000000000..b7b63be81 --- /dev/null +++ b/debian/libapt-inst1.4.install @@ -0,0 +1,2 @@ +bin/libapt-inst*.so.* usr/lib/ +usr/share/locale/*/*/libapt-inst*.mo diff --git a/debian/apt-utils.symbols b/debian/libapt-inst1.4.symbols index 9ba283a51..bba2cb653 100644 --- a/debian/apt-utils.symbols +++ b/debian/libapt-inst1.4.symbols @@ -1,5 +1,4 @@ -libapt-inst.so.1.2 libapt-inst1.2 -| apt-utils #MINVER# +libapt-inst.so.1.4 libapt-inst1.4 #MINVER# * Build-Depends-Package: libapt-pkg-dev (c++)"ExtractTar::Done(bool)@Base" 0.8.0 (c++)"ExtractTar::Go(pkgDirStream&)@Base" 0.8.0 @@ -114,7 +113,7 @@ libapt-inst.so.1.2 libapt-inst1.2 # (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0 # (c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append<unsigned char*>(unsigned char*, unsigned char*)@Base" 0.8.0 ### gcc-4.6 specific - (c++|optional=std)"std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::~vector()@Base" 0.8.12 1 + (c++|optional=std)"std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::~vector()@Base" 0.8.12 (c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_dispatch<unsigned char*>(__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned char*, unsigned char*, std::__false_type)@Base" 0.8.0 ### try to ignore std:: template instances (c++|regex|optional=std)"^std::basic_string<.+ >\(.+\)@Base$" 0.8.0 diff --git a/debian/libapt-pkg4.12.install b/debian/libapt-pkg4.12.install new file mode 100644 index 000000000..91b39a31b --- /dev/null +++ b/debian/libapt-pkg4.12.install @@ -0,0 +1,2 @@ +bin/libapt-pkg*.so.* usr/lib/ +usr/share/locale/*/*/libapt-pkg*.mo diff --git a/debian/apt.symbols b/debian/libapt-pkg4.12.symbols index 04e13edd7..8d2bc4a54 100644 --- a/debian/apt.symbols +++ b/debian/libapt-pkg4.12.symbols @@ -1,5 +1,4 @@ -libapt-pkg.so.4.10 libapt-pkg4.10 -| apt #MINVER# +libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# * Build-Depends-Package: libapt-pkg-dev TFRewritePackageOrder@Base 0.8.0 TFRewriteSourceOrder@Base 0.8.0 @@ -61,7 +60,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"WaitFd(int, bool, unsigned long)@Base" 0.8.0 (c++)"GetLock(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)@Base" 0.8.0 (c++)"Hex2Num(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char*, unsigned int)@Base" 0.8.0 - (c++)"AddCRC16(unsigned short, void const*, unsigned long)@Base" 0.8.0 (c++)"CopyFile(FileFd&, FileFd&)@Base" 0.8.0 (c++)"ExecFork()@Base" 0.8.0 (c++)"ExecWait(int, char const*, bool)@Base" 0.8.0 @@ -98,25 +96,18 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"HashString::HashString()@Base" 0.8.0 (c++)"HashString::~HashString()@Base" 0.8.0 (c++)"OpProgress::CheckChange(float)@Base" 0.8.0 - (c++)"OpProgress::SubProgress(unsigned long)@Base" 0.8.0 - (c++)"OpProgress::SubProgress(unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0 - (c++)"OpProgress::OverallProgress(unsigned long, unsigned long, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0 (c++)"OpProgress::Done()@Base" 0.8.0 (c++)"OpProgress::Update()@Base" 0.8.0 - (c++)"OpProgress::Progress(unsigned long)@Base" 0.8.0 (c++)"OpProgress::OpProgress()@Base" 0.8.0 (c++)"OpProgress::~OpProgress()@Base" 0.8.0 (c++)"SourceCopy::GetFileName()@Base" 0.8.0 (c++)"SourceCopy::RewriteEntry(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 (c++)"SourceCopy::Type()@Base" 0.8.0 - (c++)"SourceCopy::GetFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&)@Base" 0.8.0 (c++)"SourceCopy::~SourceCopy()@Base" 0.8.0 (c++)"pkgAcqFile::Custom600Headers()@Base" 0.8.0 - (c++)"pkgAcqFile::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqFile::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqFile::DescURI()@Base" 0.8.0 (c++)"pkgAcqFile::HashSum()@Base" 0.8.0 - (c++)"pkgAcqFile::pkgAcqFile(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@Base" 0.8.0 (c++)"pkgAcqFile::~pkgAcqFile()@Base" 0.8.0 (c++)"pkgAcquire::WorkerStep(pkgAcquire::Worker*)@Base" 0.8.0 (c++)"pkgAcquire::FetchNeeded()@Base" 0.8.0 @@ -129,8 +120,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgAcquire::Bump()@Base" 0.8.0 (c++)"pkgAcquire::Item::Custom600Headers()@Base" 0.8.0 (c++)"pkgAcquire::Item::ReportMirrorFailure(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 - (c++)"pkgAcquire::Item::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 - (c++)"pkgAcquire::Item::Start(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long)@Base" 0.8.0 (c++)"pkgAcquire::Item::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcquire::Item::Rename(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 (c++)"pkgAcquire::Item::HashSum()@Base" 0.8.0 @@ -200,10 +189,8 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgRecords::pkgRecords(pkgCache&)@Base" 0.8.0 (c++)"pkgRecords::~pkgRecords()@Base" 0.8.0 (c++)"pkgTagFile::Fill()@Base" 0.8.0 - (c++)"pkgTagFile::Jump(pkgTagSection&, unsigned long)@Base" 0.8.0 (c++)"pkgTagFile::Step(pkgTagSection&)@Base" 0.8.0 (c++)"pkgTagFile::Resize()@Base" 0.8.0 - (c++)"pkgTagFile::pkgTagFile(FileFd*, unsigned long)@Base" 0.8.0 (c++)"pkgTagFile::~pkgTagFile()@Base" 0.8.0 (c++)"CdromDevice::~CdromDevice()@Base" 0.8.0 (c++)"CommandLine::DispatchArg(CommandLine::Dispatch*, bool)@Base" 0.8.0 @@ -212,7 +199,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"CommandLine::HandleOpt(int&, int, char const**, char const*&, CommandLine::Args*, bool)@Base" 0.8.0 (c++)"CommandLine::CommandLine(CommandLine::Args*, Configuration*)@Base" 0.8.0 (c++)"CommandLine::~CommandLine()@Base" 0.8.0 - (c++)"DynamicMMap::RawAllocate(unsigned long, unsigned long)@Base" 0.8.0 (c++)"DynamicMMap::WriteString(char const*, unsigned long)@Base" 0.8.0 (c++)"DynamicMMap::Grow()@Base" 0.8.0 (c++)"DynamicMMap::Allocate(unsigned long)@Base" 0.8.0 @@ -238,16 +224,11 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"GlobalError::Warning(char const*, ...)@Base" 0.8.0 (c++)"GlobalError::WarningE(char const*, char const*, ...)@Base" 0.8.0 (c++)"GlobalError::GlobalError()@Base" 0.8.0 - (c++)"MD5SumValue::Set(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 - (c++)"MD5SumValue::MD5SumValue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 - (c++)"MD5SumValue::MD5SumValue()@Base" 0.8.0 (c++)"PackageCopy::GetFileName()@Base" 0.8.0 (c++)"PackageCopy::RewriteEntry(_IO_FILE*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 (c++)"PackageCopy::Type()@Base" 0.8.0 - (c++)"PackageCopy::GetFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&)@Base" 0.8.0 (c++)"PackageCopy::~PackageCopy()@Base" 0.8.0 (c++)"pkgAcqIndex::Custom600Headers()@Base" 0.8.0 - (c++)"pkgAcqIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqIndex::DescURI()@Base" 0.8.0 (c++)"pkgAcqIndex::HashSum()@Base" 0.8.0 @@ -286,12 +267,9 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgDepCache::Update(pkgCache::DepIterator)@Base" 0.8.0 (c++)"pkgDepCache::Update(OpProgress*)@Base" 0.8.0 (c++)"pkgDepCache::Update(pkgCache::PkgIterator const&)@Base" 0.8.0 - (c++)"pkgDepCache::AddSizes(pkgCache::PkgIterator const&, bool const&)@Base" 0.8.0 - (c++)"pkgDepCache::AddSizes(pkgCache::PkgIterator const&, long)@Base" 0.8.0 (c++)"pkgDepCache::CheckDep(pkgCache::DepIterator, int, pkgCache::PkgIterator&)@Base" 0.8.0 (c++)"pkgDepCache::MarkAuto(pkgCache::PkgIterator const&, bool)@Base" 0.8.0 (c++)"pkgDepCache::MarkKeep(pkgCache::PkgIterator const&, bool, bool, unsigned long)@Base" 0.8.0 - (c++)"pkgDepCache::AddStates(pkgCache::PkgIterator const&, int)@Base" 0.8.0 (c++)"pkgDepCache::pkgDepCache(pkgCache*, pkgDepCache::Policy*)@Base" 0.8.0 (c++)"pkgDepCache::~pkgDepCache()@Base" 0.8.0 (c++)"pkgSimulate::ShortBreaks()@Base" 0.8.0 @@ -303,13 +281,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgSimulate::Configure(pkgCache::PkgIterator)@Base" 0.8.0 (c++)"pkgSimulate::pkgSimulate(pkgDepCache*)@Base" 0.8.0 (c++)"pkgSimulate::~pkgSimulate()@Base" 0.8.0 - (c++)"MD5Summation::Add(unsigned char const*, unsigned long)@Base" 0.8.0 - (c++)"MD5Summation::AddFD(int, unsigned long)@Base" 0.8.0 - (c++)"MD5Summation::Result()@Base" 0.8.0 - (c++)"MD5Summation::MD5Summation()@Base" 0.8.0 - (c++)"SHA1SumValue::Set(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 - (c++)"SHA1SumValue::SHA1SumValue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 - (c++)"SHA1SumValue::SHA1SumValue()@Base" 0.8.0 (c++)"debIFTypePkg::~debIFTypePkg()@Base" 0.8.0 (c++)"debIFTypeSrc::~debIFTypeSrc()@Base" 0.8.0 (c++)"debSLTypeDeb::~debSLTypeDeb()@Base" 0.8.0 @@ -374,7 +345,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgOrderList::DepRemove(pkgCache::DepIterator)@Base" 0.8.0 (c++)"pkgOrderList::IsMissing(pkgCache::PkgIterator)@Base" 0.8.0 (c++)"pkgOrderList::VisitDeps(bool (pkgOrderList::*)(pkgCache::DepIterator), pkgCache::PkgIterator)@Base" 0.8.0 - (c++)"pkgOrderList::VisitNode(pkgCache::PkgIterator)@Base" 0.8.0 (c++)"pkgOrderList::WipeFlags(unsigned long)@Base" 0.8.0 (c++)"pkgOrderList::pkgOrderList(pkgDepCache*)@Base" 0.8.0 (c++)"pkgOrderList::~pkgOrderList()@Base" 0.8.0 @@ -392,10 +362,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"Configuration::Configuration(Configuration::Item const*)@Base" 0.8.0 (c++)"Configuration::Configuration()@Base" 0.8.0 (c++)"Configuration::~Configuration()@Base" 0.8.0 - (c++)"SHA1Summation::Add(unsigned char const*, unsigned long)@Base" 0.8.0 - (c++)"SHA1Summation::AddFD(int, unsigned long)@Base" 0.8.0 - (c++)"SHA1Summation::Result()@Base" 0.8.0 - (c++)"SHA1Summation::SHA1Summation()@Base" 0.8.0 (c++)"WeakPointable::~WeakPointable()@Base" 0.8.0 (c++)"debListParser::NewVersion(pkgCache::VerIterator&)@Base" 0.8.0 (c++)"debListParser::UsePackage(pkgCache::PkgIterator&, pkgCache::VerIterator&)@Base" 0.8.0 @@ -421,7 +387,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"debListParser::GrabWord(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, debListParser::WordList*, unsigned char&)@Base" 0.8.0 (c++)"debListParser::debListParser(FileFd*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0 (c++)"debListParser::~debListParser()@Base" 0.8.0 - (c++)"pkgAcqArchive::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqArchive::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqArchive::DescURI()@Base" 0.8.0 (c++)"pkgAcqArchive::HashSum()@Base" 0.8.0 @@ -432,7 +397,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgAcqArchive::pkgAcqArchive(pkgAcquire*, pkgSourceList*, pkgRecords*, pkgCache::VerIterator const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0 (c++)"pkgAcqArchive::~pkgAcqArchive()@Base" 0.8.0 (c++)"pkgAcqMetaSig::Custom600Headers()@Base" 0.8.0 - (c++)"pkgAcqMetaSig::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqMetaSig::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqMetaSig::DescURI()@Base" 0.8.0 (c++)"pkgAcqMetaSig::~pkgAcqMetaSig()@Base" 0.8.0 @@ -471,16 +435,9 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"OpTextProgress::Update()@Base" 0.8.0 (c++)"OpTextProgress::OpTextProgress(Configuration&)@Base" 0.8.0 (c++)"OpTextProgress::~OpTextProgress()@Base" 0.8.0 - (c++)"SHA256SumValue::Set(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 - (c++)"SHA256SumValue::SHA256SumValue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 - (c++)"SHA256SumValue::SHA256SumValue()@Base" 0.8.0 (c++)"debIFTypeTrans::~debIFTypeTrans()@Base" 0.8.0 (c++)"debStatusIndex::debStatusIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 (c++)"debStatusIndex::~debStatusIndex()@Base" 0.8.0 - (c++)"SHA256Summation::Add(unsigned char const*, unsigned long)@Base" 0.8.0 - (c++)"SHA256Summation::AddFD(int, unsigned long)@Base" 0.8.0 - (c++)"SHA256Summation::Result()@Base" 0.8.0 - (c++)"SHA256Summation::SHA256Summation()@Base" 0.8.0 (c++)"debIFTypeStatus::~debIFTypeStatus()@Base" 0.8.0 (c++)"debRecordParser::Maintainer()@Base" 0.8.0 (c++)"debRecordParser::SHA256Hash()@Base" 0.8.0 @@ -511,7 +468,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"debSourcesIndex::~debSourcesIndex()@Base" 0.8.0 (c++)"pkgAcqDiffIndex::ParseDiffIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 (c++)"pkgAcqDiffIndex::Custom600Headers()@Base" 0.8.0 - (c++)"pkgAcqDiffIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqDiffIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqDiffIndex::DescURI()@Base" 0.8.0 (c++)"pkgAcqDiffIndex::pkgAcqDiffIndex(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, HashString)@Base" 0.8.0 @@ -520,7 +476,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgAcqMetaIndex::VerifyVendor(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 (c++)"pkgAcqMetaIndex::RetrievalDone(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 (c++)"pkgAcqMetaIndex::Custom600Headers()@Base" 0.8.0 - (c++)"pkgAcqMetaIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqMetaIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqMetaIndex::DescURI()@Base" 0.8.0 (c++)"pkgAcqMetaIndex::AuthDone(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 @@ -537,7 +492,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"debPackagesIndex::debPackagesIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0 (c++)"debPackagesIndex::~debPackagesIndex()@Base" 0.8.0 (c++)"pkgAcqIndexDiffs::QueueNextDiff()@Base" 0.8.0 - (c++)"pkgAcqIndexDiffs::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqIndexDiffs::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0 (c++)"pkgAcqIndexDiffs::Finish(bool)@Base" 0.8.0 (c++)"pkgAcqIndexDiffs::DescURI()@Base" 0.8.0 @@ -554,7 +508,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgAcquireStatus::Pulse(pkgAcquire*)@Base" 0.8.0 (c++)"pkgAcquireStatus::Start()@Base" 0.8.0 (c++)"pkgAcquireStatus::IMSHit(pkgAcquire::ItemDesc&)@Base" 0.8.0 - (c++)"pkgAcquireStatus::Fetched(unsigned long, unsigned long)@Base" 0.8.0 (c++)"pkgAcquireStatus::pkgAcquireStatus()@Base" 0.8.0 (c++)"pkgAcquireStatus::~pkgAcquireStatus()@Base" 0.8.0 (c++)"PreferenceSection::TrimRecord(bool, char const*&)@Base" 0.8.0 @@ -563,7 +516,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgCacheGenerator::ListParser::NewProvides(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0 (c++)"pkgCacheGenerator::ListParser::CollectFileProvides(pkgCache&, pkgCache::VerIterator&)@Base" 0.8.0 (c++)"pkgCacheGenerator::ListParser::~ListParser()@Base" 0.8.0 - (c++)"pkgCacheGenerator::NewDepends(pkgCache::PkgIterator&, pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int const&, unsigned int const&, unsigned int*)@Base" 0.8.0 (c++)"pkgCacheGenerator::NewFileVer(pkgCache::VerIterator&, pkgCacheGenerator::ListParser&)@Base" 0.8.0 (c++)"pkgCacheGenerator::NewPackage(pkgCache::PkgIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0 (c++)"pkgCacheGenerator::NewVersion(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long)@Base" 0.8.0 @@ -571,7 +523,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgCacheGenerator::FinishCache(OpProgress*)@Base" 0.8.0 (c++)"pkgCacheGenerator::NewFileDesc(pkgCache::DescIterator&, pkgCacheGenerator::ListParser&)@Base" 0.8.0 (c++)"pkgCacheGenerator::AllocateInMap(unsigned long const&)@Base" 0.8.0 - (c++)"pkgCacheGenerator::NewDescription(pkgCache::DescIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, MD5SumValue const&, unsigned int)@Base" 0.8.0 (c++)"pkgCacheGenerator::MakeStatusCache(pkgSourceList&, OpProgress*, MMap**, bool)@Base" 0.8.0 (c++)"pkgCacheGenerator::WriteUniqString(char const*, unsigned int)@Base" 0.8.0 (c++)"pkgCacheGenerator::WriteStringInMap(char const*)@Base" 0.8.0 @@ -700,17 +651,11 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"MMap::~MMap()@Base" 0.8.0 (c++)"FileFd::OpenDescriptor(int, FileFd::OpenMode, bool)@Base" 0.8.0 (c++)"FileFd::Open(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, FileFd::OpenMode, unsigned long)@Base" 0.8.0 - (c++)"FileFd::Read(void*, unsigned long, unsigned long*)@Base" 0.8.0 - (c++)"FileFd::Seek(unsigned long)@Base" 0.8.0 (c++)"FileFd::Size()@Base" 0.8.0 - (c++)"FileFd::Skip(unsigned long)@Base" 0.8.0 (c++)"FileFd::Sync()@Base" 0.8.0 (c++)"FileFd::Tell()@Base" 0.8.0 (c++)"FileFd::Close()@Base" 0.8.0 - (c++)"FileFd::Write(void const*, unsigned long)@Base" 0.8.0 - (c++)"FileFd::Truncate(unsigned long)@Base" 0.8.0 (c++)"FileFd::~FileFd()@Base" 0.8.0 - (c++)"Hashes::AddFD(int, unsigned long)@Base" 0.8.0 (c++)"Vendor::CheckDist(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0 (c++)"Vendor::Vendor(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<Vendor::Fingerprint*, std::allocator<Vendor::Fingerprint*> >*)@Base" 0.8.0 (c++)"Vendor::~Vendor()@Base" 0.8.0 @@ -798,7 +743,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgDPkgPM::~pkgDPkgPM()@Base" 0.8.0 (c++)"pkgPolicy::GetPriority(pkgCache::PkgIterator const&)@Base" 0.8.0 (c++)"pkgPolicy::InitDefaults()@Base" 0.8.0 - (c++)"pkgPolicy::IsImportantDep(pkgCache::DepIterator const&)@Base" 0.8.0 (c++)"pkgPolicy::GetCandidateVer(pkgCache::PkgIterator const&)@Base" 0.8.0 (c++)"pkgPolicy::PkgPin::~PkgPin()@Base" 0.8.0 (c++)"pkgPolicy::GetMatch(pkgCache::PkgIterator const&)@Base" 0.8.0 @@ -817,10 +761,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"HashString::toStr() const@Base" 0.8.0 (c++)"CommandLine::FileSize() const@Base" 0.8.0 (c++)"GlobalError::empty(GlobalError::MsgType const&) const@Base" 0.8.0 - (c++)"MD5SumValue::Value() const@Base" 0.8.0 - (c++)"MD5SumValue::operator==(MD5SumValue const&) const@Base" 0.8.0 - (c++)"SHA1SumValue::Value() const@Base" 0.8.0 - (c++)"SHA1SumValue::operator==(SHA1SumValue const&) const@Base" 0.8.0 (c++)"debIFTypePkg::CreatePkgParser(pkgCache::PkgFileIterator) const@Base" 0.8.0 (c++)"debSLTypeDeb::CreateItem(std::vector<metaIndex*, std::allocator<metaIndex*> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) const@Base" 0.8.0 (c++)"indexRecords::GetValidUntil() const@Base" 0.8.0 @@ -859,8 +799,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgTagSection::FindS(char const*) const@Base" 0.8.0 (c++)"pkgTagSection::FindULL(char const*, unsigned long long const&) const@Base" 0.8.0 (c++)"pkgTagSection::FindFlag(char const*, unsigned long&, unsigned long) const@Base" 0.8.0 - (c++)"SHA256SumValue::Value() const@Base" 0.8.0 - (c++)"SHA256SumValue::operator==(SHA256SumValue const&) const@Base" 0.8.0 (c++)"debStatusIndex::FindInCache(pkgCache&) const@Base" 0.8.0 (c++)"debStatusIndex::HasPackages() const@Base" 0.8.0 (c++)"debStatusIndex::Size() const@Base" 0.8.0 @@ -939,7 +877,6 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++)"pkgCache::VerIterator::Downloadable() const@Base" 0.8.0 (c++)"pkgCache::VerIterator::OwnerPointer() const@Base" 0.8.0 (c++)"pkgCache::VerIterator::TranslatedDescription() const@Base" 0.8.0 - (c++)"pkgCache::VerIterator::Pseudo() const@Base" 0.8.0 (c++)"pkgCache::VerIterator::RelStr() const@Base" 0.8.0 (c++)"pkgCache::VerIterator::Automatic() const@Base" 0.8.0 (c++)"pkgCache::DescIterator::OwnerPointer() const@Base" 0.8.0 @@ -1241,35 +1178,32 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0 # (c++|optional=strange)"pkgCache::VerIterator::VerIterator(pkgCache&, pkgCache::Version*)@Base" 0.8.0 ### architecture specific: va_list - (arch=armel armhf|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@Base" 0.8.15~exp1 1 - (arch=i386 hurd-i386 kfreebsd-i386|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1 1 - (arch=hppa ia64 mips mipsel sparc sparc64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@Base" 0.8.15~exp1 1 - (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@Base" 0.8.15~exp1 1 - (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@Base" 0.8.15~exp1 1 - (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@Base" 0.8.15~exp1 1 + (arch=armel armhf|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@Base" 0.8.15~exp1 + (arch=i386 hurd-i386 kfreebsd-i386|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1 + (arch=hppa ia64 mips mipsel sparc sparc64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@Base" 0.8.15~exp1 + (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@Base" 0.8.15~exp1 + (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@Base" 0.8.15~exp1 + (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@Base" 0.8.15~exp1 ### architecture specific: va_list & size_t - (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 1 - (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 1 - (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 1 - (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 1 - (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 1 - (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 1 - (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 1 - (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 1 - - (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 1 - (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 1 - (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 1 - (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 1 - (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 1 - (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 1 + (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 + (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 + (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 + (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 + (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 + (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 + (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 + (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 + (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 + (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 + (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 + (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 + (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 + (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 (arch=ia64 sparc64|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@Base" 0.8.11.4 1 - (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 1 + (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 ### architecture specific: size_t (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc|c++)"_strtabexpand(char*, unsigned int)@Base" 0.8.0 (arch=alpha amd64 ia64 kfreebsd-amd64 s390 sparc64|c++)"_strtabexpand(char*, unsigned long)@Base" 0.8.0 - (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc|c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&)@Base" 0.8.0 - (arch=alpha amd64 ia64 kfreebsd-amd64 s390 sparc64|c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long&)@Base" 0.8.0 ### try to ignore std:: template instances (c++|regex|optional=std)"^(void |)std::[^ ]+<.+ >::(_|~).+\(.*\)@Base$" 0.8.0 (c++|regex|optional=std)"^std::[^ ]+<.+ >::(append|insert|reserve|operator[^ ]+)\(.*\)@Base$" 0.8.0 @@ -1281,50 +1215,233 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++|regex|optional=std)"^typeinfo name for std::iterator<.*>@Base$" 0.8.0 (c++|regex|optional=std)"^typeinfo for std::iterator<.*>@Base$" 0.8.0 ### - (c++)"Configuration::MatchAgainstConfig::clearPatterns()@Base" 0.8.1 1 - (c++)"CreateAPTDirectoryIfNeeded(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.2 1 - (c++)"FileFd::FileSize()@Base" 0.8.8 1 - (c++)"Base256ToNum(char const*, unsigned long&, unsigned int)@Base" 0.8.11 1 - (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::list<std::pair<pkgCache::VerIterator, pkgCache::VerIterator>, std::allocator<std::pair<pkgCache::VerIterator, pkgCache::VerIterator> > >&)@Base" 0.8.11 1 - (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1 - (c++)"RealFileExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.11 1 - (c++)"StripEpoch(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1 - (c++)"IndexTarget::~IndexTarget()@Base" 0.8.11 1 - (c++)"pkgAcqIndex::Init(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1 - (c++)"pkgAcqIndex::pkgAcqIndex(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 1 - (c++)"pkgTagSection::FindFlag(unsigned long&, unsigned long, char const*, char const*)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::ParseIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::Custom600Headers()@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::DescURI()@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::pkgAcqSubIndex(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, HashString const&)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::~pkgAcqSubIndex()@Base" 0.8.11 1 - (c++)"pkgAcqMetaClearSig::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1 - (c++)"pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.11 1 - (c++)"pkgAcqMetaClearSig::~pkgAcqMetaClearSig()@Base" 0.8.11 1 - (c++)"pkgAcqIndexTrans::pkgAcqIndexTrans(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 1 - (c++)"IndexTarget::IsOptional() const@Base" 0.8.11 1 - (c++)"IndexTarget::IsSubIndex() const@Base" 0.8.11 1 - (c++)"debReleaseIndex::TranslationIndexURI(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11 1 - (c++)"debReleaseIndex::TranslationIndexURISuffix(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11 1 - (c++)"typeinfo for pkgAcqSubIndex@Base" 0.8.11 1 - (c++)"typeinfo for pkgAcqMetaClearSig@Base" 0.8.11 1 - (c++)"typeinfo name for pkgAcqSubIndex@Base" 0.8.11 1 - (c++)"typeinfo name for pkgAcqMetaClearSig@Base" 0.8.11 1 - (c++)"vtable for pkgAcqSubIndex@Base" 0.8.11 1 - (c++)"vtable for pkgAcqMetaClearSig@Base" 0.8.11 1 - (c++)"FindMountPointForDevice(char const*)@Base" 0.8.12 1 - (c++)"pkgUdevCdromDevices::ScanForRemovable(bool)@Base" 0.8.12 1 - (c++)"APT::Configuration::Compressor::Compressor(char const*, char const*, char const*, char const*, char const*, unsigned short)@Base" 0.8.12 1 - (c++)"APT::Configuration::Compressor::~Compressor()@Base" 0.8.12 1 - (c++)"APT::Configuration::getCompressors(bool)@Base" 0.8.12 1 - (c++)"APT::Configuration::getCompressorExtensions()@Base" 0.8.12 1 - (c++)"APT::Configuration::setDefaultConfigurationForCompressors()@Base" 0.8.12 1 - (c++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator, bool const&)@Base" 0.8.12 1 - (c++)"pkgAcqMetaClearSig::Custom600Headers()@Base" 0.8.13 1 - (c++|optional=private)"debListParser::NewProvidesAllArch(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.13.2 1 - (c++|optional=private)"PrintMode(char)@Base" 0.8.13.2 1 - (c++)"pkgDepCache::IsModeChangeOk(pkgDepCache::ModeList, pkgCache::PkgIterator const&, unsigned long, bool)@Base" 0.8.13.2 1 - (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool)@Base" 0.8.15~exp1 1 - (c++)"pkgCache::DepIterator::IsNegative() const@Base" 0.8.15~exp1 1 + (c++)"Configuration::MatchAgainstConfig::clearPatterns()@Base" 0.8.1 + (c++)"CreateAPTDirectoryIfNeeded(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.2 + (c++)"FileFd::FileSize()@Base" 0.8.8 + (c++)"Base256ToNum(char const*, unsigned long&, unsigned int)@Base" 0.8.11 + (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::list<std::pair<pkgCache::VerIterator, pkgCache::VerIterator>, std::allocator<std::pair<pkgCache::VerIterator, pkgCache::VerIterator> > >&)@Base" 0.8.11 + (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 + (c++)"RealFileExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.11 + (c++)"StripEpoch(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 + (c++)"IndexTarget::~IndexTarget()@Base" 0.8.11 + (c++)"pkgAcqIndex::Init(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 + (c++)"pkgAcqIndex::pkgAcqIndex(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 + (c++)"pkgTagSection::FindFlag(unsigned long&, unsigned long, char const*, char const*)@Base" 0.8.11 + (c++)"pkgAcqSubIndex::ParseIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 + (c++)"pkgAcqSubIndex::Custom600Headers()@Base" 0.8.11 + (c++)"pkgAcqSubIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 + (c++)"pkgAcqSubIndex::DescURI()@Base" 0.8.11 + (c++)"pkgAcqSubIndex::pkgAcqSubIndex(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, HashString const&)@Base" 0.8.11 + (c++)"pkgAcqSubIndex::~pkgAcqSubIndex()@Base" 0.8.11 + (c++)"pkgAcqMetaClearSig::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 + (c++)"pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.11 + (c++)"pkgAcqMetaClearSig::~pkgAcqMetaClearSig()@Base" 0.8.11 + (c++)"pkgAcqIndexTrans::pkgAcqIndexTrans(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 + (c++)"IndexTarget::IsOptional() const@Base" 0.8.11 + (c++)"IndexTarget::IsSubIndex() const@Base" 0.8.11 + (c++)"debReleaseIndex::TranslationIndexURI(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11 + (c++)"debReleaseIndex::TranslationIndexURISuffix(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11 + (c++)"typeinfo for pkgAcqSubIndex@Base" 0.8.11 + (c++)"typeinfo for pkgAcqMetaClearSig@Base" 0.8.11 + (c++)"typeinfo name for pkgAcqSubIndex@Base" 0.8.11 + (c++)"typeinfo name for pkgAcqMetaClearSig@Base" 0.8.11 + (c++)"vtable for pkgAcqSubIndex@Base" 0.8.11 + (c++)"vtable for pkgAcqMetaClearSig@Base" 0.8.11 + (c++)"FindMountPointForDevice(char const*)@Base" 0.8.12 + (c++)"pkgUdevCdromDevices::ScanForRemovable(bool)@Base" 0.8.12 + (c++)"APT::Configuration::Compressor::Compressor(char const*, char const*, char const*, char const*, char const*, unsigned short)@Base" 0.8.12 + (c++)"APT::Configuration::Compressor::~Compressor()@Base" 0.8.12 + (c++)"APT::Configuration::getCompressors(bool)@Base" 0.8.12 + (c++)"APT::Configuration::getCompressorExtensions()@Base" 0.8.12 + (c++)"APT::Configuration::setDefaultConfigurationForCompressors()@Base" 0.8.12 + (c++)"pkgAcqMetaClearSig::Custom600Headers()@Base" 0.8.13 + (c++|optional=private)"debListParser::NewProvidesAllArch(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.13.2 + (c++|optional=private)"PrintMode(char)@Base" 0.8.13.2 + (c++)"pkgDepCache::IsModeChangeOk(pkgDepCache::ModeList, pkgCache::PkgIterator const&, unsigned long, bool)@Base" 0.8.13.2 + (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool)@Base" 0.8.15~exp1 + (c++)"pkgCache::DepIterator::IsNegative() const@Base" 0.8.15~exp1 + (c++)"Configuration::CndSet(char const*, int)@Base" 0.8.15.3 + (c++)"pkgProblemResolver::InstOrNewPolicyBroken(pkgCache::PkgIterator)@Base" 0.8.15.3 + (c++)"DeEscapeString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.15.4 + (c++)"GetModificationTime(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.15.6 + (c++)"pkgSourceList::GetLastModifiedTime()@Base" 0.8.15.6 + (c++)"pkgCacheGenerator::NewDepends(pkgCache::PkgIterator&, pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int const&, unsigned int const&, unsigned int*&)@Base" 0.8.15.6 + (c++)"pkgCacheFile::RemoveCaches()@Base" 0.8.15.7 + (c++)"pkgOrderList::VisitNode(pkgCache::PkgIterator, char const*)@Base" 0.8.15.7 +### external dependency resolver ### + (c++)"edspIFType::~edspIFType()@Base" 0.8.16~exp2 + (c++)"edspSystem::Initialize(Configuration&)@Base" 0.8.16~exp2 + (c++)"edspSystem::AddStatusFiles(std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> >&)@Base" 0.8.16~exp2 + (c++)"edspSystem::ArchiveSupported(char const*)@Base" 0.8.16~exp2 + (c++)"edspSystem::Lock()@Base" 0.8.16~exp2 + (c++)"edspSystem::Score(Configuration const&)@Base" 0.8.16~exp2 + (c++)"edspSystem::UnLock(bool)@Base" 0.8.16~exp2 + (c++)"edspSystem::edspSystem()@Base" 0.8.16~exp2 + (c++)"edspSystem::~edspSystem()@Base" 0.8.16~exp2 + (c++)"edspListParser::NewVersion(pkgCache::VerIterator&)@Base" 0.8.16~exp2 + (c++)"edspListParser::Description()@Base" 0.8.16~exp2 + (c++)"edspListParser::ParseStatus(pkgCache::PkgIterator&, pkgCache::VerIterator&)@Base" 0.8.16~exp2 + (c++)"edspListParser::VersionHash()@Base" 0.8.16~exp2 + (c++)"edspListParser::Description_md5()@Base" 0.8.16~exp2 + (c++)"edspListParser::LoadReleaseInfo(pkgCache::PkgFileIterator&, FileFd&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.16~exp2 + (c++)"edspListParser::DescriptionLanguage()@Base" 0.8.16~exp2 + (c++)"edspListParser::edspListParser(FileFd*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.16~exp2 + (c++)"edspListParser::~edspListParser()@Base" 0.8.16~exp2 + (c++)"edspIndex::edspIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.16~exp2 + (c++)"edspIndex::~edspIndex()@Base" 0.8.16~exp2 + (c++)"edspIFType::CreatePkgParser(pkgCache::PkgFileIterator) const@Base" 0.8.16~exp2 + (c++)"edspSystem::CreatePM(pkgDepCache*) const@Base" 0.8.16~exp2 + (c++)"edspSystem::FindIndex(pkgCache::PkgFileIterator, pkgIndexFile*&) const@Base" 0.8.16~exp2 + (c++)"edspIndex::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.16~exp2 + (c++)"edspIndex::GetType() const@Base" 0.8.16~exp2 + (c++)"EDSP::WriteError(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, _IO_FILE*)@Base" 0.8.16~exp2 + (c++)"EDSP::ReadRequest(int, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, bool&, bool&, bool&)@Base" 0.8.16~exp2 + (c++)"EDSP::ApplyRequest(std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, pkgDepCache&)@Base" 0.8.16~exp2 + (c++)"EDSP::ReadResponse(int, pkgDepCache&, OpProgress*)@Base" 0.8.16~exp2 + (c++)"EDSP::StringToBool(char const*, bool)@Base" 0.8.16~exp2 + (c++)"EDSP::WriteRequest(pkgDepCache&, _IO_FILE*, bool, bool, bool, OpProgress*)@Base" 0.8.16~exp2 + (c++)"EDSP::ExecuteSolver(char const*, int*, int*)@Base" 0.8.16~exp2 + (c++)"EDSP::WriteProgress(unsigned short, char const*, _IO_FILE*)@Base" 0.8.16~exp2 + (c++)"EDSP::WriteScenario(pkgDepCache&, _IO_FILE*, OpProgress*)@Base" 0.8.16~exp2 + (c++)"EDSP::WriteSolution(pkgDepCache&, _IO_FILE*)@Base" 0.8.16~exp2 + (c++)"EDSP::ResolveExternal(char const*, pkgDepCache&, bool, bool, bool, OpProgress*)@Base" 0.8.16~exp2 + (c++)"EDSP::WriteLimitedScenario(pkgDepCache&, _IO_FILE*, APT::PackageSet const&, OpProgress*)@Base" 0.8.16~exp2 + (c++)"EDSP::WriteScenarioVersion(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&)@Base" 0.8.16~exp2 + (c++)"EDSP::WriteScenarioDependency(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&)@Base" 0.8.16~exp2 + (c++)"EDSP::WriteScenarioLimitedDependency(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, APT::PackageSet const&)@Base" 0.8.16~exp2 + (c++)"EDSP::DepMap@Base" 0.8.16~exp2 + (c++)"EDSP::PrioMap@Base" 0.8.16~exp2 + (c++)"EDSP::ReadLine(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.16~exp2 + (c++)"pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const&)@Base" 0.8.16~exp6 + (c++)"pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const&)@Base" 0.8.16~exp6 + (c++)"typeinfo for edspIFType@Base" 0.8.16~exp2 + (c++)"typeinfo for edspSystem@Base" 0.8.16~exp2 + (c++)"typeinfo for edspListParser@Base" 0.8.16~exp2 + (c++)"typeinfo for edspIndex@Base" 0.8.16~exp2 + (c++)"typeinfo name for edspIFType@Base" 0.8.16~exp2 + (c++)"typeinfo name for edspSystem@Base" 0.8.16~exp2 + (c++)"typeinfo name for edspListParser@Base" 0.8.16~exp2 + (c++)"typeinfo name for edspIndex@Base" 0.8.16~exp2 + (c++)"vtable for edspIFType@Base" 0.8.16~exp2 + (c++)"vtable for edspSystem@Base" 0.8.16~exp2 + (c++)"vtable for edspListParser@Base" 0.8.16~exp2 + (c++)"vtable for edspIndex@Base" 0.8.16~exp2 + edspSys@Base 0.8.16~exp2 +### generalisation of checksums (with lfs) -- mostly api-compatible available (without sha512 in previous versions) + (c++)"SHA256_End(_SHA256_CTX*, char*)@Base" 0.8.16~exp2 + (c++)"SHA384_End(_SHA512_CTX*, char*)@Base" 0.8.16~exp2 + (c++)"SHA512_End(_SHA512_CTX*, char*)@Base" 0.8.16~exp2 + (c++)"SHA256_Data(unsigned char const*, unsigned int, char*)@Base" 0.8.16~exp2 + (c++)"SHA256_Init(_SHA256_CTX*)@Base" 0.8.16~exp2 + (c++)"SHA384_Data(unsigned char const*, unsigned int, char*)@Base" 0.8.16~exp2 + (c++)"SHA384_Init(_SHA512_CTX*)@Base" 0.8.16~exp2 + (c++)"SHA512_Data(unsigned char const*, unsigned int, char*)@Base" 0.8.16~exp2 + (c++)"SHA512_Init(_SHA512_CTX*)@Base" 0.8.16~exp2 + (c++)"SHA256_Final(unsigned char*, _SHA256_CTX*)@Base" 0.8.16~exp2 + (c++)"SHA384_Final(unsigned char*, _SHA512_CTX*)@Base" 0.8.16~exp2 + (c++)"SHA512_Final(unsigned char*, _SHA512_CTX*)@Base" 0.8.16~exp2 + (c++)"SHA256_Update(_SHA256_CTX*, unsigned char const*, unsigned int)@Base" 0.8.16~exp2 + (c++)"SHA384_Update(_SHA512_CTX*, unsigned char const*, unsigned int)@Base" 0.8.16~exp2 + (c++)"SHA512_Update(_SHA512_CTX*, unsigned char const*, unsigned int)@Base" 0.8.16~exp2 + (c++)"AddCRC16(unsigned short, void const*, unsigned long long)@Base" 0.8.16~exp2 + (c++)"MD5Summation::Add(unsigned char const*, unsigned long long)@Base" 0.8.16~exp6 + (c++)"MD5Summation::Result()@Base" 0.8.16~exp2 + (c++)"MD5Summation::MD5Summation()@Base" 0.8.16~exp2 + (c++)"SHA1Summation::SHA1Summation()@Base" 0.8.16~exp2 + (c++)"SHA1Summation::Add(unsigned char const*, unsigned long long)@Base" 0.8.16~exp6 + (c++)"SHA1Summation::Result()@Base" 0.8.16~exp2 + (c++)"SHA256Summation::Add(unsigned char const*, unsigned long long)@Base" 0.8.16~exp6 + (c++)"SHA512Summation::Add(unsigned char const*, unsigned long long)@Base" 0.8.16~exp6 + (c++)"debRecordParser::SHA512Hash()@Base" 0.8.16~exp2 + (c++)"pkgRecords::Parser::SHA512Hash()@Base" 0.8.16~exp6 + (c++)"Hashes::AddFD(int, unsigned long long, bool, bool, bool, bool)@Base" 0.8.16~exp6 + (c++)"SummationImplementation::AddFD(int, unsigned long long)@Base" 0.8.16~exp6 + (c++)"typeinfo for MD5Summation@Base" 0.8.16~exp6 + (c++)"typeinfo for SHA1Summation@Base" 0.8.16~exp6 + (c++)"typeinfo for SHA256Summation@Base" 0.8.16~exp6 + (c++)"typeinfo for SHA512Summation@Base" 0.8.16~exp6 + (c++)"typeinfo for SHA2SummationBase@Base" 0.8.16~exp6 + (c++)"typeinfo for SummationImplementation@Base" 0.8.16~exp6 + (c++)"typeinfo name for MD5Summation@Base" 0.8.16~exp6 + (c++)"typeinfo name for SHA1Summation@Base" 0.8.16~exp6 + (c++)"typeinfo name for SHA256Summation@Base" 0.8.16~exp6 + (c++)"typeinfo name for SHA512Summation@Base" 0.8.16~exp6 + (c++)"typeinfo name for SHA2SummationBase@Base" 0.8.16~exp6 + (c++)"typeinfo name for SummationImplementation@Base" 0.8.16~exp6 + (c++)"vtable for MD5Summation@Base" 0.8.16~exp6 + (c++)"vtable for SHA1Summation@Base" 0.8.16~exp6 + (c++)"vtable for SHA256Summation@Base" 0.8.16~exp6 + (c++)"vtable for SHA512Summation@Base" 0.8.16~exp6 + (c++)"vtable for SHA2SummationBase@Base" 0.8.16~exp6 + (c++)"vtable for SummationImplementation@Base" 0.8.16~exp6 +### large file support - available in older api-compatible versions without lfs ### + (c++)"StrToNum(char const*, unsigned long long&, unsigned int, unsigned int)@Base" 0.8.16~exp6 + (c++)"OpProgress::SubProgress(unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float)@Base" 0.8.16~exp6 + (c++)"OpProgress::OverallProgress(unsigned long long, unsigned long long, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.16~exp6 + (c++)"OpProgress::Progress(unsigned long long)@Base" 0.8.16~exp6 + (c++)"SourceCopy::GetFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long long&)@Base" 0.8.16~exp6 + (c++)"pkgAcqFile::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"pkgAcqFile::pkgAcqFile(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@Base" 0.8.16~exp6 + (c++)"pkgAcquire::UriIterator::~UriIterator()@Base" 0.8.16~exp6 + (c++)"pkgAcquire::MethodConfig::~MethodConfig()@Base" 0.8.16~exp6 + (c++)"pkgAcquire::Item::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"pkgAcquire::Item::Start(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long)@Base" 0.8.16~exp6 + (c++)"pkgRecords::Parser::RecordField(char const*)@Base" 0.8.16~exp6 + (c++)"pkgTagFile::Jump(pkgTagSection&, unsigned long long)@Base" 0.8.16~exp6 + (c++)"pkgTagFile::Offset()@Base" 0.8.16~exp6 + (c++)"pkgTagFile::pkgTagFile(FileFd*, unsigned long long)@Base" 0.8.16~exp6 + (c++)"DynamicMMap::RawAllocate(unsigned long long, unsigned long)@Base" 0.8.16~exp6 + (c++)"PackageCopy::GetFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long long&)@Base" 0.8.16~exp6 + (c++)"pkgAcqIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long long&)@Base" 0.8.16~exp6 + (c++)"pkgAcqArchive::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"pkgTagSection::~pkgTagSection()@Base" 0.8.16~exp6 + (c++)"pkgAcqSubIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"debRecordParser::RecordField(char const*)@Base" 0.8.16~exp6 + (c++)"debReleaseIndex::SetTrusted(bool)@Base" 0.8.16~exp6 + (c++)"debReleaseIndex::debReleaseIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)@Base" 0.8.16~exp6 + (c++)"pkgAcqMetaIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"pkgAcqIndexDiffs::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"pkgAcqMetaSig::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"pkgAcqDiffIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.16~exp6 + (c++)"pkgAcquireStatus::Fetched(unsigned long long, unsigned long long)@Base" 0.8.16~exp6 + (c++)"PreferenceSection::~PreferenceSection()@Base" 0.8.16~exp6 + (c++)"pkgCacheGenerator::NewDescription(pkgCache::DescIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, HashSumValue<128> const&, unsigned int)@Base" 0.8.16~exp6 + (c++)"pkgProblemResolver::ResolveInternal(bool)@Base" 0.8.16~exp6 + (c++)"pkgProblemResolver::ResolveByKeepInternal()@Base" 0.8.16~exp6 + (c++)"FileFd::Read(void*, unsigned long long, unsigned long long*)@Base" 0.8.16~exp6 + (c++)"FileFd::Seek(unsigned long long)@Base" 0.8.16~exp6 + (c++)"FileFd::Skip(unsigned long long)@Base" 0.8.16~exp6 + (c++)"FileFd::Write(void const*, unsigned long long)@Base" 0.8.16~exp6 + (c++)"FileFd::Truncate(unsigned long long)@Base" 0.8.16~exp6 + (c++)"pkgCache::PkgIterator::PkgIterator(pkgCache&, pkgCache::Package*)@Base" 0.8.16~exp6 + (c++)"pkgPolicy::GetPriority(pkgCache::PkgFileIterator const&)@Base" 0.8.16~exp6 + (c++)"OptionalIndexTarget::IsOptional() const@Base" 0.8.16~exp6 + (c++)"typeinfo for pkgTagFile@Base" 0.8.16~exp6 + (c++)"typeinfo for IndexTarget@Base" 0.8.16~exp6 + (c++)"typeinfo for pkgSrcRecords@Base" 0.8.16~exp6 + (c++)"typeinfo for OptionalIndexTarget@Base" 0.8.16~exp6 + (c++)"typeinfo for pkgAcquire::UriIterator@Base" 0.8.16~exp6 + (c++)"typeinfo for pkgAcquire::MethodConfig@Base" 0.8.16~exp6 + (c++)"typeinfo for pkgAcquire::Queue@Base" 0.8.16~exp6 + (c++)"typeinfo for pkgAcquire::Worker@Base" 0.8.16~exp6 + (c++)"typeinfo name for pkgTagFile@Base" 0.8.16~exp6 + (c++)"typeinfo name for IndexTarget@Base" 0.8.16~exp6 + (c++)"typeinfo name for pkgSrcRecords@Base" 0.8.16~exp6 + (c++)"typeinfo name for OptionalIndexTarget@Base" 0.8.16~exp6 + (c++)"typeinfo name for pkgAcquire::UriIterator@Base" 0.8.16~exp6 + (c++)"typeinfo name for pkgAcquire::MethodConfig@Base" 0.8.16~exp6 + (c++)"typeinfo name for pkgAcquire::Queue@Base" 0.8.16~exp6 + (c++)"typeinfo name for pkgAcquire::Worker@Base" 0.8.16~exp6 + (c++)"vtable for pkgTagFile@Base" 0.8.16~exp6 + (c++)"vtable for IndexTarget@Base" 0.8.16~exp6 + (c++)"vtable for pkgSrcRecords@Base" 0.8.16~exp6 + (c++)"vtable for OptionalIndexTarget@Base" 0.8.16~exp6 + (c++)"vtable for pkgAcquire::UriIterator@Base" 0.8.16~exp6 + (c++)"vtable for pkgAcquire::MethodConfig@Base" 0.8.16~exp6 + (c++)"vtable for pkgAcquire::Queue@Base" 0.8.16~exp6 + (c++)"vtable for pkgAcquire::Worker@Base" 0.8.16~exp6 +### remove deprecated parameter + (c++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator)@Base" 0.8.16~exp6 + (c++)"pkgDepCache::AddSizes(pkgCache::PkgIterator const&, bool)@Base" 0.8.16~exp6 + (c++)"pkgDepCache::AddStates(pkgCache::PkgIterator const&, bool)@Base" 0.8.16~exp6 diff --git a/debian/rules b/debian/rules index 0544b2b8e..30474c06b 100755 --- a/debian/rules +++ b/debian/rules @@ -62,7 +62,7 @@ configure.in: endif # APT Programs in apt-utils -APT_UTILS=ftparchive sortpkgs extracttemplates +APT_UTILS=ftparchive sortpkgs extracttemplates internal-solver # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 @@ -70,9 +70,9 @@ APT_UTILS=ftparchive sortpkgs extracttemplates # Find the libapt-pkg major version for use in other control files include buildlib/libversion.mak -# Determine which package we should provide in the control files -LIBAPTPKG_PROVIDE=libapt-pkg$(LIBAPTPKG_MAJOR) -LIBAPTINST_PROVIDE=libapt-inst$(LIBAPTINST_MAJOR) +# Determine which library package names to use +LIBAPT_PKG=libapt-pkg$(LIBAPTPKG_MAJOR) +LIBAPT_INST=libapt-inst$(LIBAPTINST_MAJOR) # do not fail as we are just experimenting with symbol files for now export DPKG_GENSYMBOLS_CHECK_LEVEL=0 @@ -97,6 +97,15 @@ build/configure-stamp: configure build/build-stamp: build/configure-stamp # Add here commands to compile the package. $(MAKE) binary + # compat symlink for the locale split + mkdir -p build/usr/share + cd build/usr/share && ln -f -s ../../locale . + # compile and run tests +ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) + $(MAKE) test +else + @echo "Tests DISABLED" +endif touch $@ build/build-doc-stamp: build/configure-stamp @@ -120,9 +129,6 @@ libapt-pkg-doc: build-doc # # libapt-pkg-doc install # - # remove doxygen's embedded jquery as we don't use it anyway (#622147) - rm -f $(BLD)/doc/doxygen/html/jquery.js - dh_installdocs -p$@ $(BLD)/docs/design* \ $(BLD)/docs/dpkg-tech* \ $(BLD)/docs/files* \ @@ -137,7 +143,7 @@ libapt-pkg-doc: build-doc dh_compress -p$@ dh_fixperms -p$@ dh_installdeb -p$@ - dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) + dh_gencontrol -p$@ dh_md5sums -p$@ dh_builddeb -p$@ @@ -165,7 +171,7 @@ apt-doc: build-doc # Build architecture-dependent files here. -binary-arch: apt libapt-pkg-dev apt-utils apt-transport-https +binary-arch: $(LIBAPT_PKG) $(LIBAPT_INST) apt libapt-pkg-dev apt-utils apt-transport-https apt_MANPAGES = apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list apt: build build-doc dh_testdir -p$@ @@ -185,7 +191,7 @@ apt: build build-doc dh_install -p$@ --sourcedir=$(BLD) # Remove the bits that are in apt-utils - rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS)) + rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS) dump-solver) # https has its own package rm debian/$@/usr/lib/apt/methods/https @@ -205,10 +211,9 @@ apt: build build-doc dh_strip -p$@ dh_compress -p$@ dh_fixperms -p$@ - dh_makeshlibs -p$@ dh_installdeb -p$@ - dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib - dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) + dh_shlibdeps -p$@ + dh_gencontrol -p$@ dh_md5sums -p$@ dh_builddeb -p$@ @@ -227,7 +232,7 @@ libapt-pkg-dev: build dh_compress -p$@ dh_fixperms -p$@ dh_installdeb -p$@ - dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE) + dh_gencontrol -p$@ -- -Vlibapt-pkg-name=$(LIBAPT_PKG) -Vlibapt-inst-name=$(LIBAPT_INST) dh_md5sums -p$@ dh_builddeb -p$@ @@ -239,8 +244,10 @@ apt-utils: build dh_installdirs -p$@ cp $(addprefix $(BLD)/bin/apt-,$(APT_UTILS)) debian/$@/usr/bin/ + cp $(BLD)/bin/apt-dump-solver debian/$@/usr/lib/apt/solvers/dump dh_install -p$@ --sourcedir=$(BLD) + dh_link -p$@ dh_installdocs -p$@ dh_installexamples -p$@ @@ -253,8 +260,46 @@ apt-utils: build dh_fixperms -p$@ dh_makeshlibs -p$@ dh_installdeb -p$@ - dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib - dh_gencontrol -p$@ -- -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE) + dh_shlibdeps -p$@ + dh_gencontrol -p$@ + dh_md5sums -p$@ + dh_builddeb -p$@ + +$(LIBAPT_PKG): build + dh_testdir -p$@ + dh_testroot -p$@ + dh_prep -p$@ + dh_installdirs -p$@ + + dh_install -p$@ --sourcedir=$(BLD) + dh_installdocs -p$@ + dh_installchangelogs -p$@ + dh_strip -p$@ + dh_compress -p$@ + dh_fixperms -p$@ + dh_makeshlibs -p$@ + dh_installdeb -p$@ + dh_shlibdeps -p$@ + dh_gencontrol -p$@ + dh_md5sums -p$@ + dh_builddeb -p$@ + +$(LIBAPT_INST): build + dh_testdir -p$@ + dh_testroot -p$@ + dh_prep -p$@ + dh_installdirs -p$@ + + dh_install -p$@ --sourcedir=$(BLD) + dh_installdocs -p$@ + dh_installchangelogs -p$@ + dh_strip -p$@ + dh_compress -p$@ + dh_fixperms -p$@ + dh_makeshlibs -p$@ + dh_installdeb -p$@ + dh_shlibdeps -p$@ + dh_gencontrol -p$@ dh_md5sums -p$@ dh_builddeb -p$@ @@ -276,7 +321,7 @@ apt-transport-https: build libapt-pkg-dev dh_compress -p$@ dh_fixperms -p$@ dh_installdeb -p$@ - dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib + dh_shlibdeps -p$@ dh_gencontrol -p$@ dh_md5sums -p$@ dh_builddeb -p$@ diff --git a/doc/apt-cache.8.xml b/doc/apt-cache.8.xml index 431ef8704..1393de015 100644 --- a/doc/apt-cache.8.xml +++ b/doc/apt-cache.8.xml @@ -263,7 +263,7 @@ Reverse Provides: about the priority selection of the named package.</para></listitem> </varlistentry> - <varlistentry><term>madison <replaceable>/[ pkg(s) ]</replaceable></term> + <varlistentry><term>madison <replaceable>[ pkg(s) ]</replaceable></term> <listitem><para><literal>apt-cache</literal>'s <literal>madison</literal> command attempts to mimic the output format and a subset of the functionality of the Debian archive management tool, <literal>madison</literal>. It displays diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml index 11b53e5e7..36a675bb0 100644 --- a/doc/apt-get.8.xml +++ b/doc/apt-get.8.xml @@ -54,6 +54,13 @@ <replaceable>target_release</replaceable> </arg> </arg> + <arg> + <option>-a=</option> + <arg choice='plain'> + <replaceable>default_architecture</replaceable> + </arg> + </arg> + <group choice="req"> <arg choice='plain'>update</arg> @@ -254,8 +261,10 @@ <para>If the <option>--compile</option> option is specified then the package will be compiled to a binary .deb using - <command>dpkg-buildpackage</command>, if <option>--download-only</option> - is specified then the source package will not be unpacked.</para> + <command>dpkg-buildpackage</command> for the architecture as + defined by the <command>--host-architecture</command> option. + If <option>--download-only</option> is specified then the source package + will not be unpacked.</para> <para>A specific source version can be retrieved by postfixing the source name with an equals and then the version to fetch, similar to the mechanism @@ -270,7 +279,9 @@ <varlistentry><term>build-dep</term> <listitem><para><literal>build-dep</literal> causes apt-get to install/remove packages in an - attempt to satisfy the build dependencies for a source package.</para></listitem> + attempt to satisfy the build dependencies for a source package. By default the dependencies are + satisfied to build the package nativly. If desired a host-architecture can be specified + with the <option>--host-architecture</option> option instead.</para></listitem> </varlistentry> <varlistentry><term>check</term> @@ -422,6 +433,11 @@ Configuration Item: <literal>APT::Get::Assume-Yes</literal>.</para></listitem> </varlistentry> + <varlistentry><term><option>--assume-no</option></term> + <listitem><para>Automatic "no" to all prompts. + Configuration Item: <literal>APT::Get::Assume-No</literal>.</para></listitem> + </varlistentry> + <varlistentry><term><option>-u</option></term><term><option>--show-upgraded</option></term> <listitem><para>Show upgraded packages; Print out a list of all packages that are to be upgraded. @@ -433,6 +449,16 @@ Configuration Item: <literal>APT::Get::Show-Versions</literal>.</para></listitem> </varlistentry> + <varlistentry><term><option>-a</option></term> + <term><option>--host-architecture</option></term> + <listitem><para>This option controls the architecture packages are built for + by <command>apt-get source --compile</command> and how cross-builddependencies + are satisfied. By default is not set which means that the host architecture + is the same as the build architecture (which is defined by <literal>APT::Architecture</literal>) + Configuration Item: <literal>APT::Get::Host-Architecture</literal> + </para></listitem> + </varlistentry> + <varlistentry><term><option>-b</option></term><term><option>--compile</option></term> <term><option>--build</option></term> <listitem><para>Compile source packages after downloading them. diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml index 02de89f3b..1adc868e0 100644 --- a/doc/apt.conf.5.xml +++ b/doc/apt.conf.5.xml @@ -153,7 +153,15 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; parsing package lists. The internal default is the architecture apt was compiled for.</para></listitem> </varlistentry> - + + <varlistentry><term>Architectures</term> + <listitem><para>All Architectures the system supports. Processors implementing the <literal>amd64</literal> + are e.g. also able to execute binaries compiled for <literal>i386</literal>; This list is use when fetching files and + parsing package lists. The internal default is always the native architecture (<literal>APT::Architecture</literal>) + and all foreign architectures it can retrieve by calling <command>dpkg --print-foreign-architectures</command>. + </para></listitem> + </varlistentry> + <varlistentry><term>Default-Release</term> <listitem><para>Default release to install packages from if more than one version available. Contains release name, codename or release version. Examples: 'stable', 'testing', @@ -259,14 +267,23 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; <varlistentry><term>Max-ValidTime</term> <listitem><para>Seconds the Release file should be considered valid after - it was created. The default is "for ever" (0) if the Release file of the - archive doesn't include a <literal>Valid-Until</literal> header. - If it does then this date is the default. The date from the Release file or - the date specified by the creation time of the Release file - (<literal>Date</literal> header) plus the seconds specified with this - options are used to check if the validation of a file has expired by using - the earlier date of the two. Archive specific settings can be made by - appending the label of the archive to the option name. + it was created (indicated by the <literal>Date</literal> header). + If the Release file itself includes a <literal>Valid-Until</literal> header + the earlier date of the two is used as the expiration date. + The default value is <literal>0</literal> which stands for "for ever". + Archive specific settings can be made by appending the label of the archive + to the option name. + </para></listitem> + </varlistentry> + + <varlistentry><term>Min-ValidTime</term> + <listitem><para>Minimum of seconds the Release file should be considered + valid after it was created (indicated by the <literal>Date</literal> header). + Use this if you need to use a seldomly updated (local) mirror of a more + regular updated archive with a <literal>Valid-Until</literal> header + instead of competely disabling the expiration date checking. + Archive specific settings can and should be used by appending the label of + the archive to the option name. </para></listitem> </varlistentry> diff --git a/doc/examples/configure-index b/doc/examples/configure-index index 6884e06e3..49e803f91 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -23,6 +23,7 @@ quiet::NoUpdate "true"; // never update progress information - included in -q=1 APT { Architecture "i386"; + Architectures { "amd64"; "armel"; }; Build-Essential "build-essential"; NeverAutoRemove { "linux-image.*"; }; // packages that should never @@ -31,6 +32,7 @@ APT // Options for apt-get Get { + Host-Architecture "armel"; Arch-Only "false"; AllowUnauthenticated "false"; AutomaticRemove "false"; diff --git a/doc/external-dependency-solver-protocol.txt b/doc/external-dependency-solver-protocol.txt new file mode 100644 index 000000000..7a124d8f9 --- /dev/null +++ b/doc/external-dependency-solver-protocol.txt @@ -0,0 +1,299 @@ +# APT External Dependency Solver Protocol (EDSP) - version 0.4 + +This document describes the communication protocol between APT and +external dependency solvers. The protocol is called APT EDSP, for "APT +External Dependency Solver Protocol". + + +## Components + +- **APT**: we know this one. +- APT is equipped with its own **internal solver** for dependencies, + which is identified by the string `internal`. +- **External solver**: an *external* software component able to resolve + dependencies on behalf of APT. + +At each interaction with APT, a single solver is in use. When there is +a total of 2 or more solvers, internals or externals, the user can +choose which one to use. + +Each solver is identified by an unique string, the **solver +name**. Solver names must be formed using only alphanumeric ASCII +characters, dashes, and underscores; solver names must start with a +lowercase ASCII letter. The special name `internal` denotes APT's +internal solver, is reserved, and cannot be used by external solvers. + + +## Installation + +Each external solver is installed as a file under Dir::Bin::Solvers (see +below), which defaults to `/usr/lib/apt/solvers`. We will assume in the +remainder of this section that such a default value is in effect. + +The naming scheme is `/usr/lib/apt/solvers/NAME`, where `NAME` is the +name of the external solver. + +Each file under `/usr/lib/apt/solvers` corresponding to an external +solver must be executable. + +No non-solver files must be installed under `/usr/lib/apt/solvers`, so +that an index of available external solvers can be obtained by listing +the content of that directory. + + +## Configuration + +Several APT options can be used to affect dependency solving in APT. An +overview of them is given below. Please refer to proper APT +configuration documentation for more, and more up to date, information. + +- **APT::Solver**: the name of the solver to be used for + dependency solving. Defaults to `internal` + +- **APT::Solver::Strict-Pinning**: whether pinning must be strictly + respected (as the internal solver does) or can be slightly deviated + from. Defaults to `yes`. + +- **APT::Solver::NAME::Preferences** (where NAME is a solver name): + solver-specific user preference string used during dependency solving, + when the solver NAME is in use. Check solver-specific documentation + for what is supported here. Defaults to the empty string. + +- **Dir::Bin::Solvers**: absolute path of the directory where to look for + external solvers. Defaults to `/usr/lib/apt/solvers`. + +## Protocol + +When configured to use an external solver, APT will resort to it to +decide which packages should be installed or removed. + +The interaction happens **in batch**: APT will invoke the external +solver passing the current status of installed and available packages, +as well as the user request to alter the set of installed packages. The +external solver will compute a new complete set of installed packages +and gives APT a "diff" listing of which *additional* packages should be +installed and of which currently installed packages should be +*removed*. (Note: the order in which those actions have to be performed +will be up to APT to decide.) + +External solvers are invoked by executing them. Communications happens +via the file descriptors: **stdin** (standard input) and **stdout** +(standard output). stderr is not used by the EDSP protocol. Solvers can +therefore use stderr to dump debugging information that could be +inspected separately. + +After invocation, the protocol passes through a sequence of phases: + +1. APT invokes the external solver +2. APT send to the solver a dependency solving **scenario** +3. The solver solves dependencies. During this phase the solver may + send, repeatedly, **progress** information to APT. +4. The solver sends back to APT an **answer**, i.e. either a *solution* + or an *error* report. +5. The external solver exits + + +### Scenario + +A scenario is a text file encoded in a format very similar to the "Deb +822" format (AKA "the format used by Debian `Packages` files"). A +scenario consists of two distinct parts: a **request** and a **package +universe**, occurring in that order. The request consists of a single +Deb 822 stanza, while the package universe consists of several such +stanzas. All stanzas occurring in a scenario are separated by an empty +line. + + +#### Request + +Within a dependency solving scenario, a request represents the action on +installed packages requested by the user. + +A request is a single Deb 822 stanza opened by a mandatory Request field +and followed by a mixture of action and preference fields. + +The value of the **Request:** field is a string describing the EDSP +protocol which will be used to communicate. At present, the string must +be `EDSP 0.4`. + +a unique request identifier, such as an +UUID. Request fields are mainly used to identify the beginning of a +request stanza; their actual values are otherwise not used by the EDSP +protocol. + +The following **action fields** are supported in request stanzas: + +- **Install:** (optional, defaults to the empty string) A space + separated list of package names, with *no version attached*, to + install. This field denotes a list of packages that the user wants to + install, usually via an APT `install` request. + +- **Remove:** (optional, defaults to the empty string) Same syntax of + Install. This field denotes a list of packages that the user wants to + remove, usually via APT `remove` or `purge` requests. + +- **Upgrade:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. When set to `yes`, an upgrade of all installed packages has been + requested, usually via an APT `upgrade` request. + +- **Dist-Upgrade:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. Same as Upgrade, but for APT `dist-upgrade` requests. + +- **Autoremove:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. When set to `yes`, a clean up of unused automatically installed + packages has been requested, usually via an APT `autoremove` request. + +The following **preference fields** are supported in request stanzas: + +- **Strict-Pinning:** (optional, defaults to `yes`). Allowed values: + `yes`, `no`. When set to `yes`, APT pinning is strict, in the sense + that the solver must not propose to install packages which are not APT + candidates (see the `APT-Pin` and `APT-Candidate` fields in the + package universe). When set to `no`, the solver does only a best + effort attempt to install APT candidates. Usually, the value of this + field comes from the `APT::Solver::Strict-Pinning` configuration + option. + +- **Preferences:** a solver-specific optimization string, usually coming + from the `APT::Solver::Preferences` configuration option. + + +#### Package universe + +A package universe is a list of Deb 822 stanzas, one per package, called +**package stanzas**. Each package stanzas starts with a Package +field. The following fields are supported in package stanzas: + +- All fields contained in the dpkg database, with the exception of + fields marked as "internal" (see the manpage `dpkg-query (1)`). Among + those fields, the following are mandatory for all package stanzas: + Package, Version, Architecture. + + It is recommended not to pass the Description field to external + solvers or, alternatively, to trim it to the short description only. + +- **Installed:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. When set to `yes`, the corresponding package is currently + installed. + + Note: the Status field present in the dpkg database must not be passed + to the external solver, as it's an internal dpkg field. Installed and + other fields permit to encode the most relevant aspects of Status in + communications with solvers. + +- **Hold:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. When set to `yes`, the corresponding package is marked as "on + hold" by dpkg. + +- **APT-ID:** (mandatory). Unique package identifier, according to APT. + +- **APT-Pin:** (mandatory). Must be an integer. Package pin value, + according to APT policy. + +- **APT-Candidate:** (optional, defaults to `no`). Allowed values: + `yes`, `no`. When set to `yes`, the corresponding package is the APT + candidate for installation among all available packages with the same + name. + +- **APT-Automatic:** (optional, defaults to `no`). Allowed values: + `yes`, `no`. When set to `yes`, the corresponding package is marked by + APT as automatic installed. Note that automatic installed packages + should be removed by the solver only when the Autoremove action is + requested (see Request section). + +### Answer + +An answer from the external solver to APT is either a *solution* or an +*error*. + +The following invariant on **exit codes** must hold true. When the +external solver is *able to find a solution*, it will write the solution +to standard output and then exit with an exit code of 0. When the +external solver is *unable to find a solution* (and s aware of that), it +will write an error to standard output and then exit with an exit code +of 0. An exit code other than 0 will be interpreted as a solver crash +with no meaningful error about dependency resolution to convey to the +user. + + +#### Solution + +A solution is a list of Deb 822 stanzas. Each of them could be an +install stanza (telling APT to install a specific package), a remove +stanza (telling APT to remove one), or an autoremove stanza (telling APT +about the *future* possibility of removing a package using the +Autoremove action). + +An **install stanza** starts with an Install field and supports the +following fields: + +- **Install:** (mandatory). The value is a package identifier, + referencing one of the package stanzas of the package universe via its + APT-ID field. + +- All fields supported by package stanzas. + +**Remove stanzas** are similar to install stanzas, but have **Remove** +fields instead of Install fields. + +**Autoremove stanzas** are similar to install stanzas, but have +**Autoremove** fields instead of Install fields. Autoremove stanzas +should be output so that APT can inform the user of which packages they +can now autoremove, as a consequence of the executed action. However, +this protocol makes no assumption on the fact that a subsequent +invocation of an Autoremove action will actually remove the very same +packages indicated by Autoremove stanzas in the former solution. + +In terms of expressivity, install and remove stanzas can carry one +single field each, as APT-IDs are enough to pinpoint packages to be +installed/removed. Nonetheless, for protocol readability, it is +recommended that solvers either add unconditionally the fields Package, +Version, and Architecture to all install/remove stanzas or, +alternatively, that they support a `--verbose` command line flag that +explicitly enables the output of those fields in solutions. + + +#### Error + +An error is a single Deb 822 stanza, starting the field Error. The +following fields are supported in error stanzas: + +- **Error:** (mandatory). The value of this field is ignored, although + it should be a unique error identifier, such as a UUID. + +- **Message:** (mandatory). The value of this field is a text string, + meant to be read by humans, that explains the cause of the solver + error. Message fields might be multi-line, like the Description field + in the dpkg database. The first line conveys a short message, which + can be explained in more details using subsequent lines. + + +### Progress + +During dependency solving, an external solver may send progress +information to APT using **progress stanzas**. A progress stanza starts +with the Progress field and might contain the following fields: + +- **Progress:** (mandatory). The value of this field is a date and time + timestamp, in RFC 2822 format. The timestamp provides a time + annotation for the progress report. + +- **Percentage:** (optional). An integer from 0 to 100, representing the + completion of the dependency solving process, as declared by the + solver. + +- **Message:** (optional). A textual message, meant to be read by the + APT user, telling what is going on within the dependency solving + (e.g. the current phase of dependency solving, as declared by the + solver). + + +# Future extensions + +Potential future extensions to this protocol, listed in no specific +order, include: + +- fixed error types to identify common failures across solvers and + enable APT to translate error messages +- structured error data to explain failures in terms of packages and + dependencies diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot index 12a7515dd..364dce12f 100644 --- a/doc/po/apt-doc.pot +++ b/doc/po/apt-doc.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -928,7 +928,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -967,7 +967,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 apt-sortpkgs.1.xml:61 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "" @@ -987,12 +987,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "" @@ -1067,7 +1067,7 @@ msgstr "" #: apt-cache.8.xml:317 msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: " "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></literal> " "e.g. <literal>APT::Cache::ShowRecommends</literal>." @@ -1091,7 +1091,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "" @@ -1187,12 +1187,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 +#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 apt.conf.5.xml:1093 apt_preferences.5.xml:697 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "" @@ -1202,7 +1202,7 @@ msgid "&file-sourceslist; &file-statelists;" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 sources.list.5.xml:234 +#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 sources.list.5.xml:234 msgid "See Also" msgstr "" @@ -1212,7 +1212,7 @@ msgid "&apt-conf;, &sources-list;, &apt-get;" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 +#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "" @@ -1311,12 +1311,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "" @@ -1519,7 +1519,7 @@ msgid "Just show the contents of the configuration space." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 apt-sortpkgs.1.xml:73 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "" @@ -2443,28 +2443,26 @@ msgid "" "Configuration Items: " "<literal>APT::FTPArchive::<replaceable>Checksum</replaceable></literal> and " "<literal>APT::FTPArchive::<replaceable>Index</replaceable>::<replaceable>Checksum</replaceable></literal> " -"where <literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or " -"<literal>Release</literal> and " -"<literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or " -"<literal>SHA256</literal>." +"where <literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, " +"<literal>SHA1</literal> or <literal>SHA256</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -2473,12 +2471,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -2487,12 +2485,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -2502,12 +2500,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: " @@ -2515,24 +2513,24 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: " "<literal>APT::FTPArchive::ReadOnlyDB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -2541,12 +2539,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -2560,12 +2558,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -2575,12 +2573,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 sources.list.5.xml:198 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 sources.list.5.xml:198 msgid "Examples" msgstr "" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "" "<command>apt-ftparchive</command> packages " @@ -2589,14 +2587,14 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -2924,7 +2922,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -3614,43 +3612,38 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 msgid "net-update" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch " +"from. APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 msgid "--keyring <replaceable>filename</replaceable>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -3661,42 +3654,42 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 msgid "&apt-get;, &apt-secure;" msgstr "" @@ -4206,10 +4199,10 @@ msgstr "" #: apt.conf.5.xml:52 msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the " +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " "case it will be silently ignored." msgstr "" @@ -4917,7 +4910,7 @@ msgid "" "Note that at run time the " "<literal>Dir::Bin::<replaceable>Methodname</replaceable></literal> will be " "checked: If this setting exists the method will only be used if this file " -"exists, e.g. for the bzip2 method (the inbuilt) setting is: <placeholder " +"exists, e.g. for the bzip2 method (the inbuilt) setting is <placeholder " "type=\"literallayout\" id=\"0\"/> Note also that list entries specified on " "the command line will be added at the end of the list specified in the " "configuration files, but before the default entries. To prefer a type in " @@ -4930,7 +4923,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -5872,8 +5865,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or " -"\"<literal>pref</literal>\" as filename extension and only contain " +"following naming convention: The files have no or " +"\"<literal>pref</literal>\" as filename extension and which only contain " "alphanumeric, hyphen (-), underscore (_) and period (.) characters. " "Otherwise APT will print a notice that it has ignored a file if the file " "doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</literal> " @@ -6205,8 +6198,8 @@ msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a " -"glob()-like expression) or contains the word kde (as a POSIX extended " -"regular expression surrounded by slashes)." +"glob()-like expression or contains the word kde (as a POSIX extended regular " +"expression surrounded by slashes)." msgstr "" #. type: Content of: <refentry><refsect1><refsect2><programlisting> @@ -6222,7 +6215,7 @@ msgstr "" #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" diff --git a/doc/po/de.po b/doc/po/de.po index 006a3b5de..6261a470e 100644 --- a/doc/po/de.po +++ b/doc/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-doc 0.8.14-1\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: 2011-05-31 21:00+0100\n" "Last-Translator: Chris Leick <c.leick@vollbio.de>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" @@ -1230,8 +1230,8 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" -msgstr "madison <replaceable>/[ Paket(e) ]</replaceable>" +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" +msgstr "madison <replaceable>[ Paket(e) ]</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:267 @@ -1282,7 +1282,7 @@ msgstr "" "pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1310,12 +1310,12 @@ msgstr "" "srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1394,18 +1394,12 @@ msgstr "<option>--no-replaces</option>" msgid "<option>--no-enhances</option>" msgstr "<option>--no-enhances</option>" +# FIXME s/twicked/tricked/ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:317 -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be twicked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1436,7 +1430,7 @@ msgstr "" "Konfigurationselement: <literal>APT::Cache::ShowFull</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1553,13 +1547,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 #: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "&apt-commonoptions;" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 #: apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "Dateien" @@ -1571,8 +1565,8 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 #: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 #: sources.list.5.xml:234 msgid "See Also" @@ -1585,7 +1579,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 #: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnose" @@ -1715,12 +1709,12 @@ msgstr "" "<placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "Optionen" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -1974,7 +1968,7 @@ msgid "Just show the contents of the configuration space." msgstr "Nur der Inhalt des Konfigurationsbereichs wird angezeigt." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3139,6 +3133,7 @@ msgid "" msgstr "" "<option>--md5</option>, <option>--sha1</option>, <option>--sha256</option>" +# FIXME <literal>Checksum</literal> im letzten Abschnitt <replaceable>? #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 msgid "" @@ -3147,30 +3142,29 @@ msgid "" "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" "erzeugt die vorgegebene Prüfsumme. Diese Optionen sind standardmäßig " "aktiviert. Wenn sie deaktiviert sind, werden die erzeugten Indexdateien nach " "Möglichkeit keine Prüfsummenfelder erhalten. Konfigurationselemente: " "<literal>APT::FTPArchive::<replaceable>Prüfsumme</replaceable></literal> und " "<literal>APT::FTPArchive::<replaceable>Index</replaceable>::" -"<replaceable>Prüfsumme</replaceable></literal>, wobei " -"<literal><replaceable>Index</replaceable></literal> <literal>Packages</" -"literal>, <literal>Sources</literal> oder <literal>Release</literal> sein " -"kann und <literal><replaceable>Prüfsumme</replaceable></literal> " +"<replaceable>Prüfsumme</replaceable></literal>, wobei <literal>Index</" +"literal> <literal>Packages</literal>, <literal>Sources</literal> oder " +"<literal>Release</literal> sein kann und <literal>Checksum</literal> " "<literal>MD5</literal>, <literal>SHA1</literal> oder <literal>SHA256</" "literal> sein kann." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3180,7 +3174,7 @@ msgstr "" "DB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3194,12 +3188,12 @@ msgstr "" "Konfigurationselement: <literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3213,12 +3207,12 @@ msgstr "" "DeLinkAct</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3234,12 +3228,12 @@ msgstr "" "Konfigurationselement: <literal>APT::FTPArchive::Contents</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3250,12 +3244,12 @@ msgstr "" "SourceOverride</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3264,12 +3258,12 @@ msgstr "" "<literal>APT::FTPArchive::ReadOnlyDB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -3283,12 +3277,12 @@ msgstr "" "Architecture</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>APT::FTPArchive::AlwaysStat</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3312,12 +3306,12 @@ msgstr "" "haben sollte und all diese zusätzlichen Prüfungen daher nutzlos sind." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3333,19 +3327,19 @@ msgstr "" "werden kann." #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 #: sources.list.5.xml:198 msgid "Examples" msgstr "Beispiele" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> Pakete <replaceable>Verzeichnis</replaceable> | <command>gzip</command> > <filename>Pakete.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3355,7 +3349,7 @@ msgstr "" ">" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3827,11 +3821,12 @@ msgstr "" msgid "download" msgstr "download" +# FIXME s/directoy/directory/ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" "<literal>download</literal> wird das angegebene Binärpaket in das aktuelle " "Verzeichnis herunterladen." @@ -4717,33 +4712,31 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" +"Den lokalen Schlüsselbund mit dem Schlüsselbund der Debian-Archivschlüssel " +"aktualisieren und aus dem Schlüsselbund die Archivschlüssel entfernen, die " +"nicht länger gültig sind." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 #, fuzzy #| msgid "update" msgid "net-update" msgstr "update" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch from. " +"APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4752,12 +4745,12 @@ msgstr "" "Befehlen definiert sein müssen." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>Dateiname</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -4774,45 +4767,45 @@ msgstr "" "Schlüssel werden zu diesem hinzugefügt." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "<filename>/etc/apt/trustdb.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "Lokale Datenbank vertrauenswürdiger Archivschlüssel." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "Schlüsselbund vertrauenswürdiger Schlüssel des Debian-Archivs." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "" "Schlüsselbund entfernter vertrauenswürdiger Schlüssel des Debian-Archivs." #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" @@ -5521,25 +5514,16 @@ msgstr "" "die Datei, die durch die Umgebungsvariable <envar>APT_CONFIG</envar> " "angegeben wird (falls gesetzt)" +# FIXME s/no or/no/ #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml:52 -#, fuzzy -#| msgid "" -#| "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -#| "order which have no or \"<literal>conf</literal>\" as filename extension " -#| "and which only contain alphanumeric, hyphen (-), underscore (_) and " -#| "period (.) characters. Otherwise APT will print a notice that it has " -#| "ignored a file if the file doesn't match a pattern in the <literal>Dir::" -#| "Ignore-Files-Silently</literal> configuration list - in this case it will " -#| "be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "alle Dateien in <literal>Dir::Etc::Parts</literal> in aufsteigender " "alphanumerischer Reihenfolge, die kein »<literal>conf</literal>« als " @@ -6577,27 +6561,16 @@ msgstr "" msgid "Dir::Bin::bzip2 \"/bin/bzip2\";" msgstr "Dir::Bin::bzip2 \"/bin/bzip2\";" +# FIXME s/> Note/>. Note/ #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:442 -#, fuzzy -#| msgid "" -#| "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" -#| "replaceable></literal> will be checked: If this setting exists the method " -#| "will only be used if this file exists, e.g. for the bzip2 method (the " -#| "inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note " -#| "also that list entries specified on the command line will be added at the " -#| "end of the list specified in the configuration files, but before the " -#| "default entries. To prefer a type in this case over the ones specified in " -#| "the configuration files you can set the option direct - not in list " -#| "style. This will not override the defined list, it will only prefix the " -#| "list with this type." msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6615,11 +6588,12 @@ msgstr "" "nicht im Listenstil. Dies wird die definierte Liste nicht überschreiben, es " "wird diesen Typ nur vor die Liste setzen." +# FIXME: s/doesn't provide/don't provide/ #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" "Der besondere Typ <literal>uncompressed</literal> kann benutzt werden, um " @@ -7904,21 +7878,11 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt_preferences.5.xml:70 -#, fuzzy -#| msgid "" -#| "Note that the files in the <filename>/etc/apt/preferences.d</filename> " -#| "directory are parsed in alphanumeric ascending order and need to obey the " -#| "following naming convention: The files have no or \"<literal>pref</" -#| "literal>\" as filename extension and which only contain alphanumeric, " -#| "hyphen (-), underscore (_) and period (.) characters. Otherwise APT will " -#| "print a notice that it has ignored a file if the file doesn't match a " -#| "pattern in the <literal>Dir::Ignore-Files-Silently</literal> " -#| "configuration list - in this case it will be silently ignored." msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8387,13 +8351,14 @@ msgstr "" msgid "Regular expressions and glob() syntax" msgstr "Reguläre Ausdrücke und glob()-Syntax" +# FIXME: s/expression or/expression) or/ #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml:264 msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a glob" -"()-like expression) or contains the word kde (as a POSIX extended regular " +"()-like expression or contains the word kde (as a POSIX extended regular " "expression surrounded by slashes)." msgstr "" "APT unterstützt außerdem Pinning mittels glob()-Ausdrücken und regulären " @@ -8415,11 +8380,12 @@ msgstr "" "Pin: release n=experimental\n" "Pin-Priority: 500\n" +# FIXME: s/Those/Thus/ #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" "Die Regel für diese Ausdrücke ist, dass sie überall dort auftreten können, " @@ -11255,14 +11221,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/Platte/\" dist-upgrade" msgid "Which will use the already fetched archives on the disc." msgstr "Es wird die bereits auf die Platte heruntergeladenen Archive benutzen." -#~ msgid "" -#~ "Update the local keyring with the keyring of Debian archive keys and " -#~ "removes from the keyring the archive keys which are no longer valid." -#~ msgstr "" -#~ "Den lokalen Schlüsselbund mit dem Schlüsselbund der Debian-" -#~ "Archivschlüssel aktualisieren und aus dem Schlüsselbund die " -#~ "Archivschlüssel entfernen, die nicht länger gültig sind." - #~ msgid "<option>--md5</option>" #~ msgstr "<option>--md5</option>" diff --git a/doc/po/es.po b/doc/po/es.po index 62e6453cd..3a21eeecb 100644 --- a/doc/po/es.po +++ b/doc/po/es.po @@ -36,7 +36,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.25\n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: 2010-08-25 03:25+0200\n" "Last-Translator: Omar Campagne <ocampagne@gmail.com>\n" "Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n" @@ -1303,7 +1303,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" msgstr "madison <replaceable>[ paquete(s) ]</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -1354,7 +1354,7 @@ msgstr "" "configuración: <literal>Dir::Cache::pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1380,12 +1380,12 @@ msgstr "" "Opción de configuración: <literal>Dir::Cache::srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1466,16 +1466,9 @@ msgstr "<option>--no-enhances</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:317 -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be twicked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1507,7 +1500,7 @@ msgstr "" "Opción de configuración: <literal>APT::Cache::ShowFull</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1624,13 +1617,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 #: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "&apt-commonoptions;" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 #: apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "Ficheros" @@ -1642,8 +1635,8 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 #: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 #: sources.list.5.xml:234 msgid "See Also" @@ -1656,7 +1649,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 #: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnósticos" @@ -1786,12 +1779,12 @@ msgstr "" "option>. <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "Opciones" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -2048,7 +2041,7 @@ msgid "Just show the contents of the configuration space." msgstr "Sólo muestra el contenido del espacio de configuración." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3205,25 +3198,43 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 +#, fuzzy +#| msgid "" +#| "Values for the additional metadata fields in the Release file are taken " +#| "from the corresponding variables under <literal>APT::FTPArchive::Release</" +#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The " +#| "supported fields are: <literal>Origin</literal>, <literal>Label</" +#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, " +#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-" +#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</" +#| "literal>, <literal>Description</literal>." msgid "" "Generate the given checksum. These options default to on, when turned off " "the generated index files will not have the checksum fields where possible. " "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" +"Los valores para los campos de metadatos adicionales en el fichero «Release» " +"se toman de las variables correspondientes en <literal>APT::FTPArchive::" +"Release</literal>, por ejemplo <literal>APT::FTPArchive::Release::Origin</" +"literal>. Los campos permitidos son: <literal>Origin</literal>, " +"<literal>Label</literal>, <literal>Suite</literal>, <literal>Version</" +"literal>, <literal>Codename</literal>, <literal>Date</literal>, " +"<literal>Valid-Until</literal>, <literal>Architectures</literal>, " +"<literal>Components</literal> y <literal>Description</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3232,7 +3243,7 @@ msgstr "" "«generate». Opción de configuración: <literal>APT::FTPArchive::DB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3246,12 +3257,12 @@ msgstr "" "configuración. Opción de configuración: <literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3264,12 +3275,12 @@ msgstr "" "Opción de configuración: <literal>APT::FTPArchive::DeLinkAct</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3286,12 +3297,12 @@ msgstr "" "Contents</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3302,12 +3313,12 @@ msgstr "" "FTPArchive::SourceOverride</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3316,12 +3327,12 @@ msgstr "" "Opción de configuración: <literal>APT::FTPArchive::ReadOnlyDB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -3335,12 +3346,12 @@ msgstr "" "FTPArchive::Architecture</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>APT::FTPArchive::AlwaysStat</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3364,12 +3375,12 @@ msgstr "" "comprobaciones adicionales son innecesarias." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3385,19 +3396,19 @@ msgstr "" "con la orden «generate»." #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 #: sources.list.5.xml:198 msgid "Examples" msgstr "Ejemplos" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> packages <replaceable>directorio</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3406,7 +3417,7 @@ msgstr "" "paquetes binarios («.deb»): <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3879,7 +3890,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -4754,33 +4765,30 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" +"Actualiza el registro de claves local con el registro de claves del archivo " +"Debian, y elimina del registro las claves del archivo que ya no son válidas." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 #, fuzzy #| msgid "update" msgid "net-update" msgstr "update" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch from. " +"APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4789,12 +4797,12 @@ msgstr "" "descritas en el sección anterior." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>nombre-de-fichero</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -4811,44 +4819,44 @@ msgstr "" "esto es, por ejemplo, que las claves nuevas se añaden a este fichero." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "<filename>/etc/apt/trustdb.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "Base de datos local de las claves de confianza de archivos Debian" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "Registro de las claves de confianza del archivo de Debian." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "Registro de las claves de confianza eliminadas del archivo de Debian." #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" @@ -5574,12 +5582,11 @@ msgstr "" #| "period (.) characters - otherwise they will be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "Todos los ficheros en <literal>Dir::Etc::Parts</literal> en orden " "alfanumérico ascendente que no tienen extensión o la extensión " @@ -6608,9 +6615,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6632,7 +6639,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -7925,8 +7932,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8394,7 +8401,7 @@ msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a glob" -"()-like expression) or contains the word kde (as a POSIX extended regular " +"()-like expression or contains the word kde (as a POSIX extended regular " "expression surrounded by slashes)." msgstr "" @@ -8418,7 +8425,7 @@ msgstr "" #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" @@ -11240,14 +11247,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade" msgid "Which will use the already fetched archives on the disc." msgstr "Ésto usará los archivos del disco previamente obtenidos." -#~ msgid "" -#~ "Update the local keyring with the keyring of Debian archive keys and " -#~ "removes from the keyring the archive keys which are no longer valid." -#~ msgstr "" -#~ "Actualiza el registro de claves local con el registro de claves del " -#~ "archivo Debian, y elimina del registro las claves del archivo que ya no " -#~ "son válidas." - #~ msgid "<option>--md5</option>" #~ msgstr "<option>--md5</option>" diff --git a/doc/po/fr.po b/doc/po/fr.po index c21d4bdab..e4a5e1694 100644 --- a/doc/po/fr.po +++ b/doc/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: 2011-02-17 07:50+0100\n" "Last-Translator: Christian Perrier <bubulle@debian.org>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" @@ -1225,7 +1225,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" msgstr "madison <replaceable>[ paquet(s) ]</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -1277,7 +1277,7 @@ msgstr "" "<literal>Dir::Cache::pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1304,12 +1304,12 @@ msgstr "" "<literal>Dir::Cache::srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1391,16 +1391,9 @@ msgstr "<option>--no-enhances</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:317 -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be twicked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1432,7 +1425,7 @@ msgstr "" "literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1552,13 +1545,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 #: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "&apt-commonoptions;" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 #: apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "Fichiers" @@ -1570,8 +1563,8 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 #: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 #: sources.list.5.xml:234 msgid "See Also" @@ -1584,7 +1577,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;." #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 #: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnostics" @@ -1714,12 +1707,12 @@ msgstr "" "\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "Options" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -1976,7 +1969,7 @@ msgid "Just show the contents of the configuration space." msgstr "Affiche seulement le contenu de l'espace de configuration." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3133,25 +3126,43 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 +#, fuzzy +#| msgid "" +#| "Values for the additional metadata fields in the Release file are taken " +#| "from the corresponding variables under <literal>APT::FTPArchive::Release</" +#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The " +#| "supported fields are: <literal>Origin</literal>, <literal>Label</" +#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, " +#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-" +#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</" +#| "literal>, <literal>Description</literal>." msgid "" "Generate the given checksum. These options default to on, when turned off " "the generated index files will not have the checksum fields where possible. " "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" +"La valeur des autres champs de métadonnées du fichier Release sont tirées de " +"la valeur correspondante dans <literal>APT::FTPArchive::Release</literal>, " +"p. ex. <literal>APT::FTPArchive::Release::Origin</literal>. Les champs " +"reconnus sont : <literal>Origin</literal>, <literal>Label</literal>, " +"<literal>Suite</literal>, <literal>Version</literal>, <literal>Codename</" +"literal>, <literal>Date</literal>, <literal>Valid-Until</literal>, " +"<literal>Architectures</literal>, <literal>Components</literal>, " +"<literal>Description</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3161,7 +3172,7 @@ msgstr "" "literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3176,12 +3187,12 @@ msgstr "" "configuration : <literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3195,12 +3206,12 @@ msgstr "" "literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3216,12 +3227,12 @@ msgstr "" "de configuration : <literal>APT::FTPArchive::Contents</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3232,12 +3243,12 @@ msgstr "" "FTPArchive::SourceOverride</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3246,12 +3257,12 @@ msgstr "" "configuration : <literal>APT::FTPArchive::ReadOnlyDB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -3265,12 +3276,12 @@ msgstr "" "<literal>APT::FTPArchive::Architecture</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>APT::FTPArchive::AlwaysStat</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3293,12 +3304,12 @@ msgstr "" "survenir et l'ensemble de ces contrôles devient inutile." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3314,19 +3325,19 @@ msgstr "" "generate." #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 #: sources.list.5.xml:198 msgid "Examples" msgstr "Exemples" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> packages <replaceable>répertoire</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3335,7 +3346,7 @@ msgstr "" "des paquets binaires (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3811,7 +3822,7 @@ msgstr "download" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" "<literal>download</literal> télécharge le fichier binaire indiqué dans le " "répertoire courant." @@ -4692,33 +4703,30 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" +"Mettre à jour le trousseau de clés local avec le trousseau de clés de " +"l'archive Debian et supprimer les clés qui y sont périmées." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 #, fuzzy #| msgid "update" msgid "net-update" msgstr "update" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch from. " +"APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4727,12 +4735,12 @@ msgstr "" "décrites dans la section suivante." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>fichier</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -4749,44 +4757,44 @@ msgstr "" "les nouvelles clés y seront ajoutées." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "<filename>/etc/apt/trustdb.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "Base de données locale de fiabilité des clés de l'archive." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "Trousseau des clés fiables de l'archive Debian." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "Trousseau des clés fiables supprimées de l'archive Debian." #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" @@ -5489,23 +5497,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml:52 -#, fuzzy -#| msgid "" -#| "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -#| "order which have no or \"<literal>conf</literal>\" as filename extension " -#| "and which only contain alphanumeric, hyphen (-), underscore (_) and " -#| "period (.) characters. Otherwise APT will print a notice that it has " -#| "ignored a file if the file doesn't match a pattern in the <literal>Dir::" -#| "Ignore-Files-Silently</literal> configuration list - in this case it will " -#| "be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "tous les fichiers de <literal>Dir::Etc::Parts</literal> dans l'ordre " "alphanumérique ascendant qui ont soit l'extension \"<literal>conf</literal>" @@ -6541,25 +6539,13 @@ msgstr "Dir::Bin::bzip2 \"/bin/bzip2\";" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:442 -#, fuzzy -#| msgid "" -#| "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" -#| "replaceable></literal> will be checked: If this setting exists the method " -#| "will only be used if this file exists, e.g. for the bzip2 method (the " -#| "inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note " -#| "also that list entries specified on the command line will be added at the " -#| "end of the list specified in the configuration files, but before the " -#| "default entries. To prefer a type in this case over the ones specified in " -#| "the configuration files you can set the option direct - not in list " -#| "style. This will not override the defined list, it will only prefix the " -#| "list with this type." msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6581,7 +6567,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" "Le type spécial <literal>uncompressed</literal> peut servir à donner la " @@ -7869,21 +7855,11 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt_preferences.5.xml:70 -#, fuzzy -#| msgid "" -#| "Note that the files in the <filename>/etc/apt/preferences.d</filename> " -#| "directory are parsed in alphanumeric ascending order and need to obey the " -#| "following naming convention: The files have no or \"<literal>pref</" -#| "literal>\" as filename extension and which only contain alphanumeric, " -#| "hyphen (-), underscore (_) and period (.) characters. Otherwise APT will " -#| "print a notice that it has ignored a file if the file doesn't match a " -#| "pattern in the <literal>Dir::Ignore-Files-Silently</literal> " -#| "configuration list - in this case it will be silently ignored." msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8349,7 +8325,7 @@ msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a glob" -"()-like expression) or contains the word kde (as a POSIX extended regular " +"()-like expression or contains the word kde (as a POSIX extended regular " "expression surrounded by slashes)." msgstr "" @@ -8373,7 +8349,7 @@ msgstr "" #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" @@ -11209,13 +11185,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade" msgid "Which will use the already fetched archives on the disc." msgstr "Cette commande utilisera les fichiers récupérés sur le disque." -#~ msgid "" -#~ "Update the local keyring with the keyring of Debian archive keys and " -#~ "removes from the keyring the archive keys which are no longer valid." -#~ msgstr "" -#~ "Mettre à jour le trousseau de clés local avec le trousseau de clés de " -#~ "l'archive Debian et supprimer les clés qui y sont périmées." - #~ msgid "<option>--md5</option>" #~ msgstr "<option>--md5</option>" diff --git a/doc/po/it.po b/doc/po/it.po index c3efc5da7..4571690e1 100644 --- a/doc/po/it.po +++ b/doc/po/it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: 2003-04-26 23:26+0100\n" "Last-Translator: Traduzione di Eugenia Franzoni <eugenia@linuxcare.com>\n" "Language-Team: <debian-l10n-italian@lists.debian.org>\n" @@ -893,7 +893,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -934,7 +934,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "" @@ -955,12 +955,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "" @@ -1035,7 +1035,7 @@ msgstr "" #: apt-cache.8.xml:317 msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1059,7 +1059,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "" @@ -1155,13 +1155,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 #: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 #: apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "" @@ -1173,8 +1173,8 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 #: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 #: sources.list.5.xml:234 msgid "See Also" @@ -1187,7 +1187,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 #: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "" @@ -1287,12 +1287,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "" @@ -1496,7 +1496,7 @@ msgid "Just show the contents of the configuration space." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "" @@ -2419,26 +2419,26 @@ msgid "" "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -2447,12 +2447,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -2461,12 +2461,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -2476,12 +2476,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -2489,24 +2489,24 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -2515,12 +2515,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -2534,12 +2534,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -2549,26 +2549,26 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 #: sources.list.5.xml:198 msgid "Examples" msgstr "" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -2897,7 +2897,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -3582,44 +3582,39 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 #, fuzzy msgid "net-update" msgstr "upgrade" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch from. " +"APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 msgid "--keyring <replaceable>filename</replaceable>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -3630,43 +3625,43 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 msgid "&apt-get;, &apt-secure;" msgstr "" @@ -4179,12 +4174,11 @@ msgstr "" #: apt.conf.5.xml:52 msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> @@ -4882,9 +4876,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -4895,7 +4889,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -5836,8 +5830,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -6165,7 +6159,7 @@ msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a glob" -"()-like expression) or contains the word kde (as a POSIX extended regular " +"()-like expression or contains the word kde (as a POSIX extended regular " "expression surrounded by slashes)." msgstr "" @@ -6182,7 +6176,7 @@ msgstr "" #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" diff --git a/doc/po/ja.po b/doc/po/ja.po index 150c97219..607d7e64d 100644 --- a/doc/po/ja.po +++ b/doc/po/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.25.3\n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: 2010-09-07 07:38+0900\n" "Last-Translator: KURASAWA Nozomu <nabetaro@caldron.jp>\n" "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n" @@ -1304,8 +1304,8 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" -msgstr "madison <replaceable>/[ pkg(s) ]</replaceable>" +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" +msgstr "madison <replaceable>[ pkg(s) ]</replaceable>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -1357,7 +1357,7 @@ msgstr "" "pkgcache</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1384,12 +1384,12 @@ msgstr "" "<literal>Dir::Cache::srcpkgcache</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1475,7 +1475,7 @@ msgstr "<option>--no-enhances</option>" #, fuzzy msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1505,7 +1505,7 @@ msgstr "" "ShowFull</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1627,14 +1627,14 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 #: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "&apt-commonoptions;" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 #: apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "ファイル" @@ -1647,8 +1647,8 @@ msgstr "&file-sourceslist; &file-statelists;" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 #: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 #: sources.list.5.xml:234 msgid "See Also" @@ -1663,7 +1663,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 #: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "診æ–メッセージ" @@ -1800,12 +1800,12 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "オプション" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -2075,7 +2075,7 @@ msgstr "è¨å®šç®‡æ‰€ã®å†…容を表示ã™ã‚‹ã ã‘ã§ã™ã€‚" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3292,26 +3292,43 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 +#, fuzzy +#| msgid "" +#| "Values for the additional metadata fields in the Release file are taken " +#| "from the corresponding variables under <literal>APT::FTPArchive::Release</" +#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The " +#| "supported fields are: <literal>Origin</literal>, <literal>Label</" +#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, " +#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-" +#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</" +#| "literal>, <literal>Description</literal>." msgid "" "Generate the given checksum. These options default to on, when turned off " "the generated index files will not have the checksum fields where possible. " "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" +"Release ファイルã®è¿½åŠ メタデータフィールドã®å€¤ã¯ã€<literal>APT::FTPArchive::" +"Release</literal> 以下ã®ç›¸å½“ã™ã‚‹å€¤ (例: <literal>APT::FTPArchive::Release::" +"Origin</literal>) ã‚’ã¨ã‚Šã¾ã™ã€‚サãƒãƒ¼ãƒˆã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯ã€<literal>Origin</" +"literal>, <literal>Label</literal>, <literal>Suite</literal>, " +"<literal>Version</literal>, <literal>Codename</literal>, <literal>Date</" +"literal>, <literal>Valid-Until</literal>, <literal>Architectures</literal>, " +"<literal>Components</literal>, <literal>Description</literal> ã§ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3321,7 +3338,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3334,13 +3351,13 @@ msgstr "" "<literal>quiet</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3353,13 +3370,13 @@ msgstr "" "<literal>APT::FTPArchive::DeLinkAct</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3374,13 +3391,13 @@ msgstr "" "<literal>APT::FTPArchive::Contents</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3390,13 +3407,13 @@ msgstr "" "é¸æŠžã—ã¾ã™ã€‚è¨å®šé …ç›® - <literal>APT::FTPArchive::SourceOverride</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3405,13 +3422,13 @@ msgstr "" "FTPArchive::ReadOnlyDB</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 #, fuzzy msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " @@ -3425,12 +3442,12 @@ msgstr "" "literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>--version</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3444,12 +3461,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 #, fuzzy msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " @@ -3465,14 +3482,14 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 #: sources.list.5.xml:198 msgid "Examples" msgstr "サンプル" # type: Content of: <refentry><refsect1><para><programlisting> #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "" @@ -3481,7 +3498,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3491,7 +3508,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3967,7 +3984,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -4857,36 +4874,34 @@ msgstr "" "gpg ã«ä¸Šç´šã‚ªãƒ—ションを渡ã—ã¾ã™ã€‚adv --recv-key ã¨ã™ã‚‹ã¨ã€å…¬é–‹éµã‚’ダウンãƒãƒ¼ãƒ‰" "ã§ãã¾ã™ã€‚" +# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" +"Debian アーカイブã‚ーã§ã€ãƒãƒ¼ã‚«ãƒ«ã‚ーリングを更新ã—ã€ã‚‚ã†æœ‰åŠ¹ã§ãªã„ã‚ーをã‚ー" +"リングã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 #, fuzzy #| msgid "update" msgid "net-update" msgstr "update" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch from. " +"APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4896,12 +4911,12 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>filename</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -4917,35 +4932,35 @@ msgstr "" "åŠ ã•ã‚Œã¾ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "<filename>/etc/apt/trustdb.gpg</filename>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "アーカイブã‚ーã®ãƒãƒ¼ã‚«ãƒ«ä¿¡é ¼ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "Debian ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ä¿¡é ¼ã‚ーã®ã‚ーリングã§ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" @@ -4953,13 +4968,13 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "削除ã•ã‚ŒãŸ Debian ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ä¿¡é ¼ã‚ーã®ã‚ーリングã§ã™ã€‚" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" @@ -5715,12 +5730,11 @@ msgstr "<envar>APT_CONFIG</envar> 環境変数ã§æŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ« (å˜åœ #| "period (.) characters - otherwise they will be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "<literal>Dir::Etc::Parts</literal> ã«ã‚ã‚‹ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’英数å—ã®æ˜‡é †ã«ã€‚" "ファイルåã«ã¯æ‹¡å¼µåãŒãªã„ã‹ã€\"<literal>conf</literal>\" ã¨ãªã£ã¦ãŠã‚Šã€è‹±æ•°" @@ -6715,9 +6729,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6737,7 +6751,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -7873,8 +7887,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8339,7 +8353,7 @@ msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a glob" -"()-like expression) or contains the word kde (as a POSIX extended regular " +"()-like expression or contains the word kde (as a POSIX extended regular " "expression surrounded by slashes)." msgstr "" @@ -8365,7 +8379,7 @@ msgstr "" #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" @@ -10910,14 +10924,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade" msgid "Which will use the already fetched archives on the disc." msgstr "ã“ã‚Œã§ã€disc ã«ã‚ã‚‹å–得済ã¿ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を使用ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚" -# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#~ msgid "" -#~ "Update the local keyring with the keyring of Debian archive keys and " -#~ "removes from the keyring the archive keys which are no longer valid." -#~ msgstr "" -#~ "Debian アーカイブã‚ーã§ã€ãƒãƒ¼ã‚«ãƒ«ã‚ーリングを更新ã—ã€ã‚‚ã†æœ‰åŠ¹ã§ãªã„ã‚ーを" -#~ "ã‚ーリングã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã€‚" - #~ msgid "<option>--md5</option>" #~ msgstr "<option>--md5</option>" diff --git a/doc/po/pl.po b/doc/po/pl.po index bc593af8b..0721cbf13 100644 --- a/doc/po/pl.po +++ b/doc/po/pl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.25.3\n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: 2010-03-18 22:00+0100\n" "Last-Translator: Robert Luberda <robert@debian.org>\n" "Language-Team: <debian-l10n-polish@lists.debian.org>\n" @@ -1311,8 +1311,8 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" -msgstr "madison <replaceable>/[ pakiet(y) ]</replaceable>" +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" +msgstr "madison <replaceable>[ pakiet(y) ]</replaceable>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -1363,7 +1363,7 @@ msgstr "" "<literal>Dir::Cache::pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1391,12 +1391,12 @@ msgstr "" "Cache::srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1503,7 +1503,7 @@ msgstr "<option>--no-act</option>" #| "<literal>APT::Cache::RecurseDepends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1534,7 +1534,7 @@ msgstr "" "konfiguracyjnym: <literal>APT::Cache::ShowFull</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1660,13 +1660,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 #: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "&apt-commonoptions;" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 #: apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "Pliki" @@ -1678,8 +1678,8 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 #: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 #: sources.list.5.xml:234 msgid "See Also" @@ -1693,7 +1693,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 #: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnostyka" @@ -1837,12 +1837,12 @@ msgstr "" "\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "Opcje" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -2105,7 +2105,7 @@ msgid "Just show the contents of the configuration space." msgstr "WyÅ›wietla zawartość przestrzeni konfiguracji." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3106,20 +3106,20 @@ msgid "" "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 #, fuzzy msgid "" "Use a binary caching DB. This has no effect on the generate command. " @@ -3130,7 +3130,7 @@ msgstr "" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3144,13 +3144,13 @@ msgstr "" "pliku konfiguracyjnym: <literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 #, fuzzy msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " @@ -3164,12 +3164,12 @@ msgstr "" "<literal>APT::Cache::Generate</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3179,13 +3179,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 #, fuzzy msgid "" "Select the source override file to use with the <literal>sources</literal> " @@ -3197,13 +3197,13 @@ msgstr "" "konfiguracyjnym: <literal>APT::Cache::Installed</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 #, fuzzy msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" @@ -3213,14 +3213,14 @@ msgstr "" "pliku konfiguracyjnym: <literal>APT::Cache::NamesOnly</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 #, fuzzy #| msgid "<option>-a</option>" msgid "<option>--arch</option>" msgstr "<option>-a</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 #, fuzzy #| msgid "" #| "If the command is either <literal>install</literal> or <literal>remove</" @@ -3240,13 +3240,13 @@ msgstr "" "AutomaticRemove</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 #, fuzzy msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>--version</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3260,13 +3260,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 #, fuzzy msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>--version</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3276,19 +3276,19 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 #: sources.list.5.xml:198 msgid "Examples" msgstr "PrzykÅ‚ady" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> packages <replaceable>katalog</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3296,7 +3296,7 @@ msgstr "" # #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3833,7 +3833,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" # @@ -4747,33 +4747,30 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" +"Aktualizuje lokalnÄ… skÅ‚adnicÄ™ kluczy używajÄ…c skÅ‚adnicy kluczy archiwum " +"Debiana i usuwa z lokalnej skÅ‚adnicy nieaktualne już klucze archiwów Debiana." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 #, fuzzy #| msgid "update" msgid "net-update" msgstr "update" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch from. " +"APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4782,12 +4779,12 @@ msgstr "" "opisanymi w poprzednim rozdziale." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>nazwa_pliku</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -4803,44 +4800,44 @@ msgstr "" "kluczy, co oznacza na przykÅ‚ad to, że nowe klucze bÄ™dÄ… dodawane wÅ‚aÅ›nie tam." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "<filename>/etc/apt/trustdb.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "Lokalna skÅ‚adnica zaufanych kluczy archiwum." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "SkÅ‚adnica zaufanych kluczy archiwum Debiana." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "SkÅ‚adnica usuniÄ™tych zaufanych kluczy archiwum Debiana." #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" @@ -5459,29 +5456,14 @@ msgstr "" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml:52 -#, fuzzy -#| msgid "" -#| "The <filename>/etc/apt/sources.list.d</filename> directory provides a way " -#| "to add sources.list entries in separate files. The format is the same as " -#| "for the regular <filename>sources.list</filename> file. File names need " -#| "to end with <filename>.list</filename> and may only contain letters (a-z " -#| "and A-Z), digits (0-9), underscore (_), hyphen (-) and period (.) " -#| "characters. Otherwise they will be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" -"Katalog <filename>/etc/apt/sources.list.d</filename> umożliwia podzielenie " -"pliku źródeÅ‚ na osobne pliki. Format jest dokÅ‚adnie taki sam, jak w " -"przypadku zwykÅ‚ego pliku <filename>sources.list</filename>. Nazwy plików w " -"tym katalogu muszÄ… siÄ™ koÅ„czyć rozszerzeniem <filename>.list</filename> i " -"mogÄ… skÅ‚adać siÄ™ tylko z liter (a-z i A-Z), cyfr (0-9), znaku podkreÅ›lenia " -"(_), pauzy (-) i kropki (.). Inne pliki zostanÄ… zignorowane." #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml:59 @@ -6186,9 +6168,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6199,7 +6181,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -7155,30 +7137,16 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt_preferences.5.xml:70 -#, fuzzy -#| msgid "" -#| "The <filename>/etc/apt/sources.list.d</filename> directory provides a way " -#| "to add sources.list entries in separate files. The format is the same as " -#| "for the regular <filename>sources.list</filename> file. File names need " -#| "to end with <filename>.list</filename> and may only contain letters (a-z " -#| "and A-Z), digits (0-9), underscore (_), hyphen (-) and period (.) " -#| "characters. Otherwise they will be silently ignored." msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " "case it will be silently ignored." msgstr "" -"Katalog <filename>/etc/apt/sources.list.d</filename> umożliwia podzielenie " -"pliku źródeÅ‚ na osobne pliki. Format jest dokÅ‚adnie taki sam, jak w " -"przypadku zwykÅ‚ego pliku <filename>sources.list</filename>. Nazwy plików w " -"tym katalogu muszÄ… siÄ™ koÅ„czyć rozszerzeniem <filename>.list</filename> i " -"mogÄ… skÅ‚adać siÄ™ tylko z liter (a-z i A-Z), cyfr (0-9), znaku podkreÅ›lenia " -"(_), pauzy (-) i kropki (.). Inne pliki zostanÄ… zignorowane." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt_preferences.5.xml:79 @@ -7529,7 +7497,7 @@ msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a glob" -"()-like expression) or contains the word kde (as a POSIX extended regular " +"()-like expression or contains the word kde (as a POSIX extended regular " "expression surrounded by slashes)." msgstr "" @@ -7553,7 +7521,7 @@ msgstr "" #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" @@ -10249,14 +10217,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade" msgid "Which will use the already fetched archives on the disc." msgstr "Które użyje pobranych uprzednio archiwów z dysku." -#~ msgid "" -#~ "Update the local keyring with the keyring of Debian archive keys and " -#~ "removes from the keyring the archive keys which are no longer valid." -#~ msgstr "" -#~ "Aktualizuje lokalnÄ… skÅ‚adnicÄ™ kluczy używajÄ…c skÅ‚adnicy kluczy archiwum " -#~ "Debiana i usuwa z lokalnej skÅ‚adnicy nieaktualne już klucze archiwów " -#~ "Debiana." - #~ msgid "<option>--md5</option>" #~ msgstr "<option>--md5</option>" diff --git a/doc/po/pt.po b/doc/po/pt.po index fae1ffab6..863f3dd8b 100644 --- a/doc/po/pt.po +++ b/doc/po/pt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.0~pre1\n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: 2010-08-25 23:07+0100\n" "Last-Translator: Américo Monteiro <a_monteiro@netcabo.pt>\n" "Language-Team: Portuguese <traduz@debianpt.org>\n" @@ -1255,8 +1255,8 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" -msgstr "madison <replaceable>/[ pacote(s) ]</replaceable>" +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" +msgstr "madison <replaceable>[ pacote(s) ]</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:267 @@ -1306,7 +1306,7 @@ msgstr "" "<literal>Dir::Cache::pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1332,12 +1332,12 @@ msgstr "" "pacote. Item de Configuração: <literal>Dir::Cache::srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1418,16 +1418,9 @@ msgstr "<option>--no-enhances</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:317 -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be twicked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1458,7 +1451,7 @@ msgstr "" "<literal>APT::Cache::ShowFull</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1575,13 +1568,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 #: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "&apt-commonoptions;" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 #: apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "Ficheiros" @@ -1593,8 +1586,8 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 #: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 #: sources.list.5.xml:234 msgid "See Also" @@ -1607,7 +1600,7 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 #: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnóstico" @@ -1737,12 +1730,12 @@ msgstr "" "\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "Opções" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -1995,7 +1988,7 @@ msgid "Just show the contents of the configuration space." msgstr "Apenas mostra o conteúdo do espaço de configuração." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3144,25 +3137,43 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 +#, fuzzy +#| msgid "" +#| "Values for the additional metadata fields in the Release file are taken " +#| "from the corresponding variables under <literal>APT::FTPArchive::Release</" +#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The " +#| "supported fields are: <literal>Origin</literal>, <literal>Label</" +#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, " +#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-" +#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</" +#| "literal>, <literal>Description</literal>." msgid "" "Generate the given checksum. These options default to on, when turned off " "the generated index files will not have the checksum fields where possible. " "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" +"Valores para os campos de metadados adicionais no ficheiro Release são " +"tomados a partir das variáveis correspondentes sob <literal>APT::FTPArchive::" +"Release</literal>, ex. <literal>APT::FTPArchive::Release::Origin</literal>. " +"Os campos suportados são: <literal>Origin</literal>, <literal>Label</" +"literal>, <literal>Suite</literal>, <literal>Version</literal>, " +"<literal>Codename</literal>, <literal>Date</literal>, " +"<literal>Architectures</literal>, <literal>Components</literal>, " +"<literal>Description</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3171,7 +3182,7 @@ msgstr "" "generate. Item de configuração: <literal>APT::FTPArchive::DB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3185,12 +3196,12 @@ msgstr "" "<literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3203,12 +3214,12 @@ msgstr "" "option>. Item de Configuração: <literal>APT::FTPArchive::DeLinkAct</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3224,12 +3235,12 @@ msgstr "" "de Configuração: <literal>APT::FTPArchive::Contents</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3240,12 +3251,12 @@ msgstr "" "SourceOverride</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3254,12 +3265,12 @@ msgstr "" "<literal>APT::FTPArchive::ReadOnlyDB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -3273,12 +3284,12 @@ msgstr "" "FTPArchive::Architecture</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>APT::FTPArchive::AlwaysStat</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3302,12 +3313,12 @@ msgstr "" "as verificações extras serão desnecessárias." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3322,19 +3333,19 @@ msgstr "" "<filename>Translation-en</filename> só pode ser criado no comando generate." #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 #: sources.list.5.xml:198 msgid "Examples" msgstr "Examples" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> pacotes <replaceable>directório</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3343,7 +3354,7 @@ msgstr "" "pacotes binários (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3813,7 +3824,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -4677,33 +4688,30 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" +"Actualiza o chaveiro local com o chaveiro das chaves de arquivos Debian e " +"remove do chaveiro as chaves de arquivo que já não são válidas." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 #, fuzzy #| msgid "update" msgid "net-update" msgstr "update" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch from. " +"APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4712,12 +4720,12 @@ msgstr "" "secção prévia." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>nome-de-ficheiro</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -4734,44 +4742,44 @@ msgstr "" "chaves são adicionadas a este." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "<filename>/etc/apt/trustdb.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "Base de dados local de confiança de chaves de arquivos." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "Chaveiro das chaves de confiança dos arquivos Debian." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "Chaveiro das chaves de confiança removidas dos arquivos Debian." #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" @@ -5497,12 +5505,11 @@ msgstr "" #| "period (.) characters - otherwise they will be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "todos os ficheiros em <literal>Dir::Etc::Parts</literal> em ordem ascendente " "alfanumérica sem extensão ou com \"<literal>conf</literal>\" como extensão " @@ -6523,9 +6530,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6546,7 +6553,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -7821,8 +7828,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8288,7 +8295,7 @@ msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a glob" -"()-like expression) or contains the word kde (as a POSIX extended regular " +"()-like expression or contains the word kde (as a POSIX extended regular " "expression surrounded by slashes)." msgstr "" @@ -8312,7 +8319,7 @@ msgstr "" #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" @@ -11123,13 +11130,6 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade" msgid "Which will use the already fetched archives on the disc." msgstr "O qual irá usar os arquivos já obtidos e que estão no disco." -#~ msgid "" -#~ "Update the local keyring with the keyring of Debian archive keys and " -#~ "removes from the keyring the archive keys which are no longer valid." -#~ msgstr "" -#~ "Actualiza o chaveiro local com o chaveiro das chaves de arquivos Debian e " -#~ "remove do chaveiro as chaves de arquivo que já não são válidas." - #~ msgid "<option>--md5</option>" #~ msgstr "<option>--md5</option>" diff --git a/doc/po/pt_BR.po b/doc/po/pt_BR.po index ccb95aca6..488350186 100644 --- a/doc/po/pt_BR.po +++ b/doc/po/pt_BR.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" -"POT-Creation-Date: 2011-07-05 13:23+0200\n" +"POT-Creation-Date: 2011-06-08 16:54+0300\n" "PO-Revision-Date: 2004-09-20 17:02+0000\n" "Last-Translator: André LuÃs Lopes <andrelop@debian.org>\n" "Language-Team: <debian-l10n-portuguese@lists.debian.org>\n" @@ -943,8 +943,11 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:266 -msgid "madison <replaceable>/[ pkg(s) ]</replaceable>" +#, fuzzy +msgid "madison <replaceable>[ pkg(s) ]</replaceable>" msgstr "" +"<programlisting>\n" +"apt-get install <replaceable>pacote</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:267 @@ -984,7 +987,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "" @@ -1005,12 +1008,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "" @@ -1085,7 +1088,7 @@ msgstr "" #: apt-cache.8.xml:317 msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1109,7 +1112,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "" @@ -1205,13 +1208,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 #: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 msgid "&apt-commonoptions;" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:175 apt-mark.8.xml:144 +#: apt-cache.8.xml:372 apt-get.8.xml:575 apt-key.8.xml:172 apt-mark.8.xml:144 #: apt.conf.5.xml:1093 apt_preferences.5.xml:697 msgid "Files" msgstr "" @@ -1223,8 +1226,8 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml:196 apt-mark.8.xml:150 apt-secure.8.xml:185 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:193 apt-mark.8.xml:150 apt-secure.8.xml:185 #: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:704 #: sources.list.5.xml:234 #, fuzzy @@ -1238,7 +1241,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 #: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "" @@ -1338,12 +1341,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:161 +#: apt-cdrom.8.xml:94 apt-key.8.xml:158 msgid "Options" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "" @@ -1548,7 +1551,7 @@ msgid "Just show the contents of the configuration space." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 #, fuzzy msgid "&apt-conf;" @@ -2478,26 +2481,26 @@ msgid "" "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -2506,12 +2509,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -2520,12 +2523,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -2535,12 +2538,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -2548,24 +2551,24 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -2574,12 +2577,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -2593,12 +2596,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -2608,27 +2611,27 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:544 #: sources.list.5.xml:198 #, fuzzy msgid "Examples" msgstr "Exemplos" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -2951,7 +2954,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -3635,38 +3638,33 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-key.8.xml:131 msgid "" -"Update the local keyring with the archive keyring and remove from the local " -"keyring the archive keys which are no longer valid. The archive keyring is " -"shipped in the <literal>archive-keyring</literal> package of your " -"distribution, e.g. the <literal>debian-archive-keyring</literal> package in " -"Debian." +"Update the local keyring with the keyring of Debian archive keys and removes " +"from the keyring the archive keys which are no longer valid." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:141 +#: apt-key.8.xml:140 msgid "net-update" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:145 +#: apt-key.8.xml:144 msgid "" -"Work similar to the <command>update</command> command above, but get the " -"archive keyring from an URI instead and validate it against a master key. " -"This requires an installed &wget; and an APT build configured to have a " -"server to fetch from and a master keyring to validate. APT in Debian does " -"not support this command and relies on <command>update</command> instead, " -"but Ubuntu's APT does." +"Update the local keyring with the keys of a key server and removes from the " +"keyring the archive keys which are no longer valid. This requires an " +"installed wget and an APT build configured to have a server to fetch from. " +"APT in Debian does not support this command, but Ubuntu's APT does." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:159 msgid "" "Note that options need to be defined before the commands described in the " "previous section." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:164 +#: apt-key.8.xml:161 #, fuzzy msgid "--keyring <replaceable>filename</replaceable>" msgstr "" @@ -3674,7 +3672,7 @@ msgstr "" "apt-get install <replaceable>pacote</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:165 +#: apt-key.8.xml:162 msgid "" "With this option it is possible to specify a specific keyring file the " "command should operate on. The default is that a command is executed on the " @@ -3685,44 +3683,44 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:178 +#: apt-key.8.xml:175 msgid "&file-trustedgpg;" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:180 +#: apt-key.8.xml:177 #, fuzzy msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "<filename>/etc/apt.conf</>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:181 +#: apt-key.8.xml:178 msgid "Local trust database of archive keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:184 +#: apt-key.8.xml:181 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:185 +#: apt-key.8.xml:182 msgid "Keyring of Debian archive trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:188 +#: apt-key.8.xml:185 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:189 +#: apt-key.8.xml:186 msgid "Keyring of Debian archive removed trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:198 +#: apt-key.8.xml:195 #, fuzzy msgid "&apt-get;, &apt-secure;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" @@ -4237,12 +4235,11 @@ msgstr "" #: apt.conf.5.xml:52 msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> @@ -4940,9 +4937,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -4953,7 +4950,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -5937,8 +5934,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -6402,7 +6399,7 @@ msgid "" "APT also supports pinning by glob() expressions and regular expressions " "surrounded by /. For example, the following example assigns the priority 500 " "to all packages from experimental where the name starts with gnome (as a glob" -"()-like expression) or contains the word kde (as a POSIX extended regular " +"()-like expression or contains the word kde (as a POSIX extended regular " "expression surrounded by slashes)." msgstr "" @@ -6423,7 +6420,7 @@ msgstr "" #: apt_preferences.5.xml:279 msgid "" "The rule for those expressions is that they can occur anywhere where a " -"string can occur. Thus, the following pin assigns the priority 990 to all " +"string can occur. Those, the following pin assigns the priority 990 to all " "packages from a release starting with karmic." msgstr "" diff --git a/doc/sources.list.5.xml b/doc/sources.list.5.xml index 837f07683..bf8356348 100644 --- a/doc/sources.list.5.xml +++ b/doc/sources.list.5.xml @@ -78,7 +78,7 @@ <para>The format for a <filename>sources.list</filename> entry using the <literal>deb</literal> and <literal>deb-src</literal> types is:</para> - <literallayout>deb uri distribution [component1] [component2] [...]</literallayout> + <literallayout>deb [ options ] uri distribution [component1] [component2] [...]</literallayout> <para>The URI for the <literal>deb</literal> type must specify the base of the Debian distribution, from which APT will find the information it needs. @@ -109,6 +109,22 @@ simultaneous anonymous users. APT also parallelizes connections to different hosts to more effectively deal with sites with low bandwidth.</para> + <para><literal>options</literal> is always optional and needs to be surounded by + square brackets. It can consist of multiple settings in the form + <literal><replaceable>setting</replaceable>=<replaceable>value</replaceable></literal>. + Multiple settings are separated by spaces. The following settings are supported by APT, + note through that unsupported settings will be ignored silently: + <itemizedlist><listitem><para><literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</replaceable>,…</literal> + can be used to specify for which architectures packages information should + be downloaded. If this option is not set all architectures defined by the + <literal>APT::Architectures</literal> option will be downloaded.</para></listitem> + <listitem><para><literal>trusted=yes</literal> can be set to indicate that packages + from this source are always authenificated even if the <filename>Release</filename> file + is not signed or the signature can't be checked. This disables parts of &apt-secure; + and should therefore only be used in a local and trusted context. <literal>trusted=no</literal> + is the opposite which handles even correctly authenificated sources as not authenificated.</para></listitem> + </itemizedlist></para> + <para>It is important to list sources in order of preference, with the most preferred source listed first. Typically this will result in sorting by speed from fastest to slowest (CD-ROM followed by hosts on a local @@ -206,6 +222,11 @@ deb http://security.debian.org/ &stable-codename;/updates main contrib non-free <para>Source line for the above</para> <literallayout>deb-src file:/home/jason/debian unstable main contrib non-free</literallayout> + <para>The first line gets package information for the architectures in <literal>APT::Architectures</literal> + while the second always retrieves <literal>amd64</literal> and <literal>armel</literal>.</para> + <literallayout>deb http://ftp.debian.org/debian &stable-codename; main +deb [ arch=amd64,armel ] http://ftp.debian.org/debian &stable-codename; main</literallayout> + <para>Uses HTTP to access the archive at archive.debian.org, and uses only the hamm/main area.</para> <literallayout>deb http://archive.debian.org/debian-archive hamm main</literallayout> diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc index 0762a2b28..f289eb00d 100644 --- a/ftparchive/apt-ftparchive.cc +++ b/ftparchive/apt-ftparchive.cc @@ -10,24 +10,25 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "apt-ftparchive.h" - +#include <config.h> + #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> #include <apt-pkg/cmndline.h> #include <apt-pkg/strutl.h> #include <apt-pkg/init.h> -#include <config.h> -#include <apti18n.h> #include <algorithm> #include <climits> #include <sys/time.h> #include <regex.h> +#include "apt-ftparchive.h" #include "contents.h" #include "multicompress.h" -#include "writer.h" +#include "writer.h" + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -205,7 +206,7 @@ bool PackageMap::GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats) Packages.Output = 0; // Just in case // Finish compressing - unsigned long Size; + unsigned long long Size; if (Comp.Finalize(Size) == false) { c0out << endl; @@ -291,7 +292,7 @@ bool PackageMap::GenSources(Configuration &Setup,struct CacheDB::Stats &Stats) Sources.Output = 0; // Just in case // Finish compressing - unsigned long Size; + unsigned long long Size; if (Comp.Finalize(Size) == false) { c0out << endl; @@ -362,11 +363,11 @@ bool PackageMap::GenContents(Configuration &Setup, if (_error->PendingError() == true) return false; - unsigned long Size = Head.Size(); + unsigned long long Size = Head.Size(); unsigned char Buf[4096]; while (Size != 0) { - unsigned long ToRead = Size; + unsigned long long ToRead = Size; if (Size > sizeof(Buf)) ToRead = sizeof(Buf); @@ -384,7 +385,7 @@ bool PackageMap::GenContents(Configuration &Setup, files associated with this contents file into one great big honking memory structure, then dump the sorted version */ c0out << ' ' << this->Contents << ":" << flush; - for (vector<PackageMap>::iterator I = Begin; I != End; I++) + for (vector<PackageMap>::iterator I = Begin; I != End; ++I) { if (I->Contents != this->Contents) continue; @@ -400,7 +401,7 @@ bool PackageMap::GenContents(Configuration &Setup, Contents.Finish(); // Finish compressing - unsigned long Size; + unsigned long long Size; if (Comp.Finalize(Size) == false || _error->PendingError() == true) { c0out << endl; @@ -770,10 +771,10 @@ bool Generate(CommandLine &CmdL) // Generate packages if (CmdL.FileSize() <= 2) { - for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++) + for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I) if (I->GenPackages(Setup,Stats) == false) _error->DumpErrors(); - for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++) + for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I) if (I->GenSources(Setup,SrcStats) == false) _error->DumpErrors(); } @@ -782,7 +783,7 @@ bool Generate(CommandLine &CmdL) // Make a choice list out of the package list.. RxChoiceList *List = new RxChoiceList[2*PkgList.size()+1]; RxChoiceList *End = List; - for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++) + for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I) { End->UserData = &(*I); End->Str = I->BaseDir.c_str(); @@ -832,7 +833,7 @@ bool Generate(CommandLine &CmdL) } // close the Translation master files - for (vector<PackageMap>::reverse_iterator I = PkgList.rbegin(); I != PkgList.rend(); I++) + for (vector<PackageMap>::reverse_iterator I = PkgList.rbegin(); I != PkgList.rend(); ++I) if (I->TransWriter != NULL && I->TransWriter->DecreaseRefCounter() == 0) delete I->TransWriter; @@ -843,7 +844,7 @@ bool Generate(CommandLine &CmdL) // Sort the contents file list by date string ArchiveDir = Setup.FindDir("Dir::ArchiveDir"); - for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++) + for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I) { struct stat A; if (MultiCompress::GetStat(flCombine(ArchiveDir,I->Contents), @@ -860,7 +861,7 @@ bool Generate(CommandLine &CmdL) hashes of the .debs this means they have not changed either so the contents must be up to date. */ unsigned long MaxContentsChange = Setup.FindI("Default::MaxContentsChange",UINT_MAX)*1024; - for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); I++) + for (vector<PackageMap>::iterator I = PkgList.begin(); I != PkgList.end(); ++I) { // This record is not relevent if (I->ContentsDone == true || @@ -936,7 +937,7 @@ bool Clean(CommandLine &CmdL) _error->DumpErrors(); string CacheDB = I->BinCacheDB; - for (; I != PkgList.end() && I->BinCacheDB == CacheDB; I++); + for (; I != PkgList.end() && I->BinCacheDB == CacheDB; ++I); } return true; diff --git a/ftparchive/cachedb.cc b/ftparchive/cachedb.cc index b04244347..a1d70f912 100644 --- a/ftparchive/cachedb.cc +++ b/ftparchive/cachedb.cc @@ -10,17 +10,19 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "cachedb.h" +#include <config.h> -#include <apti18n.h> #include <apt-pkg/error.h> #include <apt-pkg/md5.h> #include <apt-pkg/sha1.h> -#include <apt-pkg/sha256.h> +#include <apt-pkg/sha2.h> #include <apt-pkg/strutl.h> #include <apt-pkg/configuration.h> #include <netinet/in.h> // htonl, etc + +#include <apti18n.h> +#include "cachedb.h" /*}}}*/ // CacheDB::ReadyDB - Ready the DB2 /*{{{*/ @@ -162,7 +164,8 @@ bool CacheDB::GetCurStat() // --------------------------------------------------------------------- bool CacheDB::GetFileInfo(string const &FileName, bool const &DoControl, bool const &DoContents, bool const &GenContentsOnly, bool const &DoMD5, bool const &DoSHA1, - bool const &DoSHA256, bool const &checkMtime) + bool const &DoSHA256, bool const &DoSHA512, + bool const &checkMtime) { this->FileName = FileName; @@ -190,7 +193,9 @@ bool CacheDB::GetFileInfo(string const &FileName, bool const &DoControl, bool co || (DoContents && LoadContents(GenContentsOnly) == false) || (DoMD5 && GetMD5(false) == false) || (DoSHA1 && GetSHA1(false) == false) - || (DoSHA256 && GetSHA256(false) == false)) + || (DoSHA256 && GetSHA256(false) == false) + || (DoSHA512 && GetSHA512(false) == false) + ) { delete Fd; Fd = NULL; @@ -412,6 +417,37 @@ bool CacheDB::GetSHA256(bool const &GenOnly) return true; } /*}}}*/ +// CacheDB::GetSHA256 - Get the SHA256 hash /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool CacheDB::GetSHA512(bool const &GenOnly) +{ + // Try to read the control information out of the DB. + if ((CurStat.Flags & FlSHA512) == FlSHA512) + { + if (GenOnly == true) + return true; + + SHA512Res = bytes2hex(CurStat.SHA512, sizeof(CurStat.SHA512)); + return true; + } + + Stats.SHA512Bytes += CurStat.FileSize; + + if (Fd == NULL && OpenFile() == false) + { + return false; + } + SHA512Summation SHA512; + if (Fd->Seek(0) == false || SHA512.AddFD(Fd->Fd(),CurStat.FileSize) == false) + return false; + + SHA512Res = SHA512.Result(); + hex2bytes(CurStat.SHA512, SHA512Res.data(), sizeof(CurStat.SHA512)); + CurStat.Flags |= FlSHA512; + return true; +} + /*}}}*/ // CacheDB::Finish - Write back the cache structure /*{{{*/ // --------------------------------------------------------------------- /* */ diff --git a/ftparchive/cachedb.h b/ftparchive/cachedb.h index 0ba80909a..6bd5aa36c 100644 --- a/ftparchive/cachedb.h +++ b/ftparchive/cachedb.h @@ -70,18 +70,22 @@ class CacheDB bool GetMD5(bool const &GenOnly); bool GetSHA1(bool const &GenOnly); bool GetSHA256(bool const &GenOnly); + bool GetSHA512(bool const &GenOnly); // Stat info stored in the DB, Fixed types since it is written to disk. enum FlagList {FlControl = (1<<0),FlMD5=(1<<1),FlContents=(1<<2), - FlSize=(1<<3), FlSHA1=(1<<4), FlSHA256=(1<<5)}; + FlSize=(1<<3), FlSHA1=(1<<4), FlSHA256=(1<<5), + FlSHA512=(1<<6)}; + struct StatStore { uint32_t Flags; uint32_t mtime; - uint32_t FileSize; + uint64_t FileSize; uint8_t MD5[16]; uint8_t SHA1[20]; uint8_t SHA256[32]; + uint8_t SHA512[64]; } CurStat; struct StatStore OldStat; @@ -98,6 +102,7 @@ class CacheDB string MD5Res; string SHA1Res; string SHA256Res; + string SHA512Res; // Runtime statistics struct Stats @@ -106,14 +111,21 @@ class CacheDB double MD5Bytes; double SHA1Bytes; double SHA256Bytes; + double SHA512Bytes; unsigned long Packages; unsigned long Misses; - unsigned long DeLinkBytes; + unsigned long long DeLinkBytes; inline void Add(const Stats &S) { - Bytes += S.Bytes; MD5Bytes += S.MD5Bytes; SHA1Bytes += S.SHA1Bytes; + Bytes += S.Bytes; + MD5Bytes += S.MD5Bytes; + SHA1Bytes += S.SHA1Bytes; SHA256Bytes += S.SHA256Bytes; - Packages += S.Packages; Misses += S.Misses; DeLinkBytes += S.DeLinkBytes;}; + SHA512Bytes += S.SHA512Bytes; + Packages += S.Packages; + Misses += S.Misses; + DeLinkBytes += S.DeLinkBytes; + }; Stats() : Bytes(0), MD5Bytes(0), SHA1Bytes(0), SHA256Bytes(0), Packages(0), Misses(0), DeLinkBytes(0) {}; } Stats; @@ -121,11 +133,11 @@ class CacheDB inline bool DBFailed() {return Dbp != 0 && DBLoaded == false;}; inline bool Loaded() {return DBLoaded == true;}; - inline off_t GetFileSize(void) {return CurStat.FileSize;} + inline unsigned long long GetFileSize(void) {return CurStat.FileSize;} bool SetFile(string const &FileName,struct stat St,FileFd *Fd); bool GetFileInfo(string const &FileName, bool const &DoControl, bool const &DoContents, bool const &GenContentsOnly, - bool const &DoMD5, bool const &DoSHA1, bool const &DoSHA256, bool const &checkMtime = false); + bool const &DoMD5, bool const &DoSHA1, bool const &DoSHA256, bool const &DoSHA512, bool const &checkMtime = false); bool Finish(); bool Clean(); diff --git a/ftparchive/contents.cc b/ftparchive/contents.cc index eadced626..65d8dd1ce 100644 --- a/ftparchive/contents.cc +++ b/ftparchive/contents.cc @@ -33,9 +33,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "contents.h" +#include <config.h> -#include <apti18n.h> #include <apt-pkg/debfile.h> #include <apt-pkg/extracttar.h> #include <apt-pkg/error.h> @@ -43,6 +42,9 @@ #include <stdlib.h> #include <string.h> #include <malloc.h> + +#include <apti18n.h> +#include "contents.h" /*}}}*/ // GenContents::~GenContents - Free allocated memory /*{{{*/ @@ -347,7 +349,7 @@ bool ContentsExtract::DoItem(Item &Itm,int &Fd) // ContentsExtract::TakeContents - Load the contents data /*{{{*/ // --------------------------------------------------------------------- /* */ -bool ContentsExtract::TakeContents(const void *NewData,unsigned long Length) +bool ContentsExtract::TakeContents(const void *NewData,unsigned long long Length) { if (Length == 0) { diff --git a/ftparchive/contents.h b/ftparchive/contents.h index 5b5092b66..f549ce17f 100644 --- a/ftparchive/contents.h +++ b/ftparchive/contents.h @@ -71,15 +71,15 @@ class ContentsExtract : public pkgDirStream // The Data Block char *Data; - unsigned long MaxSize; - unsigned long CurSize; + unsigned long long MaxSize; + unsigned long long CurSize; void AddData(const char *Text); bool Read(debDebFile &Deb); virtual bool DoItem(Item &Itm,int &Fd); void Reset() {CurSize = 0;}; - bool TakeContents(const void *Data,unsigned long Length); + bool TakeContents(const void *Data,unsigned long long Length); void Add(GenContents &Contents,string const &Package); ContentsExtract() : Data(0), MaxSize(0), CurSize(0) {}; diff --git a/ftparchive/multicompress.cc b/ftparchive/multicompress.cc index f82879015..bf0f858d9 100644 --- a/ftparchive/multicompress.cc +++ b/ftparchive/multicompress.cc @@ -14,18 +14,20 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "multicompress.h" - -#include <apti18n.h> +#include <config.h> + #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> #include <apt-pkg/md5.h> - + #include <sys/types.h> #include <sys/stat.h> #include <utime.h> #include <unistd.h> -#include <iostream> +#include <iostream> + +#include "multicompress.h" +#include <apti18n.h> /*}}}*/ using namespace std; @@ -48,11 +50,11 @@ MultiCompress::MultiCompress(string const &Output,string const &Compress, string::const_iterator I = Compress.begin(); for (; I != Compress.end();) { - for (; I != Compress.end() && isspace(*I); I++); + for (; I != Compress.end() && isspace(*I); ++I); // Grab a word string::const_iterator Start = I; - for (; I != Compress.end() && !isspace(*I); I++); + for (; I != Compress.end() && !isspace(*I); ++I); // Find the matching compressor std::vector<APT::Configuration::Compressor> Compressors = APT::Configuration::getCompressors(); @@ -129,11 +131,11 @@ bool MultiCompress::GetStat(string const &Output,string const &Compress,struct s bool DidStat = false; for (; I != Compress.end();) { - for (; I != Compress.end() && isspace(*I); I++); + for (; I != Compress.end() && isspace(*I); ++I); // Grab a word string::const_iterator Start = I; - for (; I != Compress.end() && !isspace(*I); I++); + for (; I != Compress.end() && !isspace(*I); ++I); // Find the matching compressor std::vector<APT::Configuration::Compressor> Compressors = APT::Configuration::getCompressors(); @@ -213,7 +215,7 @@ bool MultiCompress::Die() // MultiCompress::Finalize - Finish up writing /*{{{*/ // --------------------------------------------------------------------- /* This is only necessary for statistics reporting. */ -bool MultiCompress::Finalize(unsigned long &OutSize) +bool MultiCompress::Finalize(unsigned long long &OutSize) { OutSize = 0; if (Input == 0 || Die() == false) @@ -381,7 +383,7 @@ bool MultiCompress::Child(int const &FD) stash a hash of the data to use later. */ SetNonBlock(FD,false); unsigned char Buffer[32*1024]; - unsigned long FileSize = 0; + unsigned long long FileSize = 0; MD5Summation MD5; while (1) { @@ -443,7 +445,7 @@ bool MultiCompress::Child(int const &FD) // Compute the hash MD5Summation OldMD5; - unsigned long NewFileSize = 0; + unsigned long long NewFileSize = 0; while (1) { int Res = read(CompFd,Buffer,sizeof(Buffer)); diff --git a/ftparchive/multicompress.h b/ftparchive/multicompress.h index 19dede174..4839af47d 100644 --- a/ftparchive/multicompress.h +++ b/ftparchive/multicompress.h @@ -54,7 +54,7 @@ class MultiCompress FILE *Input; unsigned long UpdateMTime; - bool Finalize(unsigned long &OutSize); + bool Finalize(unsigned long long &OutSize); bool OpenOld(int &Fd,pid_t &Proc); bool CloseOld(int Fd,pid_t Proc); static bool GetStat(string const &Output,string const &Compress,struct stat &St); diff --git a/ftparchive/override.cc b/ftparchive/override.cc index 3cf10b89b..d363fd0fe 100644 --- a/ftparchive/override.cc +++ b/ftparchive/override.cc @@ -10,14 +10,14 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "override.h" - +#include <config.h> + #include <apti18n.h> #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> #include <stdio.h> - + #include "override.h" /*}}}*/ @@ -34,7 +34,7 @@ bool Override::ReadOverride(string const &File,bool const &Source) return _error->Errno("fopen",_("Unable to open %s"),File.c_str()); char Line[500]; - unsigned long Counter = 0; + unsigned long long Counter = 0; while (fgets(Line,sizeof(Line),F) != 0) { Counter++; @@ -57,7 +57,7 @@ bool Override::ReadOverride(string const &File,bool const &Source) for (; isspace(*End) == 0 && *End != 0; End++); if (*End == 0) { - _error->Warning(_("Malformed override %s line %lu #1"),File.c_str(), + _error->Warning(_("Malformed override %s line %llu #1"),File.c_str(), Counter); continue; } @@ -71,7 +71,7 @@ bool Override::ReadOverride(string const &File,bool const &Source) for (; isspace(*End) == 0 && *End != 0; End++); if (*End == 0) { - _error->Warning(_("Malformed override %s line %lu #2"),File.c_str(), + _error->Warning(_("Malformed override %s line %llu #2"),File.c_str(), Counter); continue; } @@ -85,7 +85,7 @@ bool Override::ReadOverride(string const &File,bool const &Source) for (; isspace(*End) == 0 && *End != 0; End++); if (*End == 0) { - _error->Warning(_("Malformed override %s line %lu #3"),File.c_str(), + _error->Warning(_("Malformed override %s line %llu #3"),File.c_str(), Counter); continue; } @@ -142,7 +142,7 @@ bool Override::ReadExtraOverride(string const &File,bool const &Source) return _error->Errno("fopen",_("Unable to open %s"),File.c_str()); char Line[500]; - unsigned long Counter = 0; + unsigned long long Counter = 0; while (fgets(Line,sizeof(Line),F) != 0) { Counter++; @@ -163,7 +163,7 @@ bool Override::ReadExtraOverride(string const &File,bool const &Source) for (; isspace(*End) == 0 && *End != 0; End++); if (*End == 0) { - _error->Warning(_("Malformed override %s line %lu #1"),File.c_str(), + _error->Warning(_("Malformed override %s line %llu #1"),File.c_str(), Counter); continue; } @@ -175,7 +175,7 @@ bool Override::ReadExtraOverride(string const &File,bool const &Source) for (; isspace(*End) == 0 && *End != 0; End++); if (*End == 0) { - _error->Warning(_("Malformed override %s line %lu #2"),File.c_str(), + _error->Warning(_("Malformed override %s line %llu #2"),File.c_str(), Counter); continue; } @@ -188,7 +188,7 @@ bool Override::ReadExtraOverride(string const &File,bool const &Source) for (; isspace(*(End-1)) && End > Value; End--); if (End == Value) { - _error->Warning(_("Malformed override %s line %lu #3"),File.c_str(), + _error->Warning(_("Malformed override %s line %llu #3"),File.c_str(), Counter); continue; } @@ -231,7 +231,7 @@ Override::Item* Override::GetItem(string const &Package, string const &Architect if (R->OldMaint != "") result->OldMaint = R->OldMaint; if (R->NewMaint != "") result->NewMaint = R->NewMaint; for (map<string,string>::const_iterator foI = R->FieldOverride.begin(); - foI != R->FieldOverride.end(); foI++) + foI != R->FieldOverride.end(); ++foI) { result->FieldOverride[foI->first] = foI->second; } @@ -268,7 +268,7 @@ string Override::Item::SwapMaint(string const &Orig,bool &Failed) string::const_iterator Start = End; for (; End < OldMaint.end() && (End + 3 >= OldMaint.end() || End[0] != ' ' || - End[1] != '/' || End[2] != '/'); End++); + End[1] != '/' || End[2] != '/'); ++End); if (stringcasecmp(Start,End,Orig.begin(),Orig.end()) == 0) return NewMaint; @@ -276,7 +276,7 @@ string Override::Item::SwapMaint(string const &Orig,bool &Failed) break; // Skip the divider and white space - for (; End < OldMaint.end() && (*End == '/' || *End == ' '); End++); + for (; End < OldMaint.end() && (*End == '/' || *End == ' '); ++End); } #else if (stringcasecmp(OldMaint.begin(),OldMaint.end(),Orig.begin(),Orig.end()) == 0) diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc index 9f12cbf3d..27e53faf8 100644 --- a/ftparchive/writer.cc +++ b/ftparchive/writer.cc @@ -11,16 +11,14 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "writer.h" - -#include <apti18n.h> +#include <config.h> + #include <apt-pkg/strutl.h> #include <apt-pkg/error.h> #include <apt-pkg/configuration.h> #include <apt-pkg/aptconfiguration.h> #include <apt-pkg/md5.h> -#include <apt-pkg/sha1.h> -#include <apt-pkg/sha256.h> +#include <apt-pkg/hashes.h> #include <apt-pkg/deblistparser.h> #include <sys/types.h> @@ -31,10 +29,13 @@ #include <iostream> #include <sstream> #include <memory> - + +#include "writer.h" #include "cachedb.h" #include "apt-ftparchive.h" #include "multicompress.h" + +#include <apti18n.h> /*}}}*/ using namespace std; FTWScanner *FTWScanner::Owner; @@ -64,6 +65,7 @@ FTWScanner::FTWScanner(string const &Arch): Arch(Arch) DoMD5 = _config->FindB("APT::FTPArchive::MD5",true); DoSHA1 = _config->FindB("APT::FTPArchive::SHA1",true); DoSHA256 = _config->FindB("APT::FTPArchive::SHA256",true); + DoSHA512 = _config->FindB("APT::FTPArchive::SHA512",true); } /*}}}*/ // FTWScanner::Scanner - FTW Scanner /*{{{*/ @@ -246,8 +248,8 @@ bool FTWScanner::LoadFileList(string const &Dir, string const &File) // --------------------------------------------------------------------- /* */ bool FTWScanner::Delink(string &FileName,const char *OriginalPath, - unsigned long &DeLinkBytes, - off_t const &FileSize) + unsigned long long &DeLinkBytes, + unsigned long long const &FileSize) { // See if this isn't an internaly prefix'd file name. if (InternalPrefix.empty() == false && @@ -316,6 +318,7 @@ PackagesWriter::PackagesWriter(string const &DB,string const &Overrides,string c DoMD5 = _config->FindB("APT::FTPArchive::Packages::MD5",DoMD5); DoSHA1 = _config->FindB("APT::FTPArchive::Packages::SHA1",DoSHA1); DoSHA256 = _config->FindB("APT::FTPArchive::Packages::SHA256",DoSHA256); + DoSHA256 = _config->FindB("APT::FTPArchive::Packages::SHA512",true); DoAlwaysStat = _config->FindB("APT::FTPArchive::AlwaysStat", false); DoContents = _config->FindB("APT::FTPArchive::Contents",true); NoOverride = _config->FindB("APT::FTPArchive::NoOverrideMsg",false); @@ -370,13 +373,13 @@ bool FTWScanner::SetExts(string const &Vals) bool PackagesWriter::DoPackage(string FileName) { // Pull all the data we need form the DB - if (Db.GetFileInfo(FileName, true, DoContents, true, DoMD5, DoSHA1, DoSHA256, DoAlwaysStat) + if (Db.GetFileInfo(FileName, true, DoContents, true, DoMD5, DoSHA1, DoSHA256, DoSHA512, DoAlwaysStat) == false) { return false; } - off_t FileSize = Db.GetFileSize(); + unsigned long long FileSize = Db.GetFileSize(); if (Delink(FileName,OriginalPath,Stats.DeLinkBytes,FileSize) == false) return false; @@ -412,7 +415,7 @@ bool PackagesWriter::DoPackage(string FileName) } char Size[40]; - sprintf(Size,"%lu", (unsigned long) FileSize); + sprintf(Size,"%llu", (unsigned long long) FileSize); // Strip the DirStrip prefix from the FileName and add the PathPrefix string NewFileName; @@ -446,6 +449,8 @@ bool PackagesWriter::DoPackage(string FileName) SetTFRewriteData(Changes[End++], "SHA1", Db.SHA1Res.c_str()); if (DoSHA256 == true) SetTFRewriteData(Changes[End++], "SHA256", Db.SHA256Res.c_str()); + if (DoSHA512 == true) + SetTFRewriteData(Changes[End++], "SHA512", Db.SHA512Res.c_str()); SetTFRewriteData(Changes[End++], "Filename", NewFileName.c_str()); SetTFRewriteData(Changes[End++], "Priority", OverItem->Priority.c_str()); SetTFRewriteData(Changes[End++], "Status", 0); @@ -491,7 +496,7 @@ bool PackagesWriter::DoPackage(string FileName) } for (map<string,string>::const_iterator I = OverItem->FieldOverride.begin(); - I != OverItem->FieldOverride.end(); I++) + I != OverItem->FieldOverride.end(); ++I) SetTFRewriteData(Changes[End++],I->first.c_str(),I->second.c_str()); SetTFRewriteData(Changes[End++], 0, 0); @@ -607,7 +612,7 @@ bool SourcesWriter::DoPackage(string FileName) if (St.st_size > 128*1024) return _error->Error("DSC file '%s' is too large!",FileName.c_str()); - if (BufSize < (unsigned)St.st_size+1) + if (BufSize < (unsigned long long)St.st_size+1) { BufSize = St.st_size+1; Buffer = (char *)realloc(Buffer,St.st_size+1); @@ -623,6 +628,7 @@ bool SourcesWriter::DoPackage(string FileName) MD5Summation MD5; SHA1Summation SHA1; SHA256Summation SHA256; + SHA256Summation SHA512; if (DoMD5 == true) MD5.Add((unsigned char *)Start,BlkEnd - Start); @@ -630,6 +636,8 @@ bool SourcesWriter::DoPackage(string FileName) SHA1.Add((unsigned char *)Start,BlkEnd - Start); if (DoSHA256 == true) SHA256.Add((unsigned char *)Start,BlkEnd - Start); + if (DoSHA512 == true) + SHA512.Add((unsigned char *)Start,BlkEnd - Start); // Add an extra \n to the end, just in case *BlkEnd++ = '\n'; @@ -740,6 +748,12 @@ bool SourcesWriter::DoPackage(string FileName) << strippedName << "\n " << Tags.FindS("Checksums-Sha256"); string const ChecksumsSha256 = ostreamSha256.str(); + std::ostringstream ostreamSha512; + if (Tags.Exists("Checksums-Sha512")) + ostreamSha512 << "\n " << string(SHA512.Result()) << " " << St.st_size << " " + << strippedName << "\n " << Tags.FindS("Checksums-Sha512"); + string const ChecksumsSha512 = ostreamSha512.str(); + // Strip the DirStrip prefix from the FileName and add the PathPrefix string NewFileName; if (DirStrip.empty() == false && @@ -795,6 +809,8 @@ bool SourcesWriter::DoPackage(string FileName) SetTFRewriteData(Changes[End++],"Checksums-Sha1",ChecksumsSha1.c_str()); if (ChecksumsSha256.empty() == false) SetTFRewriteData(Changes[End++],"Checksums-Sha256",ChecksumsSha256.c_str()); + if (ChecksumsSha512.empty() == false) + SetTFRewriteData(Changes[End++],"Checksums-Sha512",ChecksumsSha512.c_str()); if (Directory != "./") SetTFRewriteData(Changes[End++],"Directory",Directory.c_str()); SetTFRewriteData(Changes[End++],"Priority",BestPrio.c_str()); @@ -816,7 +832,7 @@ bool SourcesWriter::DoPackage(string FileName) SetTFRewriteData(Changes[End++], "Maintainer", NewMaint.c_str()); for (map<string,string>::const_iterator I = SOverItem->FieldOverride.begin(); - I != SOverItem->FieldOverride.end(); I++) + I != SOverItem->FieldOverride.end(); ++I) SetTFRewriteData(Changes[End++],I->first.c_str(),I->second.c_str()); SetTFRewriteData(Changes[End++], 0, 0); @@ -1025,29 +1041,18 @@ bool ReleaseWriter::DoPackage(string FileName) CheckSums[NewFileName].size = fd.Size(); + Hashes hs; + hs.AddFD(fd.Fd(), 0, DoMD5, DoSHA1, DoSHA256, DoSHA512); if (DoMD5 == true) - { - MD5Summation MD5; - MD5.AddFD(fd.Fd(), fd.Size()); - CheckSums[NewFileName].MD5 = MD5.Result(); - fd.Seek(0); - } + CheckSums[NewFileName].MD5 = hs.MD5.Result(); if (DoSHA1 == true) - { - SHA1Summation SHA1; - SHA1.AddFD(fd.Fd(), fd.Size()); - CheckSums[NewFileName].SHA1 = SHA1.Result(); - fd.Seek(0); - } + CheckSums[NewFileName].SHA1 = hs.SHA1.Result(); if (DoSHA256 == true) - { - SHA256Summation SHA256; - SHA256.AddFD(fd.Fd(), fd.Size()); - CheckSums[NewFileName].SHA256 = SHA256.Result(); - } - + CheckSums[NewFileName].SHA256 = hs.SHA256.Result(); + if (DoSHA512 == true) + CheckSums[NewFileName].SHA512 = hs.SHA512.Result(); fd.Close(); - + return true; } @@ -1062,7 +1067,7 @@ void ReleaseWriter::Finish() for(map<string,struct CheckSum>::const_iterator I = CheckSums.begin(); I != CheckSums.end(); ++I) { - fprintf(Output, " %s %16ld %s\n", + fprintf(Output, " %s %16llu %s\n", (*I).second.MD5.c_str(), (*I).second.size, (*I).first.c_str()); @@ -1074,7 +1079,7 @@ void ReleaseWriter::Finish() for(map<string,struct CheckSum>::const_iterator I = CheckSums.begin(); I != CheckSums.end(); ++I) { - fprintf(Output, " %s %16ld %s\n", + fprintf(Output, " %s %16llu %s\n", (*I).second.SHA1.c_str(), (*I).second.size, (*I).first.c_str()); @@ -1086,10 +1091,22 @@ void ReleaseWriter::Finish() for(map<string,struct CheckSum>::const_iterator I = CheckSums.begin(); I != CheckSums.end(); ++I) { - fprintf(Output, " %s %16ld %s\n", + fprintf(Output, " %s %16llu %s\n", (*I).second.SHA256.c_str(), (*I).second.size, (*I).first.c_str()); } } + + fprintf(Output, "SHA512:\n"); + for(map<string,struct CheckSum>::const_iterator I = CheckSums.begin(); + I != CheckSums.end(); + ++I) + { + fprintf(Output, " %s %16llu %s\n", + (*I).second.SHA512.c_str(), + (*I).second.size, + (*I).first.c_str()); + } + } diff --git a/ftparchive/writer.h b/ftparchive/writer.h index ce0eab7af..a43b83876 100644 --- a/ftparchive/writer.h +++ b/ftparchive/writer.h @@ -48,7 +48,7 @@ class FTWScanner static int ScannerFile(const char *File, bool const &ReadLink); bool Delink(string &FileName,const char *OriginalPath, - unsigned long &Bytes,off_t const &FileSize); + unsigned long long &Bytes,unsigned long long const &FileSize); inline void NewLine(unsigned const &Priority) { @@ -63,6 +63,7 @@ class FTWScanner bool DoMD5; bool DoSHA1; bool DoSHA256; + bool DoSHA512; unsigned long DeLinkLimit; string InternalPrefix; @@ -158,7 +159,7 @@ class SourcesWriter : public FTWScanner Override BOver; Override SOver; char *Buffer; - unsigned long BufSize; + unsigned long long BufSize; public: @@ -195,8 +196,9 @@ protected: string MD5; string SHA1; string SHA256; + string SHA512; // Limited by FileFd::Size() - unsigned long size; + unsigned long long size; ~CheckSum() {}; }; map<string,struct CheckSum> CheckSums; diff --git a/methods/bzip2.cc b/methods/bzip2.cc index 42932dded..eff83bda7 100644 --- a/methods/bzip2.cc +++ b/methods/bzip2.cc @@ -13,6 +13,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/error.h> #include <apt-pkg/acquire-method.h> diff --git a/methods/cdrom.cc b/methods/cdrom.cc index b25fdf5a8..bc115d259 100644 --- a/methods/cdrom.cc +++ b/methods/cdrom.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/acquire-method.h> #include <apt-pkg/cdrom.h> #include <apt-pkg/cdromutl.h> @@ -54,7 +56,8 @@ class CDROMMethod : public pkgAcqMethod CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly | SendConfig | NeedsCleanup | Removable), - DatabaseLoaded(false), + DatabaseLoaded(false), + Debug(false), MountedByApt(false) { UdevCdroms.Dlopen(); diff --git a/methods/connect.cc b/methods/connect.cc index a5af1f1a6..16fb6e793 100644 --- a/methods/connect.cc +++ b/methods/connect.cc @@ -11,7 +11,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "connect.h" +#include <config.h> + #include <apt-pkg/error.h> #include <apt-pkg/fileutl.h> @@ -29,6 +30,7 @@ #include <arpa/inet.h> #include <netdb.h> +#include "connect.h" #include "rfc2553emu.h" #include <apti18n.h> /*}}}*/ diff --git a/methods/copy.cc b/methods/copy.cc index a6bb372a3..94467e054 100644 --- a/methods/copy.cc +++ b/methods/copy.cc @@ -9,6 +9,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/error.h> diff --git a/methods/file.cc b/methods/file.cc index 9cdd5bc2d..9fc4cd76c 100644 --- a/methods/file.cc +++ b/methods/file.cc @@ -13,6 +13,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/acquire-method.h> #include <apt-pkg/error.h> #include <apt-pkg/hashes.h> diff --git a/methods/ftp.cc b/methods/ftp.cc index 97248f900..861647aea 100644 --- a/methods/ftp.cc +++ b/methods/ftp.cc @@ -15,6 +15,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/error.h> @@ -30,7 +32,6 @@ #include <errno.h> #include <stdarg.h> #include <iostream> -#include <apti18n.h> // Internet stuff #include <netinet/in.h> @@ -41,6 +42,7 @@ #include "rfc2553emu.h" #include "connect.h" #include "ftp.h" +#include <apti18n.h> /*}}}*/ using namespace std; @@ -69,7 +71,8 @@ time_t FtpMethod::FailTime = 0; // --------------------------------------------------------------------- /* */ FTPConn::FTPConn(URI Srv) : Len(0), ServerFd(-1), DataFd(-1), - DataListenFd(-1), ServerName(Srv) + DataListenFd(-1), ServerName(Srv), + ForceExtended(false), TryPassive(true) { Debug = _config->FindB("Debug::Acquire::Ftp",false); PasvAddr = 0; @@ -559,7 +562,7 @@ bool FTPConn::ExtGoPasv() string::const_iterator List[4]; unsigned Count = 0; Pos++; - for (string::const_iterator I = Msg.begin() + Pos; I < Msg.end(); I++) + for (string::const_iterator I = Msg.begin() + Pos; I < Msg.end(); ++I) { if (*I != Msg[Pos]) continue; @@ -627,7 +630,7 @@ bool FTPConn::ExtGoPasv() // FTPConn::Size - Return the size of a file /*{{{*/ // --------------------------------------------------------------------- /* Grab the file size from the server, 0 means no size or empty file */ -bool FTPConn::Size(const char *Path,unsigned long &Size) +bool FTPConn::Size(const char *Path,unsigned long long &Size) { // Query the size unsigned int Tag; @@ -637,7 +640,7 @@ bool FTPConn::Size(const char *Path,unsigned long &Size) return false; char *End; - Size = strtol(Msg.c_str(),&End,10); + Size = strtoull(Msg.c_str(),&End,10); if (Tag >= 400 || End == Msg.c_str()) Size = 0; return true; @@ -839,7 +842,7 @@ bool FTPConn::Finalize() // --------------------------------------------------------------------- /* This opens a data connection, sends REST and RETR and then transfers the file over. */ -bool FTPConn::Get(const char *Path,FileFd &To,unsigned long Resume, +bool FTPConn::Get(const char *Path,FileFd &To,unsigned long long Resume, Hashes &Hash,bool &Missing) { Missing = false; @@ -1002,7 +1005,7 @@ bool FtpMethod::Fetch(FetchItem *Itm) // Get the files information Status(_("Query")); - unsigned long Size; + unsigned long long Size; if (Server->Size(File,Size) == false || Server->ModTime(File,FailTime) == false) { @@ -1024,7 +1027,7 @@ bool FtpMethod::Fetch(FetchItem *Itm) struct stat Buf; if (stat(Itm->DestFile.c_str(),&Buf) == 0) { - if (Size == (unsigned)Buf.st_size && FailTime == Buf.st_mtime) + if (Size == (unsigned long long)Buf.st_size && FailTime == Buf.st_mtime) { Res.Size = Buf.st_size; Res.LastModified = Buf.st_mtime; @@ -1034,7 +1037,7 @@ bool FtpMethod::Fetch(FetchItem *Itm) } // Resume? - if (FailTime == Buf.st_mtime && Size > (unsigned)Buf.st_size) + if (FailTime == Buf.st_mtime && Size > (unsigned long long)Buf.st_size) Res.ResumePoint = Buf.st_size; } diff --git a/methods/ftp.h b/methods/ftp.h index d7f1f7fbe..b4913ca57 100644 --- a/methods/ftp.h +++ b/methods/ftp.h @@ -53,9 +53,9 @@ class FTPConn bool ExtGoPasv(); // Query - bool Size(const char *Path,unsigned long &Size); + bool Size(const char *Path,unsigned long long &Size); bool ModTime(const char *Path, time_t &Time); - bool Get(const char *Path,FileFd &To,unsigned long Resume, + bool Get(const char *Path,FileFd &To,unsigned long long Resume, Hashes &MD5,bool &Missing); FTPConn(URI Srv); diff --git a/methods/gpgv.cc b/methods/gpgv.cc index efe1f73f7..251bcbc90 100644 --- a/methods/gpgv.cc +++ b/methods/gpgv.cc @@ -1,9 +1,10 @@ +#include <config.h> + #include <apt-pkg/error.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/strutl.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/indexcopy.h> -#include <apti18n.h> #include <utime.h> #include <stdio.h> @@ -12,9 +13,10 @@ #include <sys/wait.h> #include <iostream> #include <sstream> - #include <vector> +#include <apti18n.h> + #define GNUPGPREFIX "[GNUPG:]" #define GNUPGBADSIG "[GNUPG:] BADSIG" #define GNUPGNOPUBKEY "[GNUPG:] NO_PUBKEY" @@ -65,13 +67,16 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, return string("Couldn't spawn new process") + strerror(errno); else if (pid == 0) { - if (SigVerify::RunGPGV(outfile, file, 3, fd) == false) + _error->PushToStack(); + bool const success = SigVerify::RunGPGV(outfile, file, 3, fd); + if (success == false) { - // TRANSLATOR: %s is the trusted keyring parts directory - ioprintf(ret, _("No keyring installed in %s."), - _config->FindDir("Dir::Etc::TrustedParts").c_str()); - return ret.str(); + string errmsg; + _error->PopMessage(errmsg); + _error->RevertToStack(); + return errmsg; } + _error->RevertToStack(); exit(111); } close(fd[1]); @@ -210,21 +215,21 @@ bool GPGVMethod::Fetch(FetchItem *Itm) { errmsg += _("The following signatures were invalid:\n"); for (vector<string>::iterator I = BadSigners.begin(); - I != BadSigners.end(); I++) + I != BadSigners.end(); ++I) errmsg += (*I + "\n"); } if (!WorthlessSigners.empty()) { errmsg += _("The following signatures were invalid:\n"); for (vector<string>::iterator I = WorthlessSigners.begin(); - I != WorthlessSigners.end(); I++) + I != WorthlessSigners.end(); ++I) errmsg += (*I + "\n"); } if (!NoPubKeySigners.empty()) { errmsg += _("The following signatures couldn't be verified because the public key is not available:\n"); for (vector<string>::iterator I = NoPubKeySigners.begin(); - I != NoPubKeySigners.end(); I++) + I != NoPubKeySigners.end(); ++I) errmsg += (*I + "\n"); } } diff --git a/methods/gzip.cc b/methods/gzip.cc index fc4e1ecfd..f4bb052e2 100644 --- a/methods/gzip.cc +++ b/methods/gzip.cc @@ -9,6 +9,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/error.h> #include <apt-pkg/acquire-method.h> @@ -62,7 +64,7 @@ bool GzipMethod::Fetch(FetchItem *Itm) while (1) { unsigned char Buffer[4*1024]; - unsigned long Count; + unsigned long long Count = 0; if (!From.Read(Buffer,sizeof(Buffer),&Count)) { diff --git a/methods/http.cc b/methods/http.cc index 13f9cbe06..b60cfeb9e 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -25,6 +25,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/error.h> @@ -41,8 +43,6 @@ #include <string.h> #include <iostream> #include <map> -#include <apti18n.h> - // Internet stuff #include <netdb.h> @@ -51,6 +51,8 @@ #include "connect.h" #include "rfc2553emu.h" #include "http.h" + +#include <apti18n.h> /*}}}*/ using namespace std; @@ -63,15 +65,15 @@ bool AllowRedirect = false; bool Debug = false; URI Proxy; -unsigned long CircleBuf::BwReadLimit=0; -unsigned long CircleBuf::BwTickReadData=0; +unsigned long long CircleBuf::BwReadLimit=0; +unsigned long long CircleBuf::BwTickReadData=0; struct timeval CircleBuf::BwReadTick={0,0}; const unsigned int CircleBuf::BW_HZ=10; // CircleBuf::CircleBuf - Circular input buffer /*{{{*/ // --------------------------------------------------------------------- /* */ -CircleBuf::CircleBuf(unsigned long Size) : Size(Size), Hash(0) +CircleBuf::CircleBuf(unsigned long long Size) : Size(Size), Hash(0) { Buf = new unsigned char[Size]; Reset(); @@ -87,7 +89,7 @@ void CircleBuf::Reset() InP = 0; OutP = 0; StrPos = 0; - MaxGet = (unsigned int)-1; + MaxGet = (unsigned long long)-1; OutQueue = string(); if (Hash != 0) { @@ -102,7 +104,7 @@ void CircleBuf::Reset() is non-blocking.. */ bool CircleBuf::Read(int Fd) { - unsigned long BwReadMax; + unsigned long long BwReadMax; while (1) { @@ -117,7 +119,7 @@ bool CircleBuf::Read(int Fd) struct timeval now; gettimeofday(&now,0); - unsigned long d = (now.tv_sec-CircleBuf::BwReadTick.tv_sec)*1000000 + + unsigned long long d = (now.tv_sec-CircleBuf::BwReadTick.tv_sec)*1000000 + now.tv_usec-CircleBuf::BwReadTick.tv_usec; if(d > 1000000/BW_HZ) { CircleBuf::BwReadTick = now; @@ -131,7 +133,7 @@ bool CircleBuf::Read(int Fd) } // Write the buffer segment - int Res; + ssize_t Res; if(CircleBuf::BwReadLimit) { Res = read(Fd,Buf + (InP%Size), BwReadMax > LeftRead() ? LeftRead() : BwReadMax); @@ -180,7 +182,7 @@ void CircleBuf::FillOut() return; // Write the buffer segment - unsigned long Sz = LeftRead(); + unsigned long long Sz = LeftRead(); if (OutQueue.length() - StrPos < Sz) Sz = OutQueue.length() - StrPos; memcpy(Buf + (InP%Size),OutQueue.c_str() + StrPos,Sz); @@ -214,7 +216,7 @@ bool CircleBuf::Write(int Fd) return true; // Write the buffer segment - int Res; + ssize_t Res; Res = write(Fd,Buf + (OutP%Size),LeftWrite()); if (Res == 0) @@ -240,7 +242,7 @@ bool CircleBuf::Write(int Fd) bool CircleBuf::WriteTillEl(string &Data,bool Single) { // We cheat and assume it is unneeded to have more than one buffer load - for (unsigned long I = OutP; I < InP; I++) + for (unsigned long long I = OutP; I < InP; I++) { if (Buf[I%Size] != '\n') continue; @@ -258,7 +260,7 @@ bool CircleBuf::WriteTillEl(string &Data,bool Single) Data = ""; while (OutP < I) { - unsigned long Sz = LeftWrite(); + unsigned long long Sz = LeftWrite(); if (Sz == 0) return false; if (I - OutP < Sz) @@ -402,10 +404,10 @@ ServerState::RunHeadersResult ServerState::RunHeaders() if (Debug == true) clog << Data; - for (string::const_iterator I = Data.begin(); I < Data.end(); I++) + for (string::const_iterator I = Data.begin(); I < Data.end(); ++I) { string::const_iterator J = I; - for (; J != Data.end() && *J != '\n' && *J != '\r';J++); + for (; J != Data.end() && *J != '\n' && *J != '\r'; ++J); if (HeaderLine(string(I,J)) == false) return RUN_HEADERS_PARSE_ERROR; I = J; @@ -453,7 +455,7 @@ bool ServerState::RunData() return false; // See if we are done - unsigned long Len = strtol(Data.c_str(),0,16); + unsigned long long Len = strtoull(Data.c_str(),0,16); if (Len == 0) { In.Limit(-1); @@ -596,7 +598,7 @@ bool ServerState::HeaderLine(string Line) if (StartPos != 0) return true; - if (sscanf(Val.c_str(),"%lu",&Size) != 1) + if (sscanf(Val.c_str(),"%llu",&Size) != 1) return _error->Error(_("The HTTP server sent an invalid Content-Length header")); return true; } @@ -611,9 +613,9 @@ bool ServerState::HeaderLine(string Line) { HaveContent = true; - if (sscanf(Val.c_str(),"bytes %lu-%*u/%lu",&StartPos,&Size) != 2) + if (sscanf(Val.c_str(),"bytes %llu-%*u/%llu",&StartPos,&Size) != 2) return _error->Error(_("The HTTP server sent an invalid Content-Range header")); - if ((unsigned)StartPos > Size) + if ((unsigned long long)StartPos > Size) return _error->Error(_("This HTTP server has broken range support")); return true; } @@ -716,7 +718,7 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out) if (stat(Itm->DestFile.c_str(),&SBuf) >= 0 && SBuf.st_size > 0) { // In this case we send an if-range query with a range header - sprintf(Buf,"Range: bytes=%li-\r\nIf-Range: %s\r\n",(long)SBuf.st_size - 1, + sprintf(Buf,"Range: bytes=%lli-\r\nIf-Range: %s\r\n",(long long)SBuf.st_size - 1, TimeRFC1123(SBuf.st_mtime).c_str()); Req += Buf; } @@ -1325,7 +1327,7 @@ int HttpMethod::Loop() StopRedirects = true; else { - for (StringVectorIterator I = R.begin(); I != R.end(); I++) + for (StringVectorIterator I = R.begin(); I != R.end(); ++I) if (Queue->Uri == *I) { R[0] = "STOP"; diff --git a/methods/http.h b/methods/http.h index aa96c6810..c47d7184a 100644 --- a/methods/http.h +++ b/methods/http.h @@ -23,29 +23,29 @@ class HttpMethod; class CircleBuf { unsigned char *Buf; - unsigned long Size; - unsigned long InP; - unsigned long OutP; + unsigned long long Size; + unsigned long long InP; + unsigned long long OutP; string OutQueue; - unsigned long StrPos; - unsigned long MaxGet; + unsigned long long StrPos; + unsigned long long MaxGet; struct timeval Start; - static unsigned long BwReadLimit; - static unsigned long BwTickReadData; + static unsigned long long BwReadLimit; + static unsigned long long BwTickReadData; static struct timeval BwReadTick; static const unsigned int BW_HZ; - unsigned long LeftRead() + unsigned long long LeftRead() const { - unsigned long Sz = Size - (InP - OutP); + unsigned long long Sz = Size - (InP - OutP); if (Sz > Size - (InP%Size)) Sz = Size - (InP%Size); return Sz; } - unsigned long LeftWrite() + unsigned long long LeftWrite() const { - unsigned long Sz = InP - OutP; + unsigned long long Sz = InP - OutP; if (InP > MaxGet) Sz = MaxGet - OutP; if (Sz > Size - (OutP%Size)) @@ -67,19 +67,19 @@ class CircleBuf bool WriteTillEl(string &Data,bool Single = false); // Control the write limit - void Limit(long Max) {if (Max == -1) MaxGet = 0-1; else MaxGet = OutP + Max;} - bool IsLimit() {return MaxGet == OutP;}; - void Print() {cout << MaxGet << ',' << OutP << endl;}; + void Limit(long long Max) {if (Max == -1) MaxGet = 0-1; else MaxGet = OutP + Max;} + bool IsLimit() const {return MaxGet == OutP;}; + void Print() const {cout << MaxGet << ',' << OutP << endl;}; // Test for free space in the buffer - bool ReadSpace() {return Size - (InP - OutP) > 0;}; - bool WriteSpace() {return InP - OutP > 0;}; + bool ReadSpace() const {return Size - (InP - OutP) > 0;}; + bool WriteSpace() const {return InP - OutP > 0;}; // Dump everything void Reset(); void Stats(); - CircleBuf(unsigned long Size); + CircleBuf(unsigned long long Size); ~CircleBuf() {delete [] Buf; delete Hash;}; }; @@ -92,8 +92,8 @@ struct ServerState char Code[MAXLEN]; // These are some statistics from the last parsed header lines - unsigned long Size; - signed long StartPos; + unsigned long long Size; + signed long long StartPos; time_t Date; bool HaveContent; enum {Chunked,Stream,Closes} Encoding; @@ -113,7 +113,7 @@ struct ServerState URI ServerName; bool HeaderLine(string Line); - bool Comp(URI Other) {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;}; + bool Comp(URI Other) const {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;}; void Reset() {Major = 0; Minor = 0; Result = 0; Size = 0; StartPos = 0; Encoding = Closes; time(&Date); ServerFd = -1; Pipeline = true;}; diff --git a/methods/http_main.cc b/methods/http_main.cc index 7815c2fc1..2ca91bfc9 100644 --- a/methods/http_main.cc +++ b/methods/http_main.cc @@ -1,3 +1,5 @@ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/acquire-method.h> #include <signal.h> diff --git a/methods/https.cc b/methods/https.cc index fc649d6c2..06a0e285a 100644 --- a/methods/https.cc +++ b/methods/https.cc @@ -10,6 +10,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/error.h> @@ -25,12 +27,11 @@ #include <errno.h> #include <string.h> #include <iostream> -#include <apti18n.h> #include <sstream> #include "config.h" #include "https.h" - +#include <apti18n.h> /*}}}*/ using namespace std; @@ -51,7 +52,7 @@ HttpsMethod::progress_callback(void *clientp, double dltotal, double dlnow, { HttpsMethod *me = (HttpsMethod *)clientp; if(dltotal > 0 && me->Res.Size == 0) { - me->Res.Size = (unsigned long)dltotal; + me->Res.Size = (unsigned long long)dltotal; me->URIStart(me->Res); } return 0; diff --git a/methods/mirror.cc b/methods/mirror.cc index 713dc211a..61a7f12fd 100644 --- a/methods/mirror.cc +++ b/methods/mirror.cc @@ -8,6 +8,9 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <config.h> + +#include <apt-pkg/aptconfiguration.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/acquire-item.h> @@ -33,7 +36,7 @@ using namespace std; #include "mirror.h" #include "http.h" -#include "apti18n.h" +#include <apti18n.h> /*}}}*/ /* Done: @@ -54,7 +57,7 @@ using namespace std; */ MirrorMethod::MirrorMethod() - : HttpMethod(), DownloadedMirrorFile(false) + : HttpMethod(), DownloadedMirrorFile(false), Debug(false) { }; @@ -107,7 +110,7 @@ bool MirrorMethod::Clean(string Dir) continue; // see if we have that uri - for(I=list.begin(); I != list.end(); I++) + for(I=list.begin(); I != list.end(); ++I) { string uri = (*I)->GetURI(); if(uri.find("mirror://") != 0) @@ -134,9 +137,24 @@ bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str) string fetch = BaseUri; fetch.replace(0,strlen("mirror://"),"http://"); +#if 0 // no need for this, the getArchitectures() will also include the main + // arch + // append main architecture + fetch += "?arch=" + _config->Find("Apt::Architecture"); +#endif + + // append all architectures + std::vector<std::string> vec = APT::Configuration::getArchitectures(); + for (std::vector<std::string>::const_iterator I = vec.begin(); + I != vec.end(); I++) + if (I == vec.begin()) + fetch += "?arch" + (*I); + else + fetch += "&arch=" + (*I); + // append the dist as a query string if (Dist != "") - fetch += "?dist=" + Dist; + fetch += "&dist=" + Dist; if(Debug) clog << "MirrorMethod::DownloadMirrorFile(): '" << fetch << "'" @@ -330,7 +348,7 @@ string MirrorMethod::GetMirrorFileName(string mirror_uri_str) vector<metaIndex *>::const_iterator I; pkgSourceList list; list.ReadMainList(); - for(I=list.begin(); I != list.end(); I++) + for(I=list.begin(); I != list.end(); ++I) { string uristr = (*I)->GetURI(); if(Debug) diff --git a/methods/rfc2553emu.cc b/methods/rfc2553emu.cc index 66bc906e9..f00e85889 100644 --- a/methods/rfc2553emu.cc +++ b/methods/rfc2553emu.cc @@ -14,12 +14,14 @@ ##################################################################### */ /*}}}*/ -#include "rfc2553emu.h" +#include <config.h> + #include <stdlib.h> #include <arpa/inet.h> #include <netinet/in.h> #include <string.h> #include <stdio.h> +#include "rfc2553emu.h" #ifndef HAVE_GETADDRINFO // getaddrinfo - Resolve a hostname /*{{{*/ diff --git a/methods/rred.cc b/methods/rred.cc index 849973e1a..bc941ed04 100644 --- a/methods/rred.cc +++ b/methods/rred.cc @@ -1,4 +1,6 @@ // Includes /*{{{*/ +#include <config.h> + #include <apt-pkg/fileutl.h> #include <apt-pkg/mmap.h> #include <apt-pkg/error.h> @@ -51,7 +53,7 @@ protected: virtual bool Fetch(FetchItem *Itm); public: - RredMethod() : pkgAcqMethod("1.1",SingleInstance | SendConfig) {}; + RredMethod() : pkgAcqMethod("1.1",SingleInstance | SendConfig), Debug(false) {}; }; /*}}}*/ /** \brief applyFile - in reverse order with a tail recursion {{{ @@ -239,7 +241,9 @@ RredMethod::State RredMethod::patchFile(FileFd &Patch, FileFd &From, /*{{{*/ return result; } /*}}}*/ -struct EdCommand { /*{{{*/ +/* struct EdCommand {{{*/ +#ifdef _POSIX_MAPPED_FILES +struct EdCommand { size_t data_start; size_t data_end; size_t data_lines; @@ -248,13 +252,14 @@ struct EdCommand { /*{{{*/ char type; }; #define IOV_COUNT 1024 /* Don't really want IOV_MAX since it can be arbitrarily large */ +#endif /*}}}*/ RredMethod::State RredMethod::patchMMap(FileFd &Patch, FileFd &From, /*{{{*/ FileFd &out_file, Hashes *hash) const { #ifdef _POSIX_MAPPED_FILES MMap ed_cmds(MMap::ReadOnly); if (Patch.gzFd() != NULL) { - unsigned long mapSize = Patch.Size(); + unsigned long long mapSize = Patch.Size(); DynamicMMap* dyn = new DynamicMMap(0, mapSize, 0); if (dyn->validData() == false) { delete dyn; diff --git a/methods/rsh.cc b/methods/rsh.cc index 21f0d0a22..c95a4d3eb 100644 --- a/methods/rsh.cc +++ b/methods/rsh.cc @@ -11,7 +11,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#include "rsh.h" +#include <config.h> + #include <apt-pkg/error.h> #include <sys/stat.h> @@ -22,6 +23,8 @@ #include <stdio.h> #include <errno.h> #include <stdarg.h> +#include "rsh.h" + #include <apti18n.h> /*}}}*/ @@ -248,7 +251,7 @@ bool RSHConn::WriteMsg(string &Text,bool Sync,const char *Fmt,...) // --------------------------------------------------------------------- /* Right now for successfull transfer the file size must be known in advance. */ -bool RSHConn::Size(const char *Path,unsigned long &Size) +bool RSHConn::Size(const char *Path,unsigned long long &Size) { // Query the size string Msg; @@ -260,7 +263,7 @@ bool RSHConn::Size(const char *Path,unsigned long &Size) // FIXME: Sense if the bad reply is due to a File Not Found. char *End; - Size = strtoul(Msg.c_str(),&End,10); + Size = strtoull(Msg.c_str(),&End,10); if (End == Msg.c_str()) return _error->Error(_("File not found")); return true; @@ -285,8 +288,8 @@ bool RSHConn::ModTime(const char *Path, time_t &Time) // RSHConn::Get - Get a file /*{{{*/ // --------------------------------------------------------------------- /* */ -bool RSHConn::Get(const char *Path,FileFd &To,unsigned long Resume, - Hashes &Hash,bool &Missing, unsigned long Size) +bool RSHConn::Get(const char *Path,FileFd &To,unsigned long long Resume, + Hashes &Hash,bool &Missing, unsigned long long Size) { Missing = false; @@ -311,7 +314,7 @@ bool RSHConn::Get(const char *Path,FileFd &To,unsigned long Resume, return false; // Copy loop - unsigned int MyLen = Resume; + unsigned long long MyLen = Resume; unsigned char Buffer[4096]; while (MyLen < Size) { @@ -425,7 +428,7 @@ bool RSHMethod::Fetch(FetchItem *Itm) Status(_("Connecting to %s"), Get.Host.c_str()); // Get the files information - unsigned long Size; + unsigned long long Size; if (Server->Size(File,Size) == false || Server->ModTime(File,FailTime) == false) { @@ -446,7 +449,7 @@ bool RSHMethod::Fetch(FetchItem *Itm) // See if the file exists struct stat Buf; if (stat(Itm->DestFile.c_str(),&Buf) == 0) { - if (Size == (unsigned)Buf.st_size && FailTime == Buf.st_mtime) { + if (Size == (unsigned long long)Buf.st_size && FailTime == Buf.st_mtime) { Res.Size = Buf.st_size; Res.LastModified = Buf.st_mtime; Res.ResumePoint = Buf.st_size; @@ -455,7 +458,7 @@ bool RSHMethod::Fetch(FetchItem *Itm) } // Resume? - if (FailTime == Buf.st_mtime && Size > (unsigned)Buf.st_size) + if (FailTime == Buf.st_mtime && Size > (unsigned long long)Buf.st_size) Res.ResumePoint = Buf.st_size; } diff --git a/methods/rsh.h b/methods/rsh.h index b06d5a94e..c81396b5f 100644 --- a/methods/rsh.h +++ b/methods/rsh.h @@ -34,17 +34,17 @@ class RSHConn // Raw connection IO bool WriteMsg(string &Text,bool Sync,const char *Fmt,...); bool Connect(string Host, string User); - bool Comp(URI Other) {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;}; + bool Comp(URI Other) const {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;}; // Connection control bool Open(); void Close(); // Query - bool Size(const char *Path,unsigned long &Size); + bool Size(const char *Path,unsigned long long &Size); bool ModTime(const char *Path, time_t &Time); - bool Get(const char *Path,FileFd &To,unsigned long Resume, - Hashes &Hash,bool &Missing, unsigned long Size); + bool Get(const char *Path,FileFd &To,unsigned long long Resume, + Hashes &Hash,bool &Missing, unsigned long long Size); RSHConn(URI Srv); ~RSHConn(); diff --git a/po/apt-all.pot b/po/apt-all.pot index ac38d9806..b409363d0 100644 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:24+0100\n" +"POT-Creation-Date: 2011-06-29 12:34+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -154,7 +154,8 @@ msgstr "" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3126 cmdline/apt-internal-solver.cc:30 +#: cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "" @@ -363,95 +364,95 @@ msgstr "" msgid "Failed to stat %s" msgstr "" -#: ftparchive/cachedb.cc:242 +#: ftparchive/cachedb.cc:245 msgid "Archive has no control record" msgstr "" -#: ftparchive/cachedb.cc:448 +#: ftparchive/cachedb.cc:482 msgid "Unable to get a cursor" msgstr "" -#: ftparchive/writer.cc:78 +#: ftparchive/writer.cc:79 #, c-format msgid "W: Unable to read directory %s\n" msgstr "" -#: ftparchive/writer.cc:83 +#: ftparchive/writer.cc:84 #, c-format msgid "W: Unable to stat %s\n" msgstr "" -#: ftparchive/writer.cc:139 +#: ftparchive/writer.cc:140 msgid "E: " msgstr "" -#: ftparchive/writer.cc:141 +#: ftparchive/writer.cc:142 msgid "W: " msgstr "" -#: ftparchive/writer.cc:148 +#: ftparchive/writer.cc:149 msgid "E: Errors apply to file " msgstr "" -#: ftparchive/writer.cc:166 ftparchive/writer.cc:198 +#: ftparchive/writer.cc:167 ftparchive/writer.cc:199 #, c-format msgid "Failed to resolve %s" msgstr "" -#: ftparchive/writer.cc:179 +#: ftparchive/writer.cc:180 msgid "Tree walking failed" msgstr "" -#: ftparchive/writer.cc:206 +#: ftparchive/writer.cc:207 #, c-format msgid "Failed to open %s" msgstr "" -#: ftparchive/writer.cc:265 +#: ftparchive/writer.cc:266 #, c-format msgid " DeLink %s [%s]\n" msgstr "" -#: ftparchive/writer.cc:273 +#: ftparchive/writer.cc:274 #, c-format msgid "Failed to readlink %s" msgstr "" -#: ftparchive/writer.cc:277 +#: ftparchive/writer.cc:278 #, c-format msgid "Failed to unlink %s" msgstr "" -#: ftparchive/writer.cc:284 +#: ftparchive/writer.cc:285 #, c-format msgid "*** Failed to link %s to %s" msgstr "" -#: ftparchive/writer.cc:294 +#: ftparchive/writer.cc:295 #, c-format msgid " DeLink limit of %sB hit.\n" msgstr "" -#: ftparchive/writer.cc:398 +#: ftparchive/writer.cc:400 msgid "Archive had no package field" msgstr "" -#: ftparchive/writer.cc:406 ftparchive/writer.cc:703 +#: ftparchive/writer.cc:408 ftparchive/writer.cc:710 #, c-format msgid " %s has no override entry\n" msgstr "" -#: ftparchive/writer.cc:472 ftparchive/writer.cc:811 +#: ftparchive/writer.cc:476 ftparchive/writer.cc:826 #, c-format msgid " %s maintainer is %s not %s\n" msgstr "" -#: ftparchive/writer.cc:713 +#: ftparchive/writer.cc:720 #, c-format msgid " %s has no source override entry\n" msgstr "" -#: ftparchive/writer.cc:717 +#: ftparchive/writer.cc:724 #, c-format msgid " %s has no binary override entry either\n" msgstr "" @@ -723,7 +724,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "" @@ -835,8 +836,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2496 +#: cmdline/apt-get.cc:2499 #, c-format msgid "Couldn't determine free space in %s" msgstr "" @@ -870,7 +871,7 @@ msgstr "" msgid "Do you want to continue [Y/n]? " msgstr "" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2561 apt-pkg/algorithms.cc:1453 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" @@ -879,7 +880,7 @@ msgstr "" msgid "Some files failed to download" msgstr "" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2573 msgid "Download complete and in download only mode" msgstr "" @@ -955,7 +956,7 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1912 msgid "The following information may help to resolve the situation:" msgstr "" @@ -998,7 +999,7 @@ msgid "" "solution)." msgstr "" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1897 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1006,80 +1007,80 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1918 msgid "Broken packages" msgstr "" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1944 msgid "The following extra packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2034 msgid "Suggested packages:" msgstr "" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2035 msgid "Recommended packages:" msgstr "" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2077 #, c-format msgid "Couldn't find package %s" msgstr "" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2084 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2092 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2108 msgid "Calculating upgrade... " msgstr "" -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2111 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2116 msgid "Done" msgstr "" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2183 cmdline/apt-get.cc:2191 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2215 cmdline/apt-get.cc:2248 msgid "Unable to lock the download directory" msgstr "" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2299 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2357 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2398 cmdline/apt-get.cc:2694 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2415 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2420 #, c-format msgid "" "Please use:\n" @@ -1087,120 +1088,120 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2473 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2510 #, c-format msgid "You don't have enough free space in %s" msgstr "" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2519 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2524 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2530 #, c-format msgid "Fetch source %s\n" msgstr "" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2568 msgid "Failed to fetch some archives." msgstr "" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2599 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2611 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2612 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2629 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2649 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2668 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2699 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2719 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2770 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2823 #, c-format msgid "" "%s dependency for %s cannot be satisfied because no available versions of " "package %s can satisfy version requirements" msgstr "" -#: cmdline/apt-get.cc:2855 +#: cmdline/apt-get.cc:2859 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2886 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2902 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:2907 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3000 cmdline/apt-get.cc:3012 #, c-format msgid "Changelog for %s (%s)" msgstr "" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3131 msgid "Supported modules:" msgstr "" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3172 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1246,7 +1247,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3335 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1288,6 +1289,22 @@ msgid "" "in the drive '%s' and press enter\n" msgstr "" +#: cmdline/apt-internal-solver.cc:34 +msgid "" +"Usage: apt-internal-resolver\n" +"\n" +"apt-internal-resolver is an interface to use the current internal\n" +"like an external resolver for the APT family for debugging or alike\n" +"\n" +"Options:\n" +" -h This help text.\n" +" -q Loggable output - no progress indicator\n" +" -c=? Read this configuration file\n" +" -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" +"apt.conf(5) manual pages for more information and options.\n" +" This APT has Super Cow Powers.\n" +msgstr "" + #: cmdline/apt-mark.cc:46 #, c-format msgid "%s can not be marked as it is not installed.\n" @@ -1539,8 +1556,8 @@ msgstr "" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:102 +#: apt-pkg/init.cc:110 apt-pkg/clean.cc:33 apt-pkg/policy.cc:318 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -2168,12 +2185,12 @@ msgstr "" msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" -#: apt-pkg/contrib/progress.cc:153 +#: apt-pkg/contrib/progress.cc:144 #, c-format msgid "%c%s... Error!" msgstr "" -#: apt-pkg/contrib/progress.cc:155 +#: apt-pkg/contrib/progress.cc:146 #, c-format msgid "%c%s... Done" msgstr "" @@ -2453,12 +2470,12 @@ msgstr "" msgid "Failed to write temporary StateFile %s" msgstr "" -#: apt-pkg/tagfile.cc:102 +#: apt-pkg/tagfile.cc:123 #, c-format msgid "Unable to parse package file %s (1)" msgstr "" -#: apt-pkg/tagfile.cc:189 +#: apt-pkg/tagfile.cc:210 #, c-format msgid "Unable to parse package file %s (2)" msgstr "" @@ -2533,14 +2550,14 @@ msgstr "" msgid "Type '%s' is not known on line %u in source list %s" msgstr "" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2548,7 +2565,7 @@ msgid "" "you really want to do it, activate the APT::Force-LoopBreak option." msgstr "" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2560,23 +2577,23 @@ msgstr "" msgid "Index file type '%s' is not supported" msgstr "" -#: apt-pkg/algorithms.cc:247 +#: apt-pkg/algorithms.cc:250 #, c-format msgid "" "The package %s needs to be reinstalled, but I can't find an archive for it." msgstr "" -#: apt-pkg/algorithms.cc:1158 +#: apt-pkg/algorithms.cc:1186 msgid "" "Error, pkgProblemResolver::Resolve generated breaks, this may be caused by " "held packages." msgstr "" -#: apt-pkg/algorithms.cc:1160 +#: apt-pkg/algorithms.cc:1188 msgid "Unable to correct problems, you have held broken packages." msgstr "" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1479 apt-pkg/algorithms.cc:1481 msgid "" "Some index files failed to download. They have been ignored, or old ones " "used instead." @@ -2624,12 +2641,12 @@ msgstr "" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:145 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:161 msgid "Unable to determine a suitable packaging system type" msgstr "" @@ -2654,17 +2671,17 @@ msgstr "" msgid "The list of sources could not be read." msgstr "" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:355 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:377 #, c-format msgid "Did not understand pin type %s" msgstr "" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:385 msgid "No priority (or zero) specified for pin" msgstr "" @@ -2766,8 +2783,8 @@ msgstr "" msgid "MD5Sum mismatch" msgstr "" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1850 +#: apt-pkg/acquire-item.cc:1993 msgid "Hash Sum mismatch" msgstr "" @@ -2827,13 +2844,13 @@ msgid "" "to manually fix this package." msgstr "" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1755 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1842 msgid "Size mismatch" msgstr "" @@ -3031,148 +3048,168 @@ msgstr "" msgid "Can't select installed version from package %s as it is not installed" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:54 +#: apt-pkg/edsp.cc:32 apt-pkg/edsp.cc:52 +msgid "Send scenario to solver" +msgstr "" + +#: apt-pkg/edsp.cc:204 +msgid "Send request to solver" +msgstr "" + +#: apt-pkg/edsp.cc:272 +msgid "Prepare for receiving solution" +msgstr "" + +#: apt-pkg/edsp.cc:279 +msgid "External solver failed without a proper error message" +msgstr "" + +#: apt-pkg/edsp.cc:550 apt-pkg/edsp.cc:553 apt-pkg/edsp.cc:558 +msgid "Execute external solver" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:69 #, c-format msgid "Installing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:55 apt-pkg/deb/dpkgpm.cc:848 +#: apt-pkg/deb/dpkgpm.cc:70 apt-pkg/deb/dpkgpm.cc:864 #, c-format msgid "Configuring %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:56 apt-pkg/deb/dpkgpm.cc:855 +#: apt-pkg/deb/dpkgpm.cc:71 apt-pkg/deb/dpkgpm.cc:871 #, c-format msgid "Removing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:57 +#: apt-pkg/deb/dpkgpm.cc:72 #, c-format msgid "Completely removing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:58 +#: apt-pkg/deb/dpkgpm.cc:73 #, c-format msgid "Noting disappearance of %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:59 +#: apt-pkg/deb/dpkgpm.cc:74 #, c-format msgid "Running post-installation trigger %s" msgstr "" #. FIXME: use a better string after freeze -#: apt-pkg/deb/dpkgpm.cc:654 +#: apt-pkg/deb/dpkgpm.cc:670 #, c-format msgid "Directory '%s' missing" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:669 apt-pkg/deb/dpkgpm.cc:689 +#: apt-pkg/deb/dpkgpm.cc:685 apt-pkg/deb/dpkgpm.cc:705 #, c-format msgid "Could not open file '%s'" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:841 +#: apt-pkg/deb/dpkgpm.cc:857 #, c-format msgid "Preparing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:842 +#: apt-pkg/deb/dpkgpm.cc:858 #, c-format msgid "Unpacking %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:847 +#: apt-pkg/deb/dpkgpm.cc:863 #, c-format msgid "Preparing to configure %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:849 +#: apt-pkg/deb/dpkgpm.cc:865 #, c-format msgid "Installed %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:854 +#: apt-pkg/deb/dpkgpm.cc:870 #, c-format msgid "Preparing for removal of %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:856 +#: apt-pkg/deb/dpkgpm.cc:872 #, c-format msgid "Removed %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:861 +#: apt-pkg/deb/dpkgpm.cc:877 #, c-format msgid "Preparing to completely remove %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:862 +#: apt-pkg/deb/dpkgpm.cc:878 #, c-format msgid "Completely removed %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1082 +#: apt-pkg/deb/dpkgpm.cc:1098 msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1113 +#: apt-pkg/deb/dpkgpm.cc:1129 msgid "Running dpkg" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1338 +#: apt-pkg/deb/dpkgpm.cc:1354 msgid "No apport report written because MaxReports is reached already" msgstr "" #. check if its not a follow up error -#: apt-pkg/deb/dpkgpm.cc:1343 +#: apt-pkg/deb/dpkgpm.cc:1359 msgid "dependency problems - leaving unconfigured" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1345 +#: apt-pkg/deb/dpkgpm.cc:1361 msgid "" "No apport report written because the error message indicates its a followup " "error from a previous failure." msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1351 +#: apt-pkg/deb/dpkgpm.cc:1367 msgid "" "No apport report written because the error message indicates a disk full " "error" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1357 +#: apt-pkg/deb/dpkgpm.cc:1373 msgid "" "No apport report written because the error message indicates a out of memory " "error" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1364 +#: apt-pkg/deb/dpkgpm.cc:1380 msgid "" "No apport report written because the error message indicates a dpkg I/O error" msgstr "" -#: apt-pkg/deb/debsystem.cc:69 +#: apt-pkg/deb/debsystem.cc:79 #, c-format msgid "" "Unable to lock the administration directory (%s), is another process using " "it?" msgstr "" -#: apt-pkg/deb/debsystem.cc:72 +#: apt-pkg/deb/debsystem.cc:82 #, c-format msgid "Unable to lock the administration directory (%s), are you root?" msgstr "" #. TRANSLATORS: the %s contains the recovery command, usually #. dpkg --configure -a -#: apt-pkg/deb/debsystem.cc:88 +#: apt-pkg/deb/debsystem.cc:98 #, c-format msgid "" "dpkg was interrupted, you must manually run '%s' to correct the problem. " msgstr "" -#: apt-pkg/deb/debsystem.cc:106 +#: apt-pkg/deb/debsystem.cc:116 msgid "Not locked" msgstr "" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2006-10-20 21:28+0300\n" "Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n" "Language-Team: Arabic <support@arabeyes.org>\n" @@ -160,7 +160,7 @@ msgstr " جدول النسخ:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s لـ%s %s Ù…Ùجمّع على %s %s\n" @@ -732,7 +732,7 @@ msgstr "إعادة تثبيت %s غير ممكنة، Øيث أنّه لا يم٠msgid "%s is already the newest version.\n" msgstr "%s هي النسخة الأØدث.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "إلا أنه سيتم تثبيت %s" @@ -844,8 +844,8 @@ msgstr "بعد الاستخراج %sب من المساØØ© الإضاÙيّة س msgid "After this operation, %sB disk space will be freed.\n" msgstr "بعد الاستخراج %sب من المساØØ© ستÙرّغ.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "تعذر Øساب المساØØ© الØرة ÙÙŠ %s" @@ -882,7 +882,7 @@ msgstr "إجهاض." msgid "Do you want to continue [Y/n]? " msgstr "هل تريد الاستمرار [Y/n]ØŸ" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Ùشل Ø¥Øضار %s %s\n" @@ -891,7 +891,7 @@ msgstr "Ùشل Ø¥Øضار %s %s\n" msgid "Some files failed to download" msgstr "Ùشل تنزيل بعض الملÙات" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "اكتمل التنزيل ÙˆÙÙŠ وضع التنزيل Ùقط" @@ -929,31 +929,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "لا يقبل الأمر update أية Ù…Ùعطيات" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -969,16 +969,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "قد تساعد المعلومات التالية ÙÙŠ ØÙ„ المشكلة:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "خطأ داخلي، عطب AllUpgrade بعض الأشياء" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -988,7 +988,7 @@ msgid_plural "" msgstr[0] "سيتم تثبيت الØزم الجديدة التالية:" msgstr[1] "سيتم تثبيت الØزم الجديدة التالية:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -996,26 +996,26 @@ msgid_plural "" msgstr[0] "سيتم تثبيت الØزم الجديدة التالية:" msgstr[1] "سيتم تثبيت الØزم الجديدة التالية:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "خطأ داخلي، عطب AllUpgrade بعض الأشياء" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "قد ترغب بتشغيل 'apt-get -f install' لتصØÙŠØ Ù‡Ø°Ù‡:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" "Ù…Ùعتمدات غير مستوÙاة. جرب 'apt-get -f install' بدون أسماء Øزم (أو Øدّد Øلاً)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1023,80 +1023,80 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Øزم معطوبة" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "سيتم تثبيت الØزم الإضاÙيّة التالية:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "الØزم المقترØØ©:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "الØزم المستØسنة:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "تعذر العثور على الØزمة %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "إلا أنه سيتم تثبيت %s" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Øساب الترقية..." -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Ùشل" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "تمّ" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "تعذر Ù‚ÙŽÙْل دليل التنزيل" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "يجب تØديد Øزمة واØدة على الأقل لجلب مصدرها" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "تعذر العثور على مصدر الØزمة %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1104,120 +1104,141 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "تخطي المل٠'%s' المنزل مسبقاً\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "ليس هناك مساØØ© كاÙية ÙÙŠ %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "يجب جلب %sب/%sب من الأرشيÙات المصدرية.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "يجب جلب %sب من الأرشيÙات المصدريّة.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Ø¥Øضار المصدر %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Ùشل Ø¥Øضار بعض الأرشيÙات." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "أمر ÙÙƒ الØزمة '%s' Ùشل.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "أمر البناء '%s' Ùشل.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 +#, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" + +#: cmdline/apt-get.cc:2951 #, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" -#: cmdline/apt-get.cc:2855 +#: cmdline/apt-get.cc:2957 #, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "الاتصال بـ%s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "الوØدات المدعومة:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1263,7 +1284,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1561,8 +1582,8 @@ msgstr "" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1594,7 +1615,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "قراءة قوائم الØزم" @@ -1959,34 +1980,28 @@ msgstr "" msgid "Unable to connect to %s:%s:" msgstr "تعذر الاتصال بـ%s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "إجهاض التثبيت." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2142,57 +2157,57 @@ msgstr "" msgid "Selection %s not found" msgstr "تعذر العثور على التØديد %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "اختصار نوع مجهول: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "ÙØªØ Ù…Ù„Ù Ø§Ù„ØªÙ‡ÙŠØ¦Ø© %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" @@ -2335,7 +2350,7 @@ msgstr "" msgid "Sub-process %s exited unexpectedly" msgstr "" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "" @@ -2563,14 +2578,14 @@ msgstr "" msgid "Type '%s' is not known on line %u in source list %s" msgstr "" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2578,7 +2593,7 @@ msgid "" "you really want to do it, activate the APT::Force-LoopBreak option." msgstr "" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2606,7 +2621,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 msgid "" "Some index files failed to download. They have been ignored, or old ones " "used instead." @@ -2654,12 +2669,12 @@ msgstr "" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "الرجاء إدخال القرص المÙسمّى '%s' ÙÙŠ السوّاقة '%s' وضغط Ù…ÙØªØ§Ø Ø§Ù„Ø¥Ø¯Ø®Ø§Ù„." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "نظام الØزم '%s' غير مدعوم" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "" @@ -2684,17 +2699,24 @@ msgstr "قد يساعدك تنÙيذ الأمر apt-get update ÙÙŠ تصØÙŠØ Ù msgid "The list of sources could not be read." msgstr "تعذرت قراءة قائمة المصادر." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "" @@ -2783,7 +2805,7 @@ msgstr "" msgid "Collecting File Provides" msgstr "" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "" @@ -2796,8 +2818,8 @@ msgstr "Ùشل إعادة التسمية ØŒ %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5Sum غير متطابقة" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 #, fuzzy msgid "Hash Sum mismatch" msgstr "MD5Sum غير متطابقة" @@ -2818,20 +2840,19 @@ msgstr "تعذر ÙØªØ Ù…Ù„Ù Ù‚Ø§Ø¹Ø¯Ø© البيانات %s: %s" msgid "There is no public key available for the following key IDs:\n" msgstr "" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -2839,32 +2860,32 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package. (due to missing arch)" msgstr "" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package." msgstr "" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "الØجم غير متطابق" @@ -2983,22 +3004,22 @@ msgstr "كتابة لائØØ© المصادر الجديدة\n" msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3018,6 +3039,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "MD5Sum غير متطابقة" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "إجهاض التثبيت." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.18\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-10-02 23:35+0100\n" "Last-Translator: Iñigo Varela <ivarela@softastur.org>\n" "Language-Team: Asturian (ast)\n" @@ -153,7 +153,7 @@ msgstr " Tabla de versiones:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s pa %s compiláu en %s %s\n" @@ -830,7 +830,7 @@ msgstr "La reinstalación de %s nun ye dable, nun pue descargase.\n" msgid "%s is already the newest version.\n" msgstr "%s yá ta na versión más nueva.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s axustáu como instaláu manualmente.\n" @@ -942,8 +942,8 @@ msgstr "Tres d'esta operación, van usase %sB d'espaciu de discu adicional.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Tres d'esta operación, van lliberase %sB d'espaciu de discu.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Nun pue determinase l'espaciu llibre de %s" @@ -980,7 +980,7 @@ msgstr "Encaboxar." msgid "Do you want to continue [Y/n]? " msgstr "¿Quies continuar [S/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Falló algamar %s %s\n" @@ -989,7 +989,7 @@ msgstr "Falló algamar %s %s\n" msgid "Some files failed to download" msgstr "Dellos ficheros nun pudieron descargase" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Descarga completa y en mou de sólo descarga" @@ -1031,31 +1031,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Nota: Esto faise automáticamente y baxo demanda por dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Inorar release destÃn non disponible '%s' pal paquete '%s'" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Tomando '%s' como paquetes d'orÃxenes en llugar de '%s'\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Inorar versión non disponible de '%s' del paquete '%s'" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "La orde update nun lleva argumentos" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Suponse que nun vamos esborrar coses; nun pue entamase AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1073,15 +1073,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "La siguiente información pue aidar a resolver la situación:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Error internu, AutoRemover rompió coses" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1092,7 +1092,7 @@ msgstr[1] "" "Los siguientes paquetes instaláronse de manera automática y ya nun se " "necesiten:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1101,19 +1101,19 @@ msgstr[0] "El paquete %lu instalóse de mou automáticu y yá nun se necesita.\n msgstr[1] "" "Los paquetes %lu instaláronse de manera automática y ya nun se necesiten\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Usa 'apt-get autoremove' pa desinstalalos." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Error internu, AllUpgrade rompió coses" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "HabrÃes d'executar 'apt-get -f install' para iguar estos:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1121,7 +1121,7 @@ msgstr "" "Dependencies ensin cubrir. Tenta 'apt-get -f install' ensin paquetes (o " "conseña una solución)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1133,73 +1133,73 @@ msgstr "" "inestable, que dellos paquetes necesarios nun se crearon o que\n" "s'allugaron fuera d'Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Paquetes frañaos" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Instalaránse los siguientes paquetes extra:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Paquetes afalaos:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Paquetes encamentaos" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Nun pudo alcontrase'l paquete %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s axustáu como instaláu automáticamente.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Calculando l'anovamientu... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Falló" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Fecho" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Error internu, l'iguador de problemes frañó coses" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Nun pue bloquiase'l direutoriu de descarga" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Has de conseñar polo menos un paquete p'algamar so fonte" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Nun pudo alcontrase un paquete fonte pa %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1208,7 +1208,7 @@ msgstr "" "AVISU: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1220,80 +1220,96 @@ msgstr "" "pa baxar los caberos anovamientos (posiblemente tovÃa nun sacaos) pal " "paquete.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Saltando'l ficheru yá descargáu '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Nun hai espaciu llibre bastante en %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Hai falta descargar %sB/%sB d'archivos fonte.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Hai falta descargar %sB d'archivos fonte.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Fonte descargada %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Falló la descarga de dellos archivos." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Saltando'l desempaquetáu de la fonte yá desempaquetada en %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Falló la orde de desempaquetáu '%s'.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Comprueba qu'el paquete 'dpkg-dev' ta instaláu.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Falló la orde build '%s'.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Falló el procesu fÃu" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Hai que conseñar polo menos un paquete pa verificar les dependencies de " "construcción" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Nun pudo algamase información de dependencies de construcción pa %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s nun tien dependencies de construcción.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el " +"paquete %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1302,46 +1318,55 @@ msgstr "" "La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el " "paquete %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Nun se pudo satisfacer la dependencia %s pa %s: El paquete instaláu %s ye " +"enforma nuevu" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "La dependencia %s en %s nun puede satisfacese porque denguna versión " "disponible del paquete %s satisfaz los requisitos de versión" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Nun se pudo satisfacer la dependencia %s pa %s: El paquete instaláu %s ye " -"enforma nuevu" +"La dependencia %s en %s nun puede satisfacese porque nun se puede atopar el " +"paquete %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Fallu pa satisfacer la dependencia %s pa %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Les dependencies de construcción de %s nun pudieron satisfacese." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Fallu al procesar les dependencies de construcción" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Coneutando a %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Módulos sofitaos:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1432,7 +1457,7 @@ msgstr "" "pa más información y opciones.\n" " Esti APT tien Poderes de Super Vaca.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1749,8 +1774,8 @@ msgstr "El ficheru %s/%s sobreescribe al que ta nel paquete %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1783,7 +1808,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Lleendo llista de paquetes" @@ -2151,35 +2176,29 @@ msgstr "Daqué raro asocedió resolviendo '%s:%s' (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Nun pudo coneutase a %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "L'aniellu de claves nun s'instaló en %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Fallu internu: Robla bona, pero nun se pudo determinar la so buelga dixital?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Atopóse polo menos una robla mala." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "Nun pudo executase 'gpgv' pa verificar la robla (¿ta instaláu gpgv?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Fallu desconocÃu al executar gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Les siguientes robles nun valieron:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2339,60 +2358,60 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Escoyeta %s que nun s'atopa" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Triba d'abreviatura que nun se reconoz: «%c»" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Abriendo ficheros de configuración %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Fallu de sintaxis %s:%u: Nun hai un nome al entamu del bloque." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Fallu de sintaxis %s:%u: Marca mal formada" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Fallu de sintaxis %s:%u: Puxarra extra dempués del valor" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Error de sintaxis %s:%u: Les directives pueden facese sólo nel nivel cimeru" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Fallu de sintaxis %s:%u: Demasiaes inclusiones añeraes" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Fallu de sintaxis %s:%u: Incluyendo dende equÃ" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Error de sintaxis %s:%u: La directiva '%s' nun ta sofitada" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Fallu de sintaxis %s:%u: Directiva llimpia requier un tres opciones como " "argumentos" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Fallu de sintaxis %s:%u: Puxarra extra al final del ficheru" @@ -2535,7 +2554,7 @@ msgstr "El subprocesu %s devolvió un códigu d'error (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "El subprocesu %s terminó de manera inesperada" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Nun se pudo abrir el ficheru %s" @@ -2765,7 +2784,7 @@ msgstr "Llinia %u mal formada na llista d'orÃxenes %s (triba)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Triba '%s' desconocida na llinia %u de la llista d'orÃxenes %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2774,7 +2793,7 @@ msgstr "" "Nun pudó facese la configuración inmediatamente en '%s'. Por favor, mira man " "5 apt.conf embaxo APT::Immediate-Configure for details. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2785,7 +2804,7 @@ msgstr "" "esencial %s por un cote de Conflictos/Pre-Dependencies. Esto normalmente ye " "malo, pero si daveres quies facelo, activa la opción APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2818,7 +2837,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Nun pueden iguase los problemes; tienes paquetes frañaos retenÃos." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2869,12 +2888,12 @@ msgstr "El métodu %s nun entamó correchamente" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Por favor, introduz el discu '%s' nel preséu '%s' y calca Intro." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "El sistema d'empaquetáu '%s' nun ta sofitáu" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Nun pudo determinase una triba de sistema d'empaquetáu afayadiza" @@ -2900,18 +2919,25 @@ msgstr "Has d'executar apt-get update pa iguar estos problemes" msgid "The list of sources could not be read." msgstr "Nun pudo lleese la llista de fontes." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "Rexistru inválidu nel ficheru de preferencies %s, nun hai cabecera Paquete" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Nun s'entiende'l tipu de pin %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Nun hai prioridá (o ye cero) conseñada pa pin" @@ -3001,7 +3027,7 @@ msgstr "Nun se puede lleer la llista de paquetes d'orÃxenes %s" msgid "Collecting File Provides" msgstr "Recoyendo ficheros qu'apurren" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Fallu de E/S al grabar caché d'orÃxenes" @@ -3014,8 +3040,8 @@ msgstr "falló'l cambiu de nome, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "La suma MD5 nun concasa" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "La suma hash nun concasa" @@ -3035,20 +3061,19 @@ msgstr "Nun se pudo parchear el ficheru release %s" msgid "There is no public key available for the following key IDs:\n" msgstr "Nun hai clave pública denguna disponible pa les IDs de clave darréu:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "El ficheru release espiró, inorando %s (nun válidu dende %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Conflictu de distribución: %s (esperábase %s pero obtúvose %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3058,12 +3083,12 @@ msgstr "" "anováu y va usase un ficheru Ãndiz. Fallu GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Fallu GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3072,7 +3097,7 @@ msgstr "" "Nun pudo alcontrase un ficheru pal paquete %s. Esto puede significar que " "necesites iguar manualmente esti paquete (por faltar una arquitectura)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3081,7 +3106,7 @@ msgstr "" "Nun pudo alcontrase un ficheru pal paquete %s. Esto puede significar que " "necesites iguar manualmente esti paquete" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3089,7 +3114,7 @@ msgstr "" "Los ficheros d'indiz de paquetes tan corrompÃos. Nun hai campu Filename: pal " "paquete %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "El tamañu nun concasa" @@ -3213,22 +3238,22 @@ msgstr "Escribiendo llista nueva d'orÃxenes\n" msgid "Source list entries for this disc are:\n" msgstr "Les entraes de la llista d'orÃxenes pa esti discu son:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i rexistros escritos.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i rexistros escritos con %i ficheros de menos.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i rexistros escritos con %i ficheros mal empareyaos\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3250,6 +3275,17 @@ msgstr "Nun puede alcontrase'l rexistru d'autenticación pa: %s" msgid "Hash mismatch for: %s" msgstr "El hash nun concasa pa: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "L'aniellu de claves nun s'instaló en %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3511,6 +3547,9 @@ msgstr "Conexón encaboxada prematuramente" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Fallu internu, grupu '%s' nun tien paquete pseudo instalable" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "El ficheru release espiró, inorando %s (nun válidu dende %s)" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "" #~ "E: Llista d'argumentos d'Acquire::gpgv::Options demasiao llarga. Colando." @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.21\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-08-27 22:33+0300\n" "Last-Translator: Damyan Ivanov <dmn@debian.org>\n" "Language-Team: Bulgarian <dict@fsa-bg.org>\n" @@ -159,7 +159,7 @@ msgstr " Таблица Ñ Ð²ÐµÑ€Ñиите:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s за %s компилиран на %s %s\n" @@ -842,7 +842,7 @@ msgstr "ПреинÑталациÑта на %s не е възможна, не м msgid "%s is already the newest version.\n" msgstr "%s вече е най-новата верÑиÑ.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s е отбелÑзан като ръчно инÑталиран.\n" @@ -959,8 +959,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "След тази Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‰Ðµ бъде оÑвободено %sB диÑково проÑтранÑтво.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "ÐеуÑпех при определÑнето на Ñвободното проÑтранÑтво в %s" @@ -997,7 +997,7 @@ msgstr "ПрекъÑване." msgid "Do you want to continue [Y/n]? " msgstr "ИÑкате ли да продължите [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "ÐеуÑпех при изтеглÑнето на %s %s\n" @@ -1006,7 +1006,7 @@ msgstr "ÐеуÑпех при изтеглÑнето на %s %s\n" msgid "Some files failed to download" msgstr "ÐÑкои файлове не можаха да бъдат изтеглени" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "ИзтеглÑнето завърши в режим Ñамо на изтеглÑне" @@ -1048,31 +1048,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Това Ñе прави автоматично от dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Игнориране на неÑъщеÑтвуващо издание „%s“ на пакета „%s“" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Използване на пакет източник „%s“ вмеÑто „%s“\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Игнориране на неÑъщеÑтвуваща верÑÐ¸Ñ â€ž%s“ на пакета „%s“" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Командата „update“ не възприема аргументи" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Ðе би Ñ‚Ñ€Ñбвало да Ñе изтрива. AutoRemover нÑма да бъде Ñтартиран" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1090,16 +1090,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "" "Следната Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð¶Ðµ да помогне за намиране на изход от ÑитуациÑта:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Вътрешна грешка, AutoRemover Ñчупи нещо в ÑиÑтемата" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1109,7 +1109,7 @@ msgstr[0] "СледниÑÑ‚ пакет е бил инÑталиран автом msgstr[1] "" "Следните пакети Ñа били инÑталирани автоматично и вече не Ñа необходими:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1118,19 +1118,19 @@ msgstr[0] "%lu пакет е бил инÑталиран автоматично msgstr[1] "" "%lu пакета Ñа били инÑталирани автоматично и вече не Ñа необходими:\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Използвайте „apt-get autoremove“ за да ги премахнете." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Вътрешна грешка, „AllUpgrade“ Ñчупи нещо в ÑиÑтемата" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Възможно е да изпълните „apt-get -f install“, за да коригирате:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1138,7 +1138,7 @@ msgstr "" "Ðеудовлетворени завиÑимоÑти. Опитайте „apt-get -f install“ без пакети (или " "укажете разрешение)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1150,73 +1150,73 @@ msgstr "" "диÑтрибуциÑ, че нÑкои необходими пакети още не Ñа Ñъздадени или пък\n" "Ñа били премеÑтени от Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Счупени пакети" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Следните допълнителни пакети ще бъдат инÑталирани:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Предложени пакети:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Препоръчвани пакети:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "ÐеуÑпех при намирането на пакет %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s е отбелÑзан като автоматично инÑталиран.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "ИзчиÑлÑване на актуализациÑта..." -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "ÐеуÑпех" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Готово" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Вътрешна грешка, „problem resolver“ Ñчупи нещо в ÑиÑтемата" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "ÐеуÑпех при заключването на директориÑта за изтеглÑне" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "ТрÑбва да укажете поне един пакет за изтеглÑне на Ð¸Ð·Ñ…Ð¾Ð´Ð½Ð¸Ñ Ð¼Ñƒ код" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "ÐеуÑпех при намирането на изходен код на пакет %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1226,7 +1226,7 @@ msgstr "" "адреÑ:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1238,81 +1238,97 @@ msgstr "" "за да изтеглите поÑледните промени в пакета (евентуално в Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð½Ð° " "разработка).\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "ПропуÑкане на вече Ð¸Ð·Ñ‚ÐµÐ³Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð» „%s“\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "ÐÑмате доÑтатъчно Ñвободно проÑтранÑтво в %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Ðеобходимо е да Ñе изтеглÑÑ‚ %sB/%sB архиви изходен код.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Ðеобходимо е да Ñе изтеглÑÑ‚ %sB архиви изходен код.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "ИзтеглÑне на изходен код %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "ÐеуÑпех при изтеглÑнето на нÑкои архиви." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" "ПропуÑкане на разпакетирането на вече Ñ€Ð°Ð·Ð¿Ð°ÐºÐµÑ‚Ð¸Ñ€Ð°Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´ÐµÐ½ код в %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Командата за разпакетиране „%s“ пропадна.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Проверете дали имате инÑталиран пакета „dpkg-dev“.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Командата за компилиране „%s“ пропадна.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "ПроцеÑÑŠÑ‚-потомък пропадна" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "ТрÑбва да укажете поне един пакет за проверка на завиÑимоÑти за компилиране" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" "ÐеуÑпех при получаването на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° завиÑимоÑтите за компилиране на %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s нÑма завиÑимоÑти за компилиране.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"ЗавиÑимоÑÑ‚ %s за пакета %s не може да бъде удовлетворена, понеже пакета %s " +"не може да бъде намерен" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1321,47 +1337,56 @@ msgstr "" "ЗавиÑимоÑÑ‚ %s за пакета %s не може да бъде удовлетворена, понеже пакета %s " "не може да бъде намерен" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"ÐеуÑпех при удовлетворÑването на завиÑимоÑÑ‚ %s за пакета %s: ИнÑталираниÑÑ‚ " +"пакет %s е твърде нов" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "ЗавиÑимоÑÑ‚ %s за пакета %s не може да бъде удовлетворена, понеже нÑма " "налични верÑии на пакета %s, които могат да удовлетворÑÑ‚ изиÑкването за " "верÑиÑ" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"ÐеуÑпех при удовлетворÑването на завиÑимоÑÑ‚ %s за пакета %s: ИнÑталираниÑÑ‚ " -"пакет %s е твърде нов" +"ЗавиÑимоÑÑ‚ %s за пакета %s не може да бъде удовлетворена, понеже пакета %s " +"не може да бъде намерен" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "ÐеуÑпех при удовлетворÑването на завиÑимоÑÑ‚ %s за пакета %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "ЗавиÑимоÑтите за компилиране на %s не можаха да бъдат удовлетворени." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "ÐеуÑпех при обработката на завиÑимоÑтите за компилиране" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Свързване Ñ %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Поддържани модули:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1452,7 +1477,7 @@ msgstr "" "Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ опции.\n" " Това APT има Върховни Сили.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1765,8 +1790,8 @@ msgstr "Файл %s/%s Ð·Ð°Ð¼ÐµÐ½Ñ Ñ‚Ð¾Ð·Ð¸ в пакет %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1799,7 +1824,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Четене на ÑпиÑъците Ñ Ð¿Ð°ÐºÐµÑ‚Ð¸" @@ -2169,38 +2194,32 @@ msgstr "Ðещо лошо Ñе Ñлучи при намирането на IP а msgid "Unable to connect to %s:%s:" msgstr "ÐеуÑпех при Ñвързване Ñ %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Ð’ %s нÑма инÑталиран ключодържател." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Вътрешна грешка: Валиден подпиÑ, но не може да Ñе провери отпечатъка на " "ключа?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Ðамерен е поне един невалиден подпиÑ." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "ÐеуÑпех при изпълнение на „gpgv“ за проверка на подпиÑа (инÑталиран ли е " "gpgv?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "ÐеизвеÑтна грешка при изпълнението на gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Следните подпиÑи Ñа невалидни:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2361,60 +2380,60 @@ msgstr "%liÑ" msgid "Selection %s not found" msgstr "Изборът %s не е намерен" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "ÐеизвеÑтен тип на абревиатура: „%c“" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "ОтварÑне на конфигурационен файл %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Синтактична грешка %s:%u: Ð’ началото на блока нÑма име." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Синтактична грешка %s:%u: Лошо форматиран таг" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Синтактична грешка %s:%u: Излишни Ñимволи Ñлед ÑтойноÑтта" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Синтактична грешка %s:%u: Директиви могат да Ñе задават Ñамо в най-горното " "ниво" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Синтактична грешка %s:%u: Твърде много вложени „include“" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Синтактична грешка %s:%u: Извикан „include“ оттук" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Синтактична грешка %s:%u: Ðеподдържана директива „%s“" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Синтактична грешка %s:%u: директивата clear изиÑква аргумент дърво от опции" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Синтактична грешка %s:%u: Излишни Ñимволи в ÐºÑ€Ð°Ñ Ð½Ð° файла" @@ -2559,7 +2578,7 @@ msgstr "ПодпроцеÑÑŠÑ‚ %s върна код за грешка (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "ПодпроцеÑÑŠÑ‚ %s завърши неочаквано" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "ÐеуÑпех при отварÑнето на файла %s" @@ -2794,7 +2813,7 @@ msgstr "Лошо форматиран ред %u в ÑпиÑъка Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð msgid "Type '%s' is not known on line %u in source list %s" msgstr "Типът „%s“ на ред %u в ÑпиÑъка Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ†Ð¸ %s е неизвеÑтен." -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2803,7 +2822,7 @@ msgstr "" "ÐеуÑпех при незабавната наÑтройка на „%s“. За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð²Ð¸Ð¶Ñ‚Ðµ " "информациÑта за APT::Immediate-Configure в „man 5 apt.conf“. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2815,7 +2834,7 @@ msgstr "" "пакет %s. Това чеÑто е лошо, но ако наиÑтина иÑкате да го направите, " "активирайте опциÑта APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2850,7 +2869,7 @@ msgid "Unable to correct problems, you have held broken packages." msgstr "" "ÐеуÑпех при коригирането на проблемите, имате задържани Ñчупени пакети." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2901,12 +2920,12 @@ msgstr "Методът %s не Ñтартира правилно" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Сложете диÑка, озаглавен „%s“ в уÑтройÑтво „%s“ и натиÑнете „Enter“." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Пакетната ÑиÑтема „%s“ не е поддържана" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "ÐеуÑпех при определÑнето на подходÑща пакетна ÑиÑтема" @@ -2934,17 +2953,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "СпиÑъкът Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ†Ð¸ не можа да бъде прочетен." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Ðевалиден Ð·Ð°Ð¿Ð¸Ñ Ð²ÑŠÐ² файла Ñ Ð½Ð°Ñтройки %s, липÑва заглавна чаÑÑ‚ Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "ÐеизвеÑтен тип за отбиване %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "ÐÑма указан приоритет (или е нула) на отбиването" @@ -3038,7 +3064,7 @@ msgstr "" msgid "Collecting File Provides" msgstr "Събиране на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° „ОÑигурÑва“" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Входно/изходна грешка при запазването на кеша на пакети Ñ Ð¸Ð·Ñ…Ð¾Ð´ÐµÐ½ код" @@ -3051,8 +3077,8 @@ msgstr "преименуването Ñе провали, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "ÐеÑъответÑтвие на контролна Ñума MD5" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "ÐеÑъответÑтвие на контролната Ñума" @@ -3072,20 +3098,19 @@ msgstr "ÐеуÑпех при анализиране на файл Release %s" msgid "There is no public key available for the following key IDs:\n" msgstr "ÐÑма налични публични ключове за Ñледните идентификатори на ключове:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Файлът %s вече не е валиден и ще бъде игнориран. (изтекъл е преди %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Конфликт в диÑтрибуциÑта: %s (очаквана: %s, намерена: %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3095,12 +3120,12 @@ msgstr "" "използват Ñтарите индекÑни файлове. Грешка от GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Грешка от GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3109,7 +3134,7 @@ msgstr "" "ÐеуÑпех при намирането на файл за пакет %s. Това може да означава, че Ñ‚Ñ€Ñбва " "ръчно да оправите този пакет (поради пропуÑната архитектура)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3118,14 +3143,14 @@ msgstr "" "ÐеуÑпех при намирането на файл за пакет %s. Това може да означава, че Ñ‚Ñ€Ñбва " "ръчно да оправите този пакет." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "ИндекÑните файлове на пакета Ñа повредени. ÐÑма поле Filename: за пакет %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "ÐеÑъответÑтвие на размера" @@ -3249,22 +3274,22 @@ msgstr "Запазване на Ð½Ð¾Ð²Ð¸Ñ ÑпиÑък Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ†Ð¸\n" msgid "Source list entries for this disc are:\n" msgstr "ЗапиÑите в ÑпиÑъка Ñ Ð¸Ð·Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ†Ð¸ за този диÑк Ñа:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "ЗапиÑани Ñа %i запиÑа.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "ЗапиÑани Ñа %i запиÑа Ñ %i липÑващи файла.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "ЗапиÑани Ñа %i запиÑа Ñ %i неÑъответÑтващи файла\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "ЗапиÑани Ñа %i запиÑа Ñ %i липÑващи и %i неÑъответÑтващи файла\n" @@ -3284,6 +3309,17 @@ msgstr "Ðе е намерен oторизационен Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°: %s" msgid "Hash mismatch for: %s" msgstr "ÐеÑъответÑтвие на контролната Ñума за: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Ð’ %s нÑма инÑталиран ключодържател." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3549,6 +3585,10 @@ msgstr "Връзката прекъÑна преждевременно" #~ msgstr "" #~ "Вътрешна грешка, групата „%s“ нÑма пÑевдо-пакет, подходÑщ за инÑталиране" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "" +#~ "Файлът %s вече не е валиден и ще бъде игнориран. (изтекъл е преди %s)" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "" #~ "E: СпиÑъкът Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¸ от Acquire::gpgv::Options е твърде дълъг. " @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.5.26\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2004-05-06 15:25+0100\n" "Last-Translator: Safir Å ećerović <sapphire@linux.org.ba>\n" "Language-Team: Bosnian <lokal@lugbih.org>\n" @@ -155,7 +155,7 @@ msgstr "" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "" @@ -739,7 +739,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "ali se %s treba instalirati" @@ -852,8 +852,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "" @@ -888,7 +888,7 @@ msgstr "Odustani." msgid "Do you want to continue [Y/n]? " msgstr "Da li želite nastaviti? [Y/n]" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" @@ -897,7 +897,7 @@ msgstr "" msgid "Some files failed to download" msgstr "" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "" @@ -933,31 +933,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -973,15 +973,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -991,7 +991,7 @@ msgid_plural "" msgstr[0] "Slijedeći NOVI paketi će biti instalirani:" msgstr[1] "Slijedeći NOVI paketi će biti instalirani:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -999,25 +999,25 @@ msgid_plural "" msgstr[0] "Slijedeći NOVI paketi će biti instalirani:" msgstr[1] "Slijedeći NOVI paketi će biti instalirani:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1025,80 +1025,80 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "OÅ¡tećeni paketi" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Slijedeći dodatni paketi će biti instalirani:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Predloženi paketi:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "PreporuÄeni paketi:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "ali se %s treba instalirati" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "RaÄunam nadogradnju..." -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "NeuspjeÅ¡no" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "UraÄ‘eno" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1106,120 +1106,141 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 +#, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" + +#: cmdline/apt-get.cc:2951 #, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" -#: cmdline/apt-get.cc:2855 +#: cmdline/apt-get.cc:2957 #, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, c-format msgid "Changelog for %s (%s)" msgstr "" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Podržani moduli:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1265,7 +1286,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1558,8 +1579,8 @@ msgstr "" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1591,7 +1612,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "ÄŒitam spiskove paketa" @@ -1955,35 +1976,29 @@ msgstr "" msgid "Unable to connect to %s:%s:" msgstr "Ne mogu se povezati sa %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Odustajem od instalacije." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 #, fuzzy msgid "The following signatures were invalid:\n" msgstr "Slijedeći dodatni paketi će biti instalirani:" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2139,57 +2154,57 @@ msgstr "" msgid "Selection %s not found" msgstr "" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" @@ -2332,7 +2347,7 @@ msgstr "" msgid "Sub-process %s exited unexpectedly" msgstr "" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "" @@ -2561,14 +2576,14 @@ msgstr "" msgid "Type '%s' is not known on line %u in source list %s" msgstr "" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2576,7 +2591,7 @@ msgid "" "you really want to do it, activate the APT::Force-LoopBreak option." msgstr "" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2604,7 +2619,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 msgid "" "Some index files failed to download. They have been ignored, or old ones " "used instead." @@ -2652,12 +2667,12 @@ msgstr "" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "" @@ -2682,17 +2697,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "" @@ -2781,7 +2803,7 @@ msgstr "" msgid "Collecting File Provides" msgstr "" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "" @@ -2794,8 +2816,8 @@ msgstr "" msgid "MD5Sum mismatch" msgstr "" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "" @@ -2815,20 +2837,19 @@ msgstr "Ne mogu otvoriti DB datoteku %s" msgid "There is no public key available for the following key IDs:\n" msgstr "" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -2836,32 +2857,32 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package. (due to missing arch)" msgstr "" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package." msgstr "" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "" @@ -2980,22 +3001,22 @@ msgstr "" msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3015,6 +3036,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Odustajem od instalacije." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2011-06-16 01:41+0200\n" "Last-Translator: Jordi Mallach <jordi@debian.org>\n" "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n" @@ -156,7 +156,7 @@ msgstr " Taula de versió:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s per a %s compilat el %s %s\n" @@ -831,7 +831,7 @@ msgstr "No es possible la reinstaÅ€lació del paquet %s, no es pot baixar.\n" msgid "%s is already the newest version.\n" msgstr "%s ja es troba en la versió més recent.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "S'ha marcat %s com instaÅ€lat manualment.\n" @@ -948,8 +948,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Després d'aquesta operació s'alliberaran %sB d'espai en disc.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "No s'ha pogut determinar l'espai lliure en %s" @@ -986,7 +986,7 @@ msgstr "Avortat." msgid "Do you want to continue [Y/n]? " msgstr "Voleu continuar [S/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "No s'ha pogut obtenir %s %s\n" @@ -995,7 +995,7 @@ msgstr "No s'ha pogut obtenir %s %s\n" msgid "Some files failed to download" msgstr "Alguns fitxers no s'han pogut baixar" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Baixada completa i en mode de només baixada" @@ -1037,33 +1037,33 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Nota: Això ho fa el dpkg automà ticament i a propòsit." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignora la versió objectiu «%s» no disponible del paquet «%s»" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "S'està agafant «%s» com a paquet font en lloc de '%s'\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Descarta la versió «%s» no disponible del paquet «%s»" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "L'ordre update no pren arguments" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Es suposa que no hauriem de suprimir coses, no es pot iniciar el supressor " "automà tic" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1081,15 +1081,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "La informació següent pot ajudar-vos a resoldre la situació:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "S'ha produït un error intern, el supressor automà tic ha trencat coses" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1100,7 +1100,7 @@ msgstr[0] "" msgstr[1] "" "Els paquets següents s'han instaÅ€lat automà ticament i ja no són necessaris:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1110,19 +1110,19 @@ msgstr[0] "" msgstr[1] "" "Els paquets %lu es van s'instaÅ€lar automà ticament i ja no són necessaris:\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Empreu «apt-get autoremove» per a suprimir-los." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Error intern, AllUpgrade ha trencat coses" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Potser voldreu executar «apt-get -f install» per corregir-ho:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1130,7 +1130,7 @@ msgstr "" "Dependències insatisfetes. Proveu amb «apt-get -f install» sense paquets (o " "especifiqueu una solució)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1142,33 +1142,33 @@ msgstr "" "«unstable» i alguns paquets requerits encara no han estat creats o bé\n" "encara no els hi han introduït des d'«Incoming»." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Paquets trencats" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "S'instaÅ€laran els següents paquets extres:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Paquets suggerits:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Paquets recomanats:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "No s'ha pogut trobar el paquet %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "S'ha marcat %s com instaÅ€lat automà ticament.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." @@ -1176,42 +1176,42 @@ msgstr "" "Aquesta ordre és desfasada. Empreu «apt-mark auto» i «apt-mark manual» en el " "seu lloc." -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "S'està calculant l'actualització… " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Ha fallat" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Fet" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "" "S'ha produït un error intern, el solucionador de problemes ha trencat coses" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "No és possible blocar el directori de descà rrega" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "S'està baixant %s %s" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Haureu d'especificar un paquet de codi font per a baixar" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "No es pot trobar un paquet de fonts per a %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1221,7 +1221,7 @@ msgstr "" "versions «%s» a:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1233,82 +1233,98 @@ msgstr "" "per a obtenir les últimes actualitzacions (possiblement no publicades) del " "paquet.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "S'està ometent el fitxer ja baixat «%s»\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "No teniu prou espai lliure en %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Es necessita baixar %sB/%sB d'arxius font.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Es necessita baixar %sB d'arxius font.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Obtén el font %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "No s'ha pogut baixar alguns arxius." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" "S'està ometent el desempaquetament de les fonts que ja ho estan en %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "L'ordre de desempaquetar «%s» ha fallat.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Comproveu si el paquet «dpkgdev» està instaÅ€lat.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "L'ordre de construir «%s» ha fallat.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Ha fallat el procés fill" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "S'ha d'especificar un paquet per a verificar les dependències de construcció " "per a" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" "No es pot obtenir informació sobre les dependències de construcció per a %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s no té dependències de construcció.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"La dependència %s en %s no es pot satisfer per que no es pot trobar el " +"paquet %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1317,46 +1333,55 @@ msgstr "" "La dependència %s en %s no es pot satisfer per que no es pot trobar el " "paquet %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"No s'ha pogut satisfer la dependència %s per a %s: El paquet instaÅ€lat %s és " +"massa nou" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "La dependència %s per a %s no es pot satisfer per que cap versió del paquet " "%s pot satisfer els requeriments de versions" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"No s'ha pogut satisfer la dependència %s per a %s: El paquet instaÅ€lat %s és " -"massa nou" +"La dependència %s en %s no es pot satisfer per que no es pot trobar el " +"paquet %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "No s'ha pogut satisfer la dependència %s per a %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "No s'han pogut satisfer les dependències de construcció per a %s" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "No es poden processar les dependències de construcció" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, c-format msgid "Changelog for %s (%s)" msgstr "Registre de canvis per a %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Mòduls suportats:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1446,7 +1471,7 @@ msgstr "" "per a obtenir més informació i opcions.\n" " Aquest APT té superpoders bovins.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1781,8 +1806,8 @@ msgstr "El fitxer %s/%s sobreescriu al que està en el paquet %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1816,7 +1841,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "S'està llegint la llista de paquets" @@ -2185,38 +2210,32 @@ msgstr "Ha passat alguna cosa estranya en resoldre '%s:%s' (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "No es pot connectar amb %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "No s'ha instaÅ€lat cap clauer a %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Error intern: La signatura és correcta, però no s'ha pogut determinar " "l'emprempta digital de la clau!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "S'ha trobat almenys una signatura invà lida." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "No s'ha pogut executar «gpgv» per a verificar la signatura (està instaÅ€lat " "el gpgv?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "S'ha produït un error desconegut en executar el gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Les signatures següents són invà lides:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2378,59 +2397,59 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "No s'ha trobat la selecció %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Abreujament de tipus no reconegut: «%c»" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "S'està obrint el fitxer de configuració %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Error sintà ctic %s:%u: No comença el camp amb un nom." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Error sintà ctic %s:%u: Etiqueta malformada" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Error sintà ctic %s:%u Text extra després del valor" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Error sintà ctic %s:%u: Es permeten directrius només al nivell més alt" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Error sintà ctic %s:%u: Hi ha masses fitxers include niats" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Error sintà ctic %s:%u: Inclusió des d'aquÃ" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Error sintà ctic %s:%u: Directriu no suportada «%s»" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Error sintà ctic %s:%u: la directiva clear requereix un arbre d'opcions com a " "argument" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Error sintà ctic %s:%u: Text extra al final del fitxer" @@ -2578,7 +2597,7 @@ msgstr "El sub-procés %s ha retornat un codi d'error (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "El sub-procés %s ha sortit inesperadament" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "No s'ha pogut obrir el fitxer %s" @@ -2808,7 +2827,7 @@ msgstr "La lÃnia %u és malformada en la llista de fonts %s (tipus)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "El tipus «%s» no és conegut en la lÃnia %u de la llista de fonts %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2817,7 +2836,7 @@ msgstr "" "No s'ha pogut realitzar la configuració immediata de '%s'. Consulteu man 5 " "apt.conf, secció APT::Immediate-Configure per a més detalls. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2829,7 +2848,7 @@ msgstr "" "dolenta, però si realment desitgeu fer-la, activeu l'opció APT::Force-" "LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2864,7 +2883,7 @@ msgstr "" "No es poden corregir els problemes, teniu paquets retinguts que estan " "trencats." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2915,12 +2934,12 @@ msgstr "El mètode %s no s'ha iniciat correctament" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Inseriu el disc amb l'etiqueta: «%s» en la unitat «%s» i premeu Intro." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "El sistema d'empaquetament «%s» no està suportat" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "No es pot determinar un tipus de sistema d'empaquetament adequat." @@ -2947,17 +2966,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "No s'ha pogut llegir la llista de les fonts." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Registre no và lid al fitxer de preferències %s, paquet sense capçalera" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "No s'ha entès el pin de tipus %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "No hi ha prioritat especificada per al pin (o és zero)" @@ -3054,7 +3080,7 @@ msgstr "No s'ha pogut llegir la llista de paquets font %s" msgid "Collecting File Provides" msgstr "S'estan recollint els fitxers que proveeixen" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Error d'E/S en desar la memòria cau de la font" @@ -3067,8 +3093,8 @@ msgstr "no s'ha pogut canviar el nom, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "La suma MD5 no concorda" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "La suma resum no concorda" @@ -3090,20 +3116,19 @@ msgstr "No s'ha trobat la suma de comprovació per a «%s» al fitxer Release" msgid "There is no public key available for the following key IDs:\n" msgstr "No hi ha cap clau pública disponible per als següents ID de clau:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "El fitxer Release ha caducat, s'està ignorant %s (invà lid des de %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Distribució en conflicte: %s (s'esperava %s però s'ha obtingut %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3114,12 +3139,12 @@ msgstr "" "%s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "S'ha produït un error amb el GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3129,7 +3154,7 @@ msgstr "" "significar que haureu d'arreglar aquest paquet manualment (segons " "arquitectura)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3138,7 +3163,7 @@ msgstr "" "No s'ha trobat un fitxer pel paquet %s. Això podria significar que haureu " "d'arreglar aquest paquet manualment." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3146,7 +3171,7 @@ msgstr "" "L'Ãndex dels fitxers en el paquet està corromput. Fitxer no existent: camp " "per al paquet %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "La mida no concorda" @@ -3270,22 +3295,22 @@ msgstr "S'està escrivint una nova llista de fonts\n" msgid "Source list entries for this disc are:\n" msgstr "Les entrades de la llista de fonts per a aquest disc són:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "S'han escrit %i registres.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "S'han escrit %i registres, on falten %i fitxers.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "S'han escrit %i registres, on hi ha %i fitxers no coincidents\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3307,6 +3332,17 @@ msgstr "No s'ha pogut trobar el registre d'autenticatió per a: %s" msgid "Hash mismatch for: %s" msgstr "El resum no coincideix per a: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "No s'ha instaÅ€lat cap clauer a %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3572,6 +3608,10 @@ msgstr "La connexió s'ha tancat prematurament" #~ "S'ha produït un error intern, el grup '%s' no disposa d'un pseudopaquet " #~ "instaÅ€lable" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "" +#~ "El fitxer Release ha caducat, s'està ignorant %s (invà lid des de %s)" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "" #~ "E: La llista d'arguments d'Acquire::gpgv::Options és massa llarga. S'està " @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-11-27 13:54+0100\n" "Last-Translator: Miroslav Kure <kurem@debian.cz>\n" "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n" @@ -154,7 +154,7 @@ msgstr " Tabulka verzÃ:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s pro %s zkompilován na %s %s\n" @@ -828,7 +828,7 @@ msgstr "PÅ™einstalace %s nenà možná, protože nelze stáhnout.\n" msgid "%s is already the newest version.\n" msgstr "%s je již nejnovÄ›jÅ¡Ã verze.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s nastaven jako instalovaný ruÄnÄ›.\n" @@ -941,8 +941,8 @@ msgstr "Po této operaci bude na disku použito dalÅ¡Ãch %sB.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Po této operaci bude na disku uvolnÄ›no %sB.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Nelze urÄit volné mÃsto v %s" @@ -979,7 +979,7 @@ msgstr "PÅ™eruÅ¡eno." msgid "Do you want to continue [Y/n]? " msgstr "Chcete pokraÄovat [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Selhalo staženà %s %s\n" @@ -988,7 +988,7 @@ msgstr "Selhalo staženà %s %s\n" msgid "Some files failed to download" msgstr "NÄ›které soubory nemohly být staženy" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Stahovánà dokonÄeno v režimu pouze stáhnout" @@ -1033,31 +1033,31 @@ msgstr[2] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Poznámka: Toto má svůj důvod a dÄ›je se automaticky v dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignoruje se nedostupné vydánà „%s“ balÃku „%s“" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "VybÃrám „%s“ jako zdrojový balÃk mÃsto „%s“\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Ignoruje se nedostupná verze „%s“ balÃku „%s“" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "PÅ™Ãkaz update neakceptuje žádné argumenty" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "NemÄ›li bychom mazat vÄ›ci, nemůžu spustit AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1075,15 +1075,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "NásledujÃcà informace vám mohou pomoci vyÅ™eÅ¡it tuto situaci:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "VnitÅ™nà chyba, AutoRemover pokazil vÄ›ci" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1095,7 +1095,7 @@ msgstr[1] "" msgstr[2] "" "NásledujÃcà balÃky byly nainstalovány automaticky a již nejsou potÅ™eba:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1104,19 +1104,19 @@ msgstr[0] "%lu balÃk byl nainstalován automaticky a již nenà potÅ™eba.\n" msgstr[1] "%lu balÃky byly nainstalovány automaticky a již nejsou potÅ™eba.\n" msgstr[2] "%lu balÃků bylo nainstalováno automaticky a již nejsou potÅ™eba.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Pro jejich odstranÄ›nà použijte „apt-get autoremove“." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "VnitÅ™nà chyba, AllUpgrade pokazil vÄ›ci" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Pro opravenà následujÃcÃch můžete spustit „apt-get -f install“:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1124,7 +1124,7 @@ msgstr "" "NesplnÄ›né závislosti. Zkuste spustit „apt-get -f install“ bez balÃků (nebo " "navrhnÄ›te Å™eÅ¡enÃ)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1135,73 +1135,73 @@ msgstr "" "nemožnou situaci, nebo, pokud použÃváte nestabilnà distribuci, že\n" "vyžadované balÃky jeÅ¡tÄ› nebyly vytvoÅ™eny nebo pÅ™esunuty z PÅ™Ãchozà fronty." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "PoÅ¡kozené balÃky" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "NásledujÃcà extra balÃky budou instalovány:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Navrhované balÃky:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "DoporuÄované balÃky:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Nelze najÃt balÃk %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s nastaven jako instalovaný automaticky.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "PropoÄÃtávám aktualizaci… " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Selhalo" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Hotovo" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "VnitÅ™nà chyba, Å™eÅ¡itel problémů pokazil vÄ›ci" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Nelze zamknout adresář pro stahovánÃ" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "MusÃte zadat aspoň jeden balÃk, pro který se stáhnou zdrojové texty" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Nelze najÃt zdrojový balÃk pro %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1210,7 +1210,7 @@ msgstr "" "INFO: BalÃk „%s“ je spravován v systému pro správu verzà „%s“ na:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1221,125 +1221,146 @@ msgstr "" "použijte:\n" "bzr get %s\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "PÅ™eskakuji dÅ™Ãve stažený soubor „%s“\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Na %s nemáte dostatek volného mÃsta" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "PotÅ™ebuji stáhnout %sB/%sB zdrojových archivů.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "PotÅ™ebuji stáhnout %sB zdrojových archivů.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Stáhnout zdroj %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Staženà nÄ›kterých archivů selhalo." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "PÅ™eskakuji rozbalenà již rozbaleného zdroje v %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "PÅ™Ãkaz pro rozbalenà „%s“ selhal.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Zkontrolujte, zda je nainstalován balÃÄek „dpkg-dev“.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "PÅ™Ãkaz pro sestavenà „%s“ selhal.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Synovský proces selhal" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "MusÃte zadat alespoň jeden balÃk, pro který budou kontrolovány závislosti " "pro sestavenÃ" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Nelze zÃskat závislosti pro sestavenà %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s nemá žádné závislosti pro sestavenÃ.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "%s závislost pro %s nemůže být splnÄ›na, protože balÃk %s nebyl nalezen" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "%s závislost pro %s nemůže být splnÄ›na, protože balÃk %s nebyl nalezen" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Selhalo splnÄ›nà %s závislosti pro %s: Instalovaný balÃk %s je pÅ™ÃliÅ¡ nový" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s závislost pro %s nemůže být splnÄ›na protože nenà k dispozici verze balÃku " "%s, která odpovÃdá požadavku na verzi" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "" -"Selhalo splnÄ›nà %s závislosti pro %s: Instalovaný balÃk %s je pÅ™ÃliÅ¡ nový" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "%s závislost pro %s nemůže být splnÄ›na, protože balÃk %s nebyl nalezen" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Selhalo splnÄ›nà %s závislosti pro %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Závislosti pro sestavenà %s nemohly být splnÄ›ny." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Chyba pÅ™i zpracovánà závislostà pro sestavenÃ" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "PÅ™ipojuji se k %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Podporované moduly:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1427,7 +1448,7 @@ msgstr "" "a apt.conf(5).\n" " Tato APT má schopnosti svaté krávy.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1737,8 +1758,8 @@ msgstr "Soubor %s/%s pÅ™episuje ten z balÃku %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1770,7 +1791,7 @@ msgstr "Adresáře info a temp musà být na stejném souborovém systému" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "ÄŒtu seznamy balÃků" @@ -2138,34 +2159,28 @@ msgstr "NÄ›co hodnÄ› oÅ¡klivého se pÅ™ihodilo pÅ™i pÅ™ekladu „%s:%s“ (%i - msgid "Unable to connect to %s:%s:" msgstr "Nelze se pÅ™ipojit k %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "V %s nenà nainstalována žádná klÃÄenka." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "VnitÅ™nà chyba: Dobrý podpis, ale nemohu zjistit otisk klÃÄe?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Byl zaznamenán nejménÄ› jeden neplatný podpis. " -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "Nelze spustit „gpgv“ pro ověřenà podpisu (je gpgv nainstalováno?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Neznámá chyba pÅ™i spouÅ¡tÄ›nà gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "NásledujÃcà podpisy jsou neplatné:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2324,60 +2339,60 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "VýbÄ›r %s nenalezen" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Nerozpoznaná zkratka typu: „%c“" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "OtevÃrám konfiguraÄnà soubor %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaktická chyba %s:%u: Blok nezaÄÃná jménem." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaktická chyba %s:%u: Zkomolená znaÄka" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaktická chyba %s:%u: Za hodnotou následuje zbyteÄné smetÃ" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Syntaktická chyba %s:%u: Direktivy je možné provádÄ›t pouze na nejvyššà úrovni" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaktická chyba %s:%u: PÅ™ÃliÅ¡ mnoho vnoÅ™ených propojenà (include)" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaktická chyba %s:%u: Zahrnuto odtud" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaktická chyba %s:%u: Nepodporovaná direktiva „%s“" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Syntaktická chyba %s:%u: Direktiva clear vyžaduje jako argument strom " "možnostÃ" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaktická chyba %s:%u: Na konci souboru je zbyteÄné smetÃ" @@ -2520,7 +2535,7 @@ msgstr "Podproces %s vrátil chybový kód (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Podproces %s neoÄekávanÄ› skonÄil" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Nelze otevÅ™Ãt soubor %s" @@ -2747,7 +2762,7 @@ msgstr "Zkomolený řádek %u v seznamu zdrojů %s (typ)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Typ „%s“ na řádce %u v seznamu zdrojů %s nenà známý" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2756,7 +2771,7 @@ msgstr "" "Nelze spustit okamžitou konfiguraci balÃku „%s“. Podrobnosti naleznete v man " "5 apt.conf v Äásti APT::Immediate-Configure. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2767,7 +2782,7 @@ msgstr "" "smyÄce v Conflicts/Pre-Depends. To je Äasto Å¡patné, ale pokud to skuteÄnÄ› " "chcete udÄ›lat, aktivujte možnost APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2799,7 +2814,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Nelze opravit problémy, nÄ›které balÃky držÃte v porouchaném stavu." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2850,12 +2865,12 @@ msgstr "Metoda %s nebyla spuÅ¡tÄ›na správnÄ›" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Vložte prosÃm disk nazvaný „%s“ do mechaniky „%s“ a stisknÄ›te enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "BalÃÄkovacà systém „%s“ nenà podporován" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Nebylo možno urÄit vhodný typ balÃÄkovacÃho systému" @@ -2881,17 +2896,24 @@ msgstr "Pro nápravu tÄ›chto problémů můžete zkusit spustit apt-get update" msgid "The list of sources could not be read." msgstr "Nelze pÅ™eÄÃst seznam zdrojů." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Neplatný záznam v souboru preferencà %s, chybà hlaviÄka Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "NerozumÃm vypÃchnutà typu %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Pro vypÃchnutà nebyla zadána žádná (nebo nulová) priorita" @@ -2980,7 +3002,7 @@ msgstr "NeÅ¡lo vyhodnotit seznam zdrojových balÃků %s" msgid "Collecting File Provides" msgstr "Collecting File poskytuje" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Chyba IO pÅ™i ukládánà zdrojové cache" @@ -2993,8 +3015,8 @@ msgstr "pÅ™ejmenovánà selhalo, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Neshoda MD5 souÄtů" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Neshoda kontrolnÃch souÄtů" @@ -3014,20 +3036,19 @@ msgstr "Nelze zpracovat Release soubor %s" msgid "There is no public key available for the following key IDs:\n" msgstr "K následujÃcÃm ID klÃÄů nenà dostupný veÅ™ejný klÃÄ:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Souboru Release vyprÅ¡ela platnost, ignoruji %s (neplatný již %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Konfliktnà distribuce: %s (oÄekáváno %s, obdrženo %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3037,12 +3058,12 @@ msgstr "" "se použijà pÅ™edchozà indexové soubory. Chyba GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Chyba GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3051,7 +3072,7 @@ msgstr "" "Nebyl jsem schopen nalézt soubor s balÃkem %s. To by mohlo znamenat, že " "tento balÃk je tÅ™eba opravit ruÄnÄ› (kvůli chybÄ›jÃcà architektuÅ™e)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3060,14 +3081,14 @@ msgstr "" "Nebyl jsem schopen nalézt soubor s balÃkem %s. Asi budete muset tento balÃk " "opravit ruÄnÄ›." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "Indexové soubory balÃku jsou naruÅ¡eny. Chybà pole Filename: u balÃku %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Velikosti nesouhlasÃ" @@ -3191,22 +3212,22 @@ msgstr "Zapisuji nový seznam balÃků\n" msgid "Source list entries for this disc are:\n" msgstr "Seznamy zdrojů na tomto disku jsou:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Zapsáno %i záznamů.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Zapsáno %i záznamů s chybÄ›jÃcÃmi soubory (%i).\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Zapsáno %i záznamů s nesouhlasÃcÃmi soubory (%i).\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "Zapsáno %i záznamů s chybÄ›jÃcÃmi (%i) a nesouhlasÃcÃmi (%i) soubory.\n" @@ -3226,6 +3247,17 @@ msgstr "Nelze najÃt autentizaÄnà záznam pro: %s" msgid "Hash mismatch for: %s" msgstr "Neshoda kontrolnÃch souÄtů pro: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "V %s nenà nainstalována žádná klÃÄenka." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3476,6 +3508,9 @@ msgstr "Spojenà bylo pÅ™edÄasnÄ› ukonÄeno" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Internà chyba, skupina „%s“ nemá instalovatelný pseudobalÃk" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Souboru Release vyprÅ¡ela platnost, ignoruji %s (neplatný již %s)" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "" #~ "E: Seznam argumentů Acquire::gpgv::Options je pÅ™ÃliÅ¡ dlouhý. KonÄÃm." @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: APT\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2005-06-06 13:46+0100\n" "Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n" "Language-Team: Welsh <cy@pengwyn.linux.org.uk>\n" @@ -173,7 +173,7 @@ msgstr " Tabl Fersiynnau:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s ar gyfer %s %s wedi ei grynhow ar %s %s\n" @@ -863,7 +863,7 @@ msgstr "Nid yw ailsefydlu %s yn bosib, gan ni ellir ei lawrlwytho.\n" msgid "%s is already the newest version.\n" msgstr "Mae %s y fersiwn mwyaf newydd eisioes.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "ond mae %s yn mynd i gael ei sefydlu" @@ -979,8 +979,8 @@ msgstr "Ar ôl dadbacio defnyddir %sB o ofod disg ychwanegol.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Ar ôl dadbactio caiff %sB o ofod disg ei rhyddhau.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, fuzzy, c-format msgid "Couldn't determine free space in %s" msgstr "Does dim digon o le rhydd yn %s gennych" @@ -1018,7 +1018,7 @@ msgstr "Erthylu." msgid "Do you want to continue [Y/n]? " msgstr "Ydych chi eisiau mynd ymlaen? [Y/n] " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Methwyd cyrchu %s %s\n" @@ -1027,7 +1027,7 @@ msgstr "Methwyd cyrchu %s %s\n" msgid "Some files failed to download" msgstr "Methodd rhai ffeiliau lawrlwytho" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Lawrlwytho yn gyflawn ac yn y modd lawrlwytho'n unig" @@ -1066,31 +1066,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Methwyd stat() o'r rhestr pecyn ffynhonell %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Nid yw'r gorchymyn diweddaru yn derbyn ymresymiadau" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1106,16 +1106,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Gall y wybodaeth canlynol gynorthwyo'n datrys y sefyllfa:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "Gwall Mewnol, torrodd AllUpgrade bethau" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1125,7 +1125,7 @@ msgid_plural "" msgstr[0] "Caiff y pecynnau NEWYDD canlynol eu sefydlu:" msgstr[1] "Caiff y pecynnau NEWYDD canlynol eu sefydlu:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1133,21 +1133,21 @@ msgid_plural "" msgstr[0] "Caiff y pecynnau NEWYDD canlynol eu sefydlu:" msgstr[1] "Caiff y pecynnau NEWYDD canlynol eu sefydlu:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 #, fuzzy msgid "Internal error, AllUpgrade broke stuff" msgstr "Gwall Mewnol, torrodd AllUpgrade bethau" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Efallai hoffech rhedeg 'apt-get -f install' er mwyn cywiro'r rhain:" # FIXME -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1156,7 +1156,7 @@ msgstr "" "pecyn (neu penodwch ddatrys)" # FIXME: needs commas -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1168,82 +1168,82 @@ msgstr "" "ansefydlog, fod rhai pecynnau angenrheidiol heb gael eu creu eto neu\n" "heb gael eu symud allan o Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Pecynnau wedi torri" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Caiff y pecynnau canlynol ychwanegol eu sefydlu:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Pecynnau a awgrymmir:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Pecynnau a argymhellir:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Methwyd canfod pecyn %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "ond mae %s yn mynd i gael ei sefydlu" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 #, fuzzy msgid "Calculating upgrade... " msgstr "Yn Cyfrifo'r Uwchraddiad... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Methwyd" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Wedi Gorffen" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 #, fuzzy msgid "Internal error, problem resolver broke stuff" msgstr "Gwall Mewnol, torrodd AllUpgrade bethau" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Ni ellir cloi'r cyfeiriadur lawrlwytho" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Rhaid penodi o leiaf un pecyn i gyrchi ffynhonell ar ei gyfer" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Ni ellir canfod pecyn ffynhonell ar gyfer %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1251,79 +1251,95 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, fuzzy, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Yn hepgor dadbacio y ffynhonell wedi ei dadbacio eisioes yn %s\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Does dim digon o le rhydd yn %s gennych" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Rhaid cyrchu %sB/%sB o archifau ffynhonell.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Rhaid cyrchu %sB o archifau ffynhonell.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, fuzzy, c-format msgid "Fetch source %s\n" msgstr "Cyrchu Ffynhonell %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Methwyd cyrchu rhai archifau." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Yn hepgor dadbacio y ffynhonell wedi ei dadbacio eisioes yn %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Methodd y gorchymyn dadbacio '%s'.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Methodd y gorchymyn adeiladu '%s'.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Methodd proses plentyn" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Rhaid penodi o leiaf un pecyn i wirio dibyniaethau adeiladu ar eu cyfer" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Ni ellir cyrchu manylion dibyniaeth adeiladu ar gyfer %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "Nid oes dibyniaethau adeiladu gan %s.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"Ni ellir bodloni dibyniaeth %s ar gyfer %s oherwydd ni ellir canfod y pecyn " +"%s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1332,48 +1348,57 @@ msgstr "" "Ni ellir bodloni dibyniaeth %s ar gyfer %s oherwydd ni ellir canfod y pecyn " "%s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Methwyd bodloni dibynniaeth %s am %s: Mae'r pecyn sefydliedig %s yn rhy " +"newydd" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "Ni ellir bodloni'r dibyniaeth %s ar gyfer %s oherwydd does dim fersiwn sydd " "ar gael o'r pecyn %s yn gallu bodloni'r gofynion ferswin" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Methwyd bodloni dibynniaeth %s am %s: Mae'r pecyn sefydliedig %s yn rhy " -"newydd" +"Ni ellir bodloni dibyniaeth %s ar gyfer %s oherwydd ni ellir canfod y pecyn " +"%s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Methwyd bodloni dibyniaeth %s am %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Methwyd bodloni'r dibyniaethau adeiladu ar gyfer %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Methwyd prosesu dibyniaethau adeiladu" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Yn cysylltu i %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 #, fuzzy msgid "Supported modules:" msgstr "Modylau a Gynhelir:" # FIXME: split -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1460,7 +1485,7 @@ msgstr "" "\n" " Mae gan yr APT hwn bŵerau buwch hudol.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1777,8 +1802,8 @@ msgstr "Mae'r ffeil %s/%s yn trosysgrifo'r un yn y pecyn %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1810,7 +1835,7 @@ msgstr "Rhaid i'r cyfeiriaduron 'info' a 'temp' for ar yr un system ffeiliau" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 #, fuzzy msgid "Reading package lists" msgstr "Yn Darllen Rhestrau Pecynnau" @@ -2195,35 +2220,29 @@ msgstr "Digwyddodd rhywbweth hyll wrth ddatrys '%s:%s' (%i)" msgid "Unable to connect to %s:%s:" msgstr "Methwyd cysylltu i %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Yn Erthylu'r Sefydliad." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 #, fuzzy msgid "The following signatures were invalid:\n" msgstr "Caiff y pecynnau canlynol ychwanegol eu sefydlu:" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2386,60 +2405,60 @@ msgstr "" msgid "Selection %s not found" msgstr "Ni chanfuwyd y dewis %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Talgryniad math anhysbys: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Yn agor y ffeil cyfluniad %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Gwall cystrawen %s:%u: Mae bloc yn cychwyn efo dim enw." # FIXME -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, fuzzy, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Gwall cystrawen %s:%u: Tag wedi camffurfio" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Gwall cystrawen %s:%u: Sbwriel ychwanegol ar ôl y gwerth" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Gwall cystrawen %s:%u: Ceir defnyddio cyfarwyddyd ar y lefel dop yn unig" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Gwall cystrawen %s:%u: Gormod o gynhwysion nythol" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Gwall cystrawen %s:%u: Cynhwyswyd o fan hyn" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Gwall cystrawen %s:%u: Cyfarwyddyd ni gynhelir '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Gwall cystrawen %s:%u: Ceir defnyddio cyfarwyddyd ar y lefel dop yn unig" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Gwall cystrawen %s:%u: Sbwriel ychwanegol ar ddiwedd y ffeil" @@ -2584,7 +2603,7 @@ msgstr "Dychwelodd is-broses %s gôd gwall (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Gorffenodd is-broses %s yn annisgwyl" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Methwyd agor ffeil %s" @@ -2824,7 +2843,7 @@ msgstr "Llinell camffurfiol %u yn y rhestr ffynhonell %s (math)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Mae'r math '%s' yn anhysbys ar linell %u yn y rhestr ffynhonell %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2832,7 +2851,7 @@ msgid "" msgstr "" # FIXME: %s may have an arbirrary length -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2843,7 +2862,7 @@ msgstr "" "oherwydd lŵp gwrthdaro/cynddibynu. Mae hyn yn aml yn wael, ond os ydych wir " "eisiau ei wneud ef, gweithredwch yr opsiwn APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2876,7 +2895,7 @@ msgid "Unable to correct problems, you have held broken packages." msgstr "" "Ni ellir cywiro'r problemau gan eich bod chi wedi dal pecynnau torredig." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2930,12 +2949,12 @@ msgstr "" " '%s'\n" "yn y gyrriant '%s' a gwasgwch Enter\n" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Ni chynhelir y system pecynnu '%s'" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 #, fuzzy msgid "Unable to determine a suitable packaging system type" msgstr "Ni ellir canfod math system addas" @@ -2962,19 +2981,26 @@ msgstr "Efallai hoffech rhedege apt-get update er mwyn cywiro'r problemau hyn." msgid "The list of sources could not be read." msgstr "Methwyd darllen y rhestr ffynhonellau." +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + # FIXME: literal -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Cofnod annilys yn y ffeil hoffterau, dim pennawd 'Package'" # FIXME: tense -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Methwyd daeall y math pin %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Dim blaenoriath (neu sero) wedi ei benodi ar gyfer pin" @@ -3066,7 +3092,7 @@ msgstr "Methwyd stat() o'r rhestr pecyn ffynhonell %s" msgid "Collecting File Provides" msgstr "Yn Casglu Darpariaethau Ffeil" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Gwall M/A wrth gadw'r storfa ffynhonell" @@ -3079,8 +3105,8 @@ msgstr "methwyd ailenwi, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Camgyfatebiaeth swm MD5" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 #, fuzzy msgid "Hash Sum mismatch" msgstr "Camgyfatebiaeth swm MD5" @@ -3102,20 +3128,19 @@ msgstr "Ni ellir gramadegu ffeil becynnau %s (1)" msgid "There is no public key available for the following key IDs:\n" msgstr "" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3123,13 +3148,13 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" # FIXME: case -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3138,7 +3163,7 @@ msgstr "" "Methais i leoli ffeila r gyfer y pecyn %s. Fa all hyn olygu bod rhaid i chi " "drwsio'r pecyn hyn a law. (Oherwydd pensaerniaeth coll.)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3147,14 +3172,14 @@ msgstr "" "Methais i leoli ffeila r gyfer y pecyn %s. Fa all hyn olygu bod rhaid i chi " "drwsio'r pecyn hyn a law." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "Mae'r ffeiliau mynegai pecyn yn llygr. Dim maes Filename: gan y pecyn %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Camgyfatebiaeth maint" @@ -3276,22 +3301,22 @@ msgstr "Llinell %u yn rhy hir yn y rhestr ffynhonell %s." msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3311,6 +3336,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Camgyfatebiaeth swm MD5" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Yn Erthylu'r Sefydliad." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-09-01 23:51+0200\n" "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" "Language-Team: Danish <debian-l10n-danish@lists.debian.org> \n" @@ -159,7 +159,7 @@ msgstr " Versionstabel:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s for %s kompileret pÃ¥ %s %s\n" @@ -838,7 +838,7 @@ msgstr "Geninstallering af %s er ikke mulig, da den ikke kan hentes.\n" msgid "%s is already the newest version.\n" msgstr "%s er i forvejen den nyeste version.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s sat til manuelt installeret.\n" @@ -950,8 +950,8 @@ msgstr "Efter denne handling, vil %sB yderligere diskplads være brugt.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Efter denne handling, vil %sB diskplads blive frigjort.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Kunne ikke bestemme ledig plads i %s" @@ -988,7 +988,7 @@ msgstr "Afbryder." msgid "Do you want to continue [Y/n]? " msgstr "Vil du fortsætte [J/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Kunne ikke hente %s %s\n" @@ -997,7 +997,7 @@ msgstr "Kunne ikke hente %s %s\n" msgid "Some files failed to download" msgstr "Nedhentningen af filer mislykkedes" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Nedhentning afsluttet i 'hent-kun'-tilstand" @@ -1039,33 +1039,33 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Bemærk: Dette sker automatisk og med vilje af dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignorer utilgængelig mÃ¥ludgivelse '%s' af pakke '%s'" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Vælger '%s' som kildepakke fremfor '%s'\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Ignorer utilgængelig version '%s' af pakke '%s'" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "'update'-kommandoen benytter ingen parametre" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Det er ikke meningen, at vi skal slette ting og sager, kan ikke starte " "AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1083,15 +1083,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Følgende oplysninger kan hjælpe dig med at klare situationen:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Intern fejl. AutoRemover ødelagde noget" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1102,7 +1102,7 @@ msgstr[0] "" msgstr[1] "" "Følgende pakker blev installeret automatisk, og behøves ikke længere:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1111,19 +1111,19 @@ msgstr[0] "Pakken %lu blev installeret automatisk, og behøves ikke længere.\n" msgstr[1] "" "Pakkerne %lu blev installeret automatisk, og behøves ikke længere.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Brug 'apt-get autoremove' til at fjerne dem." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Intern fejl, AllUpgrade ødelagde noget" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Du kan muligvis rette det ved at køre 'apt-get -f install':" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1131,7 +1131,7 @@ msgstr "" "Uopfyldte afhængigheder. Prøv 'apt-get -f install' uden pakker (eller angiv " "en løsning)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1142,73 +1142,73 @@ msgstr "" "en umulig situation eller bruger den ustabile distribution, hvor enkelte\n" "pakker endnu ikke er lavet eller gjort tilgængelige." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Ødelagte pakker" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Følgende yderligere pakker vil blive installeret:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "ForeslÃ¥ede pakker:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Anbefalede pakker:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Kunne ikke finde pakken %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s sat til automatisk installation.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Beregner opgraderingen... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Mislykkedes" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Færdig" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Intern fejl. Problemløseren ødelagde noget" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Kunne ikke lÃ¥se nedhentningsmappen" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Du skal angive mindst én pakke at hente kildeteksten til" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Kunne ikke finde kildetekstpakken for %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1217,7 +1217,7 @@ msgstr "" "BEMÆRK: Pakning af '%s' vedligeholdes i versionskontrolsystemet '%s' pÃ¥:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1228,78 +1228,93 @@ msgstr "" "bzr get %s\n" "for at hente de seneste (muligvis ikke udgivet) opdateringer til pakken.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Overspringer allerede hentet fil '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Du har ikke nok ledig plads i %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "%sB/%sB skal hentes fra kildetekst-arkiverne.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "%sB skal hentes fra kildetekst-arkiverne.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Henter kildetekst %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Nogle arkiver kunne ikke hentes." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Overspringer udpakning af allerede udpakket kildetekst i %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Udpakningskommandoen '%s' fejlede.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Tjek om pakken 'dpkg-dev' er installeret.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Opbygningskommandoen '%s' fejlede.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Barneprocessen fejlede" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "Skal angive mindst én pakke at tjekke opbygningsafhængigheder for" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Kunne ikke hente oplysninger om opbygningsafhængigheder for %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s har ingen opbygningsafhængigheder.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"%s-afhængigheden for %s kan ikke opfyldes, da pakken %s ikke blev fundet" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1307,46 +1322,54 @@ msgid "" msgstr "" "%s-afhængigheden for %s kan ikke opfyldes, da pakken %s ikke blev fundet" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Kunne ikke opfylde %s-afhængigheden for %s: Den installerede pakke %s er for " +"ny" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s-afhængigheden for %s kan ikke opfyldes, da ingen af de tilgængelige " "udgaver af pakken %s kan tilfredsstille versions-kravene" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Kunne ikke opfylde %s-afhængigheden for %s: Den installerede pakke %s er for " -"ny" +"%s-afhængigheden for %s kan ikke opfyldes, da pakken %s ikke blev fundet" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Kunne ikke opfylde %s-afhængigheden for %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Opbygningsafhængigheden for %s kunne ikke opfyldes." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Kunne ikke behandler opbygningsafhængighederne" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Forbinder til %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Understøttede moduler:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1435,7 +1458,7 @@ msgstr "" "for flere oplysninger og tilvalg.\n" " Denne APT har \"Super Cow Powers\".\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1750,8 +1773,8 @@ msgstr "File %s/%s overskriver filen i pakken %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1783,7 +1806,7 @@ msgstr "Mapperne info og temp skal ligge i samme filsystem" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Indlæser pakkelisterne" @@ -2153,36 +2176,30 @@ msgstr "Der skete noget underligt under opløsning af '%s:%s' (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Kunne ikke forbinde til %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Ingen nøglering installeret i %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Intern fejl: Gyldig signatur, men kunne ikke afgøre nøgle-fingeraftryk?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Stødte pÃ¥ mindst én ugyldig signatur." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Kunne ikke køre 'gpgv' for at verificere signaturen (er gpgv installeret?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Ukendt fejl ved kørsel af gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Følgende signaturer var ugyldige:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2344,57 +2361,57 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Det valgte %s blev ikke fundet" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Ukendt type-forkortelse: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Ã…bner konfigurationsfilen %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaksfejl %s:%u: Blokken starter uden navn." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaksfejl %s:%u: Forkert udformet mærke" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaksfejl %s:%u: Overskydende affald efter værdien" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Syntaksfejl %s:%u: Direktiver kan kun angives i topniveauet" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaksfejl %s:%u: For mange sammenkædede inkluderinger" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaksfejl %s:%u: Inkluderet herfra" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaksfejl %s:%u: Ikke-understøttet direktiv '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "Syntaksfejl %s:%u: ryd direktiv kræver et tilvalgstræ som argument" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaksfejl %s:%u: Overskydende affald i slutningen af filen" @@ -2537,7 +2554,7 @@ msgstr "Underprocessen %s returnerede en fejlkode (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Underprocessen %s afsluttedes uventet" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Kunne ikke Ã¥bne filen %s" @@ -2764,7 +2781,7 @@ msgstr "Ugyldig linje %u i kildelisten %s (type)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Typen '%s' er ukendt pÃ¥ linje %u i kildelisten %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2773,7 +2790,7 @@ msgstr "" "Kunne ikke udføre øjeblikkelig konfiguration pÃ¥ '%s'. Se venligst man 5 apt." "conf under APT:Immediate-Cinfigure for detaljer. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2785,7 +2802,7 @@ msgstr "" "idé, men hvis du virkelig vil gøre det, kan du aktivere valget 'APT::Force-" "LoopBreak'." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2819,7 +2836,7 @@ msgid "Unable to correct problems, you have held broken packages." msgstr "" "Kunne ikke korrigere problemerne, da du har tilbageholdt ødelagte pakker." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2870,12 +2887,12 @@ msgstr "Metoden %s startede ikke korrekt" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Indsæt disken med navnet: '%s' i drevet '%s' og tryk retur." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Pakkesystemet '%s' understøttes ikke" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Kunne ikke bestemme en passende pakkesystemtype" @@ -2900,17 +2917,24 @@ msgstr "Du kan muligvis rette problemet ved at køre 'apt-get update'" msgid "The list of sources could not be read." msgstr "Listen med kilder kunne ikke læses." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Ugyldig indgang i indstillingsfilen %s, pakkehovedet mangler" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Kunne ikke forstÃ¥ pin-type %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Ingen prioritet (eller prioritet nul) angivet ved pin" @@ -3001,7 +3025,7 @@ msgstr "Kunne ikke finde kildepakkelisten %s" msgid "Collecting File Provides" msgstr "Samler filudbud" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "IO-fejl ved gemning af kilde-mellemlageret" @@ -3014,8 +3038,8 @@ msgstr "omdøbning mislykkedes, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5Sum stemmer ikke" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hashsum stemmer ikke" @@ -3036,20 +3060,19 @@ msgid "There is no public key available for the following key IDs:\n" msgstr "" "Der er ingen tilgængelige offentlige nøgler for følgende nøgle-ID'er:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Udgivelsesfil udløbet, ignorerer %s (ugyldig siden %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Konfliktdistribution: %s (forventede %s men fik %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3059,12 +3082,12 @@ msgstr "" "og den forrige indeksfil vil blive brugt. GPG-fejl: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "GPG-fejl: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3073,7 +3096,7 @@ msgstr "" "Jeg kunne ikke lokalisere filen til %s-pakken. Det betyder muligvis at du er " "nødt til manuelt at reparere denne pakke. (grundet manglende arch)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3082,13 +3105,13 @@ msgstr "" "Jeg kunne ikke lokalisere filen til %s-pakken. Det betyder muligvis at du er " "nødt til manuelt at reparere denne pakke." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "Pakkeindeksfilerne er i stykker. Intet 'Filename:'-felt for pakken %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Størrelsen stemmer ikke" @@ -3212,22 +3235,22 @@ msgstr "Skriver ny kildeliste\n" msgid "Source list entries for this disc are:\n" msgstr "Denne disk har følgende kildeliste-indgange:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Skrev %i poster.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Skrev %i poster med %i manglende filer.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Skrev %i poster med %i ikke-trufne filer\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "Skrev %i poster med %i manglende filer og %i ikke-trufne filer\n" @@ -3247,6 +3270,17 @@ msgstr "Kan ikke finde godkendelsesregistrering for: %s" msgid "Hash mismatch for: %s" msgstr "Hashsum stemmer ikke: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Ingen nøglering installeret i %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3496,3 +3530,6 @@ msgstr "Forbindelsen lukkedes for hurtigt" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Intern fejl, gruppe '%s' har ingen installationsbar pseudopakke" + +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Udgivelsesfil udløbet, ignorerer %s (ugyldig siden %s)" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-11-15 21:42+0100\n" "Last-Translator: Holger Wansing <linux@wansing-online.de>\n" "Language-Team: Debian German <debian-l10n-german@lists.debian.org>\n" @@ -157,7 +157,7 @@ msgstr " Versionstabelle:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s für %s, kompiliert am %s %s\n" @@ -855,7 +855,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "%s ist schon die neueste Version.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s wurde als manuell installiert festgelegt.\n" @@ -969,8 +969,8 @@ msgstr "Nach dieser Operation werden %sB Plattenplatz zusätzlich benutzt.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Nach dieser Operation werden %sB Plattenplatz freigegeben.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Freier Platz in %s konnte nicht bestimmt werden" @@ -1007,7 +1007,7 @@ msgstr "Abbruch." msgid "Do you want to continue [Y/n]? " msgstr "Möchten Sie fortfahren [J/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Fehlschlag beim Holen von %s %s\n" @@ -1016,7 +1016,7 @@ msgstr "Fehlschlag beim Holen von %s %s\n" msgid "Some files failed to download" msgstr "Einige Dateien konnten nicht heruntergeladen werden" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Herunterladen abgeschlossen; Nur-Herunterladen-Modus aktiv" @@ -1058,32 +1058,32 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Hinweis: Dies wird automatisch und absichtlich von dpkg durchgeführt." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Nicht verfügbare Veröffentlichung »%s« von Paket »%s« wird ignoriert" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Als Quellpaket wird »%s« statt »%s« gewählt\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Nicht verfügbare Version »%s« von Paket »%s« wird ignoriert" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Der Befehl »update« akzeptiert keine Argumente" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Es soll nichts gelöscht werden, AutoRemover kann nicht gestartet werden" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1102,16 +1102,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "" "Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Interner Fehler, AutoRemover hat etwas beschädigt" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1124,7 +1124,7 @@ msgstr[1] "" "Die folgenden Pakete wurden automatisch installiert und werden nicht mehr " "benötigt:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1134,19 +1134,19 @@ msgstr[0] "" msgstr[1] "" "%lu Pakete wurden automatisch installiert und werden nicht mehr benötigt.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Verwenden Sie »apt-get autoremove«, um sie zu entfernen." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Interner Fehler, AllUpgrade hat etwas beschädigt" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Probieren Sie »apt-get -f install«, um dies zu korrigieren:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1154,7 +1154,7 @@ msgstr "" "Unerfüllte Abhängigkeiten. Versuchen Sie »apt-get -f install« ohne Angabe " "eines Pakets (oder geben Sie eine Lösung an)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1166,75 +1166,75 @@ msgstr "" "Unstable-Distribution verwenden, dass einige erforderliche Pakete noch\n" "nicht erstellt wurden oder Incoming noch nicht verlassen haben." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Beschädigte Pakete" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Die folgenden zusätzlichen Pakete werden installiert:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Vorgeschlagene Pakete:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Empfohlene Pakete:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Paket %s konnte nicht gefunden werden" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s wurde als automatisch installiert festgelegt.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Paketaktualisierung (Upgrade) wird berechnet... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Fehlgeschlagen" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Fertig" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Interner Fehler, der Problemlöser hat etwas beschädigt" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Das Downloadverzeichnis konnte nicht gesperrt werden." -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "Es muss mindestens ein Paket angegeben werden, dessen Quellen geholt werden " "sollen" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Quellpaket für %s kann nicht gefunden werden" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1244,7 +1244,7 @@ msgstr "" "auf:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1256,81 +1256,97 @@ msgstr "" "um die neuesten (möglicherweise noch unveröffentlichten) Aktualisierungen\n" "für das Paket abzurufen.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Bereits heruntergeladene Datei »%s« wird übersprungen.\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Sie haben nicht genügend freien Speicherplatz in %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Es müssen noch %sB von %sB an Quellarchiven heruntergeladen werden.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Es müssen %sB an Quellarchiven heruntergeladen werden.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Quelle %s wird heruntergeladen.\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Einige Archive konnten nicht heruntergeladen werden." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Das Entpacken der bereits entpackten Quelle in %s wird übersprungen.\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Entpackbefehl »%s« fehlgeschlagen.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Ãœberprüfen Sie, ob das Paket »dpkg-dev« installiert ist.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Build-Befehl »%s« fehlgeschlagen.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Kindprozess fehlgeschlagen" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Es muss mindestens ein Paket angegeben werden, dessen Bauabhängigkeiten " "überprüft werden sollen." -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" "Informationen zu Bauabhängigkeiten für %s konnten nicht gefunden werden." -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s hat keine Bauabhängigkeiten.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"»%s«-Abhängigkeit für %s kann nicht erfüllt werden, da Paket %s nicht " +"gefunden werden kann." + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1339,46 +1355,55 @@ msgstr "" "»%s«-Abhängigkeit für %s kann nicht erfüllt werden, da Paket %s nicht " "gefunden werden kann." -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"»%s«-Abhängigkeit für %s kann nicht erfüllt werden: Installiertes Paket %s " +"ist zu neu." + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "»%s«-Abhängigkeit für %s kann nicht erfüllt werden, da keine verfügbare " "Version des Pakets %s die Versionsanforderungen erfüllen kann." -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"»%s«-Abhängigkeit für %s kann nicht erfüllt werden: Installiertes Paket %s " -"ist zu neu." +"»%s«-Abhängigkeit für %s kann nicht erfüllt werden, da Paket %s nicht " +"gefunden werden kann." -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "»%s«-Abhängigkeit für %s konnte nicht erfüllt werden: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Bauabhängigkeiten für %s konnten nicht erfüllt werden." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Verarbeitung der Bauabhängigkeiten fehlgeschlagen" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Verbindung mit %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Unterstützte Module:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1471,7 +1496,7 @@ msgstr "" "bezüglich weitergehender Informationen und Optionen.\n" " Dieses APT hat Super-Kuh-Kräfte.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1787,8 +1812,8 @@ msgstr "Durch die Datei %s/%s wird die Datei in Paket %s überschrieben" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1821,7 +1846,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Paketlisten werden gelesen" @@ -2197,38 +2222,32 @@ msgstr "Beim Auflösen von »%s:%s« ist etwas Schlimmes passiert (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Verbindung mit %s:%s nicht möglich:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Kein Schlüsselring in %s installiert." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Interner Fehler: Gültige Signatur, Fingerabdruck des Schlüssels konnte " "jedoch nicht ermittelt werden?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Mindestens eine ungültige Signatur wurde entdeckt." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "»gpgv« konnte zur Ãœberprüfung der Signatur nicht ausgeführt werden (ist gpgv " "installiert?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Unbekannter Fehler beim Ausführen von gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Die folgenden Signaturen waren ungültig:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2394,59 +2413,59 @@ msgstr "%li s" msgid "Selection %s not found" msgstr "Auswahl %s nicht gefunden" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Nicht erkannte Typabkürzung: »%c«" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Konfigurationsdatei %s wird geöffnet" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaxfehler %s:%u: Block beginnt ohne Namen." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaxfehler %s:%u: Missgestaltete Markierung" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaxfehler %s:%u: Zusätzlicher Unsinn nach Wert" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Syntaxfehler %s:%u: Direktiven können nur auf oberster Ebene benutzt werden" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaxfehler %s:%u: Zu viele verschachtelte Einbindungen (includes)" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaxfehler %s:%u: Eingefügt von hier" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaxfehler %s:%u: Nicht unterstützte Direktive »%s«" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Syntaxfehler %s:%u: Löschdirektiven benötigen einen Optionsbaum als Argument" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaxfehler %s:%u: Zusätzlicher Unsinn am Dateiende" @@ -2590,7 +2609,7 @@ msgstr "Unterprozess %s hat Fehlercode zurückgegeben (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Unterprozess %s unerwartet beendet" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Datei %s konnte nicht geöffnet werden" @@ -2821,7 +2840,7 @@ msgstr "Missgestaltete Zeile %u in Quellliste %s (»type«)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Typ »%s« in Zeile %u der Quellliste %s ist unbekannt" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2830,7 +2849,7 @@ msgstr "" "»%s« konnte nicht unmittelbar konfiguriert werden. Lesen Sie »man 5 apt." "conf« unter APT::Immediate-Configure bezüglich weiterer Details. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2842,7 +2861,7 @@ msgstr "" "ist oft schlimm, aber wenn Sie es wirklich tun wollen, aktivieren Sie bitte " "die Option APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2879,7 +2898,7 @@ msgstr "" "Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte " "Pakete." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2932,12 +2951,12 @@ msgstr "" "Bitte legen Sie das Medium mit dem Namen »%s« in Laufwerk »%s« ein und " "drücken Sie die Eingabetaste (Enter)." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Paketierungssystem »%s« wird nicht unterstützt" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Bestimmung eines passenden Paketierungssystemtyps nicht möglich" @@ -2966,18 +2985,25 @@ msgstr "Probieren Sie »apt-get update«, um diese Probleme zu korrigieren" msgid "The list of sources could not be read." msgstr "Die Liste der Quellen konnte nicht gelesen werden." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "Ungültiger Eintrag in Einstellungsdatei %s, keine »Package«-Kopfzeile(n)" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Pinning-Typ %s kann nicht interpretiert werden" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Keine Priorität (oder Null) für Pin angegeben" @@ -3075,7 +3101,7 @@ msgstr "»stat« konnte nicht auf die Liste %s der Quellpakete ausgeführt werde msgid "Collecting File Provides" msgstr "Sammeln der angebotenen Funktionalitäten (Provides) aus den Dateien" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "E/A-Fehler beim Speichern des Quell-Caches" @@ -3088,8 +3114,8 @@ msgstr "Umbenennen fehlgeschlagen, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5-Summe stimmt nicht überein" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hash-Summe stimmt nicht überein" @@ -3110,20 +3136,19 @@ msgid "There is no public key available for the following key IDs:\n" msgstr "" "Es gibt keine öffentlichen Schlüssel für die folgenden Schlüssel-IDs:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Release-Datei abgelaufen, %s wird ignoriert (ungültig seit %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Konflikt bei Distribution: %s (%s erwartet, aber %s bekommen)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3134,12 +3159,12 @@ msgstr "" "GPG-Fehler: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "GPG-Fehler: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3148,7 +3173,7 @@ msgstr "" "Es konnte keine Datei für Paket %s gefunden werden. Das könnte heißen, dass " "Sie dieses Paket von Hand korrigieren müssen (aufgrund fehlender Architektur)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3157,14 +3182,14 @@ msgstr "" "Es konnte keine Datei für Paket %s gefunden werden. Das könnte heißen, dass " "Sie dieses Paket von Hand korrigieren müssen." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "Die Paketindexdateien sind beschädigt: Kein Filename:-Feld für Paket %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Größe stimmt nicht überein" @@ -3288,22 +3313,22 @@ msgstr "Schreiben der neuen Quellliste\n" msgid "Source list entries for this disc are:\n" msgstr "Quelllisteneinträge für dieses Medium sind:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Es wurden %i Datensätze geschrieben.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Es wurden %i Datensätze mit %i fehlenden Dateien geschrieben.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Es wurden %i Datensätze mit %i nicht passenden Dateien geschrieben.\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3325,6 +3350,17 @@ msgstr "Authentifizierungs-Datensatz konnte nicht gefunden werden für: %s" msgid "Hash mismatch for: %s" msgstr "Hash-Summe stimmt nicht überein für: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Kein Schlüsselring in %s installiert." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3590,3 +3626,6 @@ msgstr "Verbindung vorzeitig beendet" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Interner Fehler, Gruppe »%s« hat kein installierbares Pseudo-Paket" + +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Release-Datei abgelaufen, %s wird ignoriert (ungültig seit %s)" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po.pot\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2006-09-19 09:49+0530\n" "Last-Translator: Kinley Tshering <gasepkuenden2k3@hotmail.com>\n" "Language-Team: Dzongkha <pgeyleg@dit.gov.bt>\n" @@ -161,7 +161,7 @@ msgstr "à½à½¼à½“་རིམ་à½à½²à½‚་à½à¾²à½˜à¼:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s་གི་དོན་ལུ་%s %sགུར་ཕྱོགས་སྒྲིག་འབད་ཡོད་པའི་%s %s\n" @@ -846,7 +846,7 @@ msgstr "%s ་ལོག་གཞི་བཙུགས་འབད་ནི་འmsgid "%s is already the newest version.\n" msgstr "%s ་འདི་ཧེ་མ་ལས་རང་འà½à½¼à½“་རིམ་གསར་ཤོས་ཅིག་ཨིནà¼\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "འདི་འབདà½à¼‹à½‘་%sའདི་གཞི་བཙུགས་འབད་ནི་ཨིནà¼" @@ -962,8 +962,8 @@ msgstr "à½à¼‹à½¦à¾à½¼à½„་གི་%sB་འདི་བཤུབ་པའི msgid "After this operation, %sB disk space will be freed.\n" msgstr "%sB་འདི་ཤུབ་པའི་ཤུལ་ལས་ཀྱི་བར་སྟོང་དེ་དལà½à¼‹à½¦à¾¦à½ºà¼‹à½£à½´à½¦à¼‹à½ ོང་à¼\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "%s་ནང་བར་སྟོང་" @@ -1000,7 +1000,7 @@ msgstr "བར་བཤོལ་འབདà¼" msgid "Do you want to continue [Y/n]? " msgstr "à½à¾±à½¼à½“་ཀྱི་འཕྲོ་མà½à½´à½‘་ནི་འབད་ནི་ཨིན་ན་[Y/n]?" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "%s %s་ ལེན་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼\n" @@ -1009,7 +1009,7 @@ msgstr "%s %s་ ལེན་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྠmsgid "Some files failed to download" msgstr "ཡིག་སྣོད་ལ་ལུ་ཅིག་ཕབ་ལེན་འབད་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "ཕབ་ལེན་à½à½–ས་ལམ་རà¾à¾±à½„མ་གཅིག་ནང་མཇུག་བསྡུà½à¼‹à½¦à¾¦à½ºà¼‹à½¢à½„་ཕབ་ལེན་འབདà¼" @@ -1047,31 +1047,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "འབྱུང་à½à½´à½„ས་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གྱི་à½à½¼à¼‹à½¡à½²à½‚་%s་དེ་ངོ་བཤུས་འབད་མ་ཚུགསà¼" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "དུས་མà½à½´à½“་བཟོ་བའི་བརྡ་བཀོད་འདི་གིས་སྒྲུབ་རྟགས་ཚུ་མི་འབག་འབདà¼" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1087,16 +1087,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "འོག་གི་བརྡ་དོན་དེ་གིས་དུས་སà¾à½–ས་འདི་མོས་མà½à½´à½“་བཟོ་ནི་ལུ་གྲོགས་རམ་འབད་འོང་:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "ནང་འà½à½¼à½‘་འཛོལ་བ་ དཀའ་ངལ་མོས་མà½à½´à½“་འབད་མི་ཅ་ཆས་ཚུ་མེདཔ་à½à½£à¼‹à½¡à½¼à½‘à¼" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1106,7 +1106,7 @@ msgid_plural "" msgstr[0] "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:" msgstr[1] "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1114,19 +1114,19 @@ msgid_plural "" msgstr[0] "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:" msgstr[1] "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིས་གསརཔ་འདི་ཚུ་à½à½žà½²à¼‹à½–ཙུགས་འབད་འོང་:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "ནང་འགོད་འཛོལ་བ་ ཡར་བསà¾à¾±à½ºà½‘་ཀྱི་ཅ་ཆས་ཆ་མཉམ་མེདཔ་à½à½£à¼‹à½¡à½¼à½‘à¼" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "འདི་ཚུ་ནོར་བཅོས་འབད་ནིའི་དོན་ལུ་à½à¾±à½¼à½‘་ཀྱི་'apt-get -f install'དེ་གཡོག་བཀོལ་དགོཔ་འོང་:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1134,7 +1134,7 @@ msgstr "" "མ་ཚང་བའི་རྟེན་འབྲེལ་ à½à½´à½¦à¼‹à½¦à¾’ྲིལ་མེད་མི་ཚུ་དང་གཅིག་à½à½¢à¼‹ 'apt-get -f install'དེ་འབà½à¼‹à½¢à¾©à½¼à½£à¼‹à½–སà¾à¾±à½ºà½‘པà¼" "(ཡང་ན་à½à½–ས་ཤེས་ཅིག་གསལ་བཀོད་འབདà¼)" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1145,80 +1145,80 @@ msgstr "" "འབད་འབདà½à¼‹à½ ོང་ནི་མས་ ཡང་ན་ད་ལྟོ་ཡང་གསར་བསà¾à¾²à½´à½“་མ་འབད་བར་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ལ་ལུ་ཅིག་ཡང་ན་ནང་" "འབྱོར་གྱི་ཕྱི་à½à½¢à¼‹à½¢à¾©à¼‹à½–སà¾à¾²à½‘་བà½à½„་ཡོད་པའི་རྩ་བརྟན་མེད་པའི་བགོ་འགྲེམ་ཚུ་ལག་ལེན་འà½à½–་དོ་ཡོདཔ་འོང་ནི་ཨིན་པསà¼" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "ཆད་པ་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུà¼" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "འོག་གི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་à½à½ºà½–ས་ཚུ་གཞི་བཙུགས་འབད་འོང་:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "བསམ་འཆར་བཀོད་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུ:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "འོས་སྦྱོར་འབད་ཡོད་པའི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཚུ:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "%s་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་འཚོལ་མ་à½à½¼à½–à¼" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "འདི་འབདà½à¼‹à½‘་%sའདི་གཞི་བཙུགས་འབད་ནི་ཨིནà¼" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "ཡར་བསà¾à¾±à½ºà½‘་རྩིས་བà½à½¼à½“་དོ་... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "འབད་ཚར་ཡིà¼" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "ནང་འà½à½¼à½‘་འཛོལ་བ་ དཀའ་ངལ་མོས་མà½à½´à½“་འབད་མི་ཅ་ཆས་ཚུ་མེདཔ་à½à½£à¼‹à½¡à½¼à½‘à¼" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "ཕབ་ལེན་འབད་ནིའི་སྣོད་ཡིག་འདི་ལྡེ་མིག་རà¾à¾±à½–ས་མ་ཚུགས་པསà¼" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "གི་དོན་ལུ་འབྱུང་à½à½´à½„ས་ལེན་ནི་ལུ་ཉུང་མà½à½ ་རང་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གཅིག་ལེན་དགོ" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "%s་གི་དོན་ལུ་འབྱུང་à½à½´à½„ས་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཅིག་འཚོལ་མ་འà½à½¼à½–" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1226,124 +1226,145 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "གོམ་འགྱོ་གིས་ཧེ་མ་ལས་རང་'%s'་ཡིག་སྣོད་དེ་ཕབ་ལེན་འབད་ནུག\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr " %s་ནང་à½à¾±à½¼à½‘་ལུ་བར་སྟོང་ཚུ་ལངམ་སྦེ་མིན་འདུག་" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "%sB་ལེན་དགོཔ་འདུག་ འབྱུང་à½à½´à½„ས་ཡིག་མཛོད་ཀྱི་%sBà¼\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "འབྱུང་à½à½´à½„ས་ཡིག་མཛོད་ཚུ་ཀྱི་%sB་ལེན་དགོ་པསསà¼\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "%s་འབྱུང་à½à½´à½„ས་ལེནà¼\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "ཡིག་མཛོད་ལ་ལུ་ཅིག་ལེན་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "%s་ནང་ཧེ་མ་ལས་སྦུང་ཚན་བཟོ་བཤོལ་ཨིན་མའི་སྦུང་ཚན་བཟོ་བཤོལ་གོམ་འགྱོ་འབད་དོà¼\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "'%s'སྦུང་ཚན་བཟོ་བཤོལ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "'dpkg-dev'་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་དེ་གཞི་བཙུགས་འབད་ཡོད་པ་ཅིན་ཨེབ་གà½à½„་འབདà¼\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "'%s'་བཟོ་བརྩིགས་བརྡ་བཀོད་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདà¼\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "ཆ་ལག་ལས་སྦྱོར་དེ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ནུག" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "builddeps ཞིབ་དཔྱད་འབད་ནིའི་དོན་ལུ་ཉུང་མà½à½ ་རང་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གཅིག་གསལ་བཀོད་འབད་དགོ" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "%s་གི་དོན་ལུ་བཟོ་བརྩིགས་-རྟེན་འབྲེལ་བརྡ་དོན་དེ་ལེན་མ་ཚུགསà¼" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s ལུ་བཟོ་བརྩིགས་རྟེན་འབྲེལ་མིན་འདུག\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "%sà½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་འà½à½¼à½–་མ་ཚུགསཔ་ལས་བརྟེན་ %sགི་དོན་ལུ་%s རྟེན་འབྲེལ་དེ་ངལ་རང་མ་ཚུགས་པསà¼" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "%sà½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་འà½à½¼à½–་མ་ཚུགསཔ་ལས་བརྟེན་ %sགི་དོན་ལུ་%s རྟེན་འབྲེལ་དེ་ངལ་རང་མ་ཚུགས་པསà¼" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"%s:གི་དོན་ལུ་%s་རྟེན་འབྲེལ་དེ་གི་རེ་བ་སà¾à½¼à½„་ནི་འདི་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ཨིན་ གཞི་བཙུགས་འབད་ཡོད་པའི་à½à½´à½˜à¼‹" +"སྒྲིལ་%s་དེ་གནམ་མེད་ས་མེད་གསརཔ་ཨིན་པསà¼" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s གི་དོན་ལུ་%s་རྟེན་འབྲེལ་འདི་གི་རེ་བ་སà¾à½¼à½„་མི་ཚུགས་ནུག་ག་ཅི་འབད་ཟེར་བ་ཅིན་à½à½´à½˜à¼‹à½¦à¾’རིལ་%s་གི་འà½à½¼à½“་རིམ་" "ཚུ་འà½à½¼à½–་མ་ཚུགསཔ་ལས་བརྟེན་འà½à½¼à½“་རིམ་དགོས་མà½à½¼à¼‹à½šà½´à¼‹à½‚ི་རེ་བ་དོ་སà¾à½¼à½„་མ་ཚུགས་པསà¼" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "" -"%s:གི་དོན་ལུ་%s་རྟེན་འབྲེལ་དེ་གི་རེ་བ་སà¾à½¼à½„་ནི་འདི་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ཨིན་ གཞི་བཙུགས་འབད་ཡོད་པའི་à½à½´à½˜à¼‹" -"སྒྲིལ་%s་དེ་གནམ་མེད་ས་མེད་གསརཔ་ཨིན་པསà¼" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "%sà½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་འà½à½¼à½–་མ་ཚུགསཔ་ལས་བརྟེན་ %sགི་དོན་ལུ་%s རྟེན་འབྲེལ་དེ་ངལ་རང་མ་ཚུགས་པསà¼" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "%s: %s་གི་དོན་ལུ་་%s་རྟེན་འབྲེལ་འདི་ངལ་རངས་འབད་ནི་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ནུག" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr " %s་གི་དོན་ལུ་བཟོ་བརྩིགས་-རྟེན་འབྲེལ་འདི་ངལ་རངས་མ་ཚུགས་པསà¼" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "བཟོ་བརྩིགས་རྟེན་འབྲེལ་འདི་ལས་སྦྱོར་འབད་ནི་ལུ་འà½à½´à½¦à¼‹à½¤à½¼à½¢à¼‹à½–ྱུང་ཡོདཔ་ཨིནà¼" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "%s (%s)་ལུ་མà½à½´à½‘་དོà¼" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "རྒྱབ་སà¾à¾±à½¼à½¢à¼‹à½ བད་ཡོད་པའི་ཚད་གཞི་ཚུ:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1432,7 +1453,7 @@ msgstr "" "ཤོག་ལེབ་ཚུ་ལུ་བལྟà¼\n" " འ་ནི་ ཨེ་ཊི་པི་འདི་ལུ་ཡང་དག་ ཀའུ་ ནུས་ཤུགས་ཚུ་ཡོདà¼\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1746,8 +1767,8 @@ msgstr "à½à½´à½˜à¼‹à½¦à¾’ྲིལ་%s་ནང་ལུ་་ཡིག་སà #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1779,7 +1800,7 @@ msgstr "info ་དང་ temp་སྣོད་à½à½¼à¼‹à½šà½´à¼‹à½¡à½²à½‚་འ#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "à½à½´à½˜à¼‹à½¦à¾’ྲིལ་à½à½¼à¼‹à½¡à½²à½‚་ཚུ་ལྷག་དོà¼" @@ -2147,38 +2168,32 @@ msgstr "'%s:%s' (%i)་མོས་མà½à½´à½“་འབདà½à¼‹à½‘་ངན་ msgid "Unable to connect to %s:%s:" msgstr "%s %s:ལུ་མà½à½´à½‘་མ་ཚུགསà¼" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "གཞི་བཙུགས་བར་བཤོལ་འབད་དོà¼" - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "ནང་འà½à½¼à½‘་འཛོལ་བ: མིང་རྟགས་འདི་ལེགས་ཤོམ་ཅིག་འདུག་ འདི་འབདà½à¼‹à½‘་མཛུབ་རྗེས་ལྡེ་མིག་དེ་གà½à½“་འབེབས་བཟོ་" "མ་ཚུགས?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "ཉུང་མà½à½ ་རང་ནུས་མེད་ཀྱི་མིང་རྟགས་ཅིག་གདོང་à½à½´à½‚་བྱུང་སྟེ་ཡོདཔ་ཨིནà¼" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "མིང་རྟགས་བདེན་སྦྱོར་འབད་ནི་ལུ་'%s'འདི་ལག་ལེན་འà½à½–་མ་ཚུགས༠(gpgv་དེ་à½à½žà½²à¼‹à½–ཙུགས་འབད་ཡོདཔ་ཨིན་ནà¼?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "gpgv་ལག་ལེན་འà½à½–་ནི་ལུ་མ་ཤེས་པའི་འཛོལ་བ་à¼" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "འོག་གི་མིང་རྟགས་ཚུ་ནུས་མེད་ཨིན་པསà¼:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2335,57 +2350,57 @@ msgstr "" msgid "Selection %s not found" msgstr "སེལ་འà½à½´à¼‹%s ་མ་འà½à½¼à½–à¼" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "ངོ་མ་ཤེས་པའི་སྡུད་ཚིག་གི་དབྱེ་བ:'%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "རིམ་སྒྲིག་ཡིག་སྣོད་%s་འདི་à½à¼‹à½•à¾±à½ºà¼‹à½‘ོà¼" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "་ཚིག་སྦྱོར་འཛོལ་བ་%s:%u: སྡེབ་ཚན་གྱིས་མིང་མེད་མི་དང་གཅིག་à½à½¢à¼‹à½ གོ་བཙུགསཔ་ཨིན" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:བཟོ་ཉེས་འགྱུར་བའི་ངོ་རྟགསà¼" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:གནས་གོང་གི་ཤུལ་ལས་མà½à½¼à¼‹à½˜à½ºà½‘་à½à½ºà½–སà¼" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:བཀོད་རྒྱ་ཚུ་ཆེ་རིམ་ནང་རà¾à¾±à½„མ་ཅིག་བྱིན་ཚུགསà¼" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:འདུ་འཛོམས་འབད་འབདà½à¼‹à½£à½ºà¼‹à½¤à½±à¼‹à½‚ྲངས་སུ་བཙུགསཔ་ཨིནà¼" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u: ནཱ་ལས་རང་འགོ་བཙུགས་གྲངས་སུ་བཙུགས་à½à½ºà¼‹à½¡à½¼à½‘à¼" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u: རྒྱབ་སà¾à¾±à½¼à½¢à¼‹à½˜à¼‹à½ བད་བར་ཡོད་པའི་'%s'བཀོད་རྒྱà¼" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u:བཀོད་རྒྱ་ཚུ་ཆེ་རིམ་ནང་རà¾à¾±à½„མ་ཅིག་བྱིན་ཚུགསà¼" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "ཚིག་སྦྱོར་འཛོལ་བ་%s:%u: ཡིག་སྣོད་ཀྱི་མཇུག་ལུ་མà½à½¼à¼‹à½˜à½ºà½‘་à½à½ºà½–སà¼" @@ -2529,7 +2544,7 @@ msgstr "ཡན་ལག་ལས་སྦྱོར་%s་གིས་འཛོà msgid "Sub-process %s exited unexpectedly" msgstr "ཡན་ལག་ལས་སྦྱོར་་%s་གིས་རེ་བ་མེད་པར་ཕྱིར་à½à½¼à½“་ཡོདཔ་ཨིནà¼" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "%s་ཡིག་སྣོད་འདི་à½à¼‹à½•à¾±à½ºà¼‹à½˜à¼‹à½šà½´à½‚སà¼" @@ -2757,14 +2772,14 @@ msgstr "བཟོ་ཉེས་འགྱུར་བའི་གྲལ་à½à½² msgid "Type '%s' is not known on line %u in source list %s" msgstr "དབྱེ་བ་'%s'་འདི་གྲལ་à½à½²à½‚་%u་གུར་ལུ་ཡོདཔ་འབྱུང་à½à½´à½„ས་à½à½¼à¼‹à½¡à½²à½‚་%s་གི་ནང་ན་མ་ཤེས་པསà¼" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2776,7 +2791,7 @@ msgstr "" "འདི་འབདà½à¼‹à½‘་à½à¾±à½¼à½‘་ཀྱི་à½à½‘་རི་འབའ་རི་འབད་དགོཔ་ཨིན་པ་ཅིན་ APT::Force-LoopBreak གདམ་à½à¼‹à½ དི་ཤུགས་" "ལྡན་བཟོà¼" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2808,7 +2823,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "དཀའ་ངལ་འདི་ནོར་བཅོས་འབད་མ་ཚུགས་ à½à¾±à½¼à½‘་ཀྱི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཆད་པ་ཚུ་འཆང་འདི་འདུག" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2859,12 +2874,12 @@ msgstr "à½à½–ས་ལམ་ %s འདི་ངེས་བདེན་སྦའmsgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "à½à¼‹à½¡à½²à½‚་བཀོད་ཡོད་པའི་ ཌིསི་འདི་བཙུགས་གནང་༠'%s'འདྲེན་འཕྲུལ་ནང་'%s' དང་ལོག་ལྡེ་འདི་ཨེབà¼à¼‹" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "སྦུང་ཚན་བཟོ་ནིའི་རིམ་ལུགས་ '%s' འདི་ལུ་རྒྱབ་སà¾à¾±à½¼à½¢à¼‹à½˜à¼‹à½ བད་བསà¼" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "འོས་འབབ་དང་ལྡན་པའི་སྦུང་ཚན་རིམ་ལུགས་ཀྱི་དབྱེ་བ་ཅིག་གà½à½“་འབེབས་བཟོ་མི་ཚུགས་པསà¼" @@ -2890,17 +2905,24 @@ msgstr "འ་ནི་དཀའ་ངལ་འདི་ཚུ་སེལ་ན msgid "The list of sources could not be read." msgstr "འབྱུང་à½à½´à½„ས་ཚུ་ཀྱི་à½à½¼à¼‹à½¡à½²à½‚་དེ་ལྷག་མི་ཚུགས་པསà¼" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "དགའ་གདམ་ཡིག་སྣོད་ནང་ལུ་ནུས་མེད་ཀྱི་དྲན་à½à½¼à¼‹ à½à½´à½˜à¼‹à½¦à¾’ྲིལ་མགོ་ཡིག་མིན་འདུག" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "ངོ་རྟགས་ཨང་གི་དབྱེ་བ་ %s འདི་ཧ་གོ་མ་ཚུགསà¼" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "གོ་རྟགས་ཨང་གི་དོན་ལུ་ གཙོ་རིམ་(ཡང་ན་ ཀླད་ཀོར་)ཚུ་གསལ་བཀོད་མ་འབད་བསà¼" @@ -2990,7 +3012,7 @@ msgstr "འབྱུང་à½à½´à½„ས་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གྱི msgid "Collecting File Provides" msgstr "ཡིག་སྣོད་བྱིན་མི་ཚུ་བསྡུ་ལེན་འབད་དོà¼" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "IO འཛོལ་བ་འབྱུང་à½à½´à½„ས་འདྲ་མཛོད་སྲུང་བཞག་འབད་དོà¼" @@ -3003,8 +3025,8 @@ msgstr "%s (%s -> %s)བསà¾à¾±à½¢à¼‹à½˜à½²à½„་བà½à½‚ས་ནི་འའmsgid "MD5Sum mismatch" msgstr "ཨེམ་ཌི་༥་ à½à¾±à½¼à½“་བསྡོམས་མ་མà½à½´à½“་པà¼" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 #, fuzzy msgid "Hash Sum mismatch" msgstr "ཨེམ་ཌི་༥་ à½à¾±à½¼à½“་བསྡོམས་མ་མà½à½´à½“་པà¼" @@ -3025,20 +3047,19 @@ msgstr "%s (༡་)་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ཡིག་སྣོད་à msgid "There is no public key available for the following key IDs:\n" msgstr "འོག་གི་ ཨའི་ཌི་་ ལྡེ་མིག་ཚུ་གི་དོན་ལུ་མི་དམང་གི་ལྡེ་མིག་འདི་འà½à½¼à½–་མི་ཚུགས་པས:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3046,12 +3067,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3060,7 +3081,7 @@ msgstr "" " %s་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གི་དོན་ལུ་ང་་གི་ཡིག་སྣོད་ཅིག་ག་ཡོད་འཚོལ་མི་འà½à½¼à½–་པས༠འདི་འབདà½à¼‹à½£à½¦à¼‹à½à¾±à½¼à½‘་ཀྱི་ལག་à½à½¼à½‚་ལས་ " "འ་ནི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་གི་དཀའ་ངལ་སེལ་དགོཔ་འདུག (arch འདི་བྱིག་སོངམ་ལས་བརྟེནà¼)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3069,14 +3090,14 @@ msgstr "" " %s་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གི་དོན་ལུ་ང་་གི་ཡིག་སྣོད་ཅིག་ག་ཡོད་འཚོལ་མི་འà½à½¼à½–་པས༠འདི་འབདà½à¼‹à½£à½¦à¼‹à½à¾±à½¼à½‘་ཀྱི་ལག་à½à½¼à½‚་ལས་ " "འ་ནི་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་འདི་གི་དཀའ་ངལ་སེལ་དགོཔ་འདུག " -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "à½à½´à½˜à¼‹à½¦à¾’ྲིལ་ ཟུར་à½à½¼à¼‹à½¡à½²à½‚་སྣོད་ཚུ་ངན་ཅན་འགྱོ་ནུག ཡིག་སྣོད་ཀྱི་མིང་མིན་འདུག: %s་à½à½´à½˜à¼‹à½¦à¾’ྲིལ་གྱི་དོན་ལུ་ས་སྒོà¼" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "ཚད་མ་མà½à½´à½“à¼" @@ -3197,22 +3218,22 @@ msgstr "འབྱུང་à½à½´à½„ས་ཀྱི་à½à½¼à¼‹à½¡à½²à½‚་གས msgid "Source list entries for this disc are:\n" msgstr "འ་ནི་ ཌིསིཀ་གི་དོན་ལུ་ འབྱུང་à½à½´à½„ས་ཧྲིལ་བུ་ཚུ་:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i་དྲན་མà½à½¼à¼‹à½‘ེ་ཚུ་བྲིས་ཡོདà¼\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i བྱིག་འགྱོ་ཡོད་པའི་ཡིག་སྣོད་ཚུ་དང་གཅིག་à½à½¢à¼‹ %i དྲན་à½à½¼à¼‹à½ དི་ཚུ་བྲིས་ཡོདà¼\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i་མà½à½´à½“་སྒྲིག་མེདཔ་པའི་ཡིག་སྣོད་ཚུ་དང་གཅིག་à½à½¢à¼‹ %i་དྲན་à½à½¼à¼‹à½šà½´à¼‹à½–ྲིས་བཞག་ཡོདཔ་ཨིནà¼\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3234,6 +3255,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "ཨེམ་ཌི་༥་ à½à¾±à½¼à½“་བསྡོམས་མ་མà½à½´à½“་པà¼" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "གཞི་བཙུགས་བར་བཤོལ་འབད་དོà¼" + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po_el\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-08-26 18:25+0300\n" "Last-Translator: quad-nrg.net <yodesy@quad-nrg.net>\n" "Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n" @@ -167,7 +167,7 @@ msgstr " Πίνακας Έκδοσης:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s για %s είναι μεταγλωττισμÎνο σε %s %s\n" @@ -855,7 +855,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "το %s είναι ήδη η τελευταία Îκδοση.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "το %s Îχει εγκατασταθεί με το χÎÏι\n" @@ -973,8 +973,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Μετά από αυτή τη λειτουÏγία, θα ελευθεÏωθοÏν %sB χώÏου από το δίσκο.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Δεν μπόÏεσα να Ï€ÏοσδιοÏίσω τον ελεÏθεÏο χώÏο στο %s" @@ -1011,7 +1011,7 @@ msgstr "Εγκατάλειψη." msgid "Do you want to continue [Y/n]? " msgstr "ΘÎλετε να συνεχίσετε [Î/ο]; " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Αποτυχία ανάκτησης του %s %s\n" @@ -1020,7 +1020,7 @@ msgstr "Αποτυχία ανάκτησης του %s %s\n" msgid "Some files failed to download" msgstr "Για μεÏικά αÏχεία απÎτυχε η μεταφόÏτωση" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "ΟλοκληÏώθηκε η μεταφόÏτωση μόνο" @@ -1059,32 +1059,32 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "ΑδÏνατη η εÏÏεση της κατάστασης της λίστας πηγαίων πακÎτων %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Η εντολή update δεν παίÏνει οÏίσματα" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Δεν επιτÏÎπεται οποιαδήποτε διαγÏαφή· αδυναμία εκκίνησης του AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1102,15 +1102,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Οι ακόλουθες πληÏοφοÏίες ίσως βοηθήσουν στην επίλυση του Ï€Ïοβλήματος:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "ΕσωτεÏικό Σφάλμα, το AutoRemover δημιοÏÏγησε κάποιο Ï€Ïόβλημα" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1122,7 +1122,7 @@ msgstr[0] "" msgstr[1] "" "Τα ακόλουθα πακÎτα εγκαταστάθηκαν αυτόματα και δεν χÏειάζονται πλÎον:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1132,19 +1132,19 @@ msgstr[0] "" msgstr[1] "" "Τα ακόλουθα πακÎτα εγκαταστάθηκαν αυτόματα και δεν χÏειάζονται πλÎον:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "ΧÏησιμοποιήστε 'apt-get autoremove' για να τα διαγÏάψετε." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "ΕσωτεÏικό Σφάλμα, η διαδικασία αναβάθμισης χάλασε" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Aν Ï„ÏÎξετε 'apt-get -f install' ίσως να διοÏθώσετε αυτά τα Ï€Ïοβλήματα:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1152,7 +1152,7 @@ msgstr "" "Ανεπίλυτες εξαÏτήσεις. Δοκιμάστε 'apt-get -f install' χωÏίς να οÏίσετε " "πακÎτο (ή καθοÏίστε μια λÏση)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1164,84 +1164,84 @@ msgstr "" "διανομή, ότι μεÏικά από τα πακÎτα δεν Îχουν ακόμα δημιουÏγηθεί ή Îχουν\n" "μετακινηθεί από τα εισεÏχόμενα." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "ΧαλασμÎνα πακÎτα" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Τα ακόλουθα επιπλÎον πακÎτα θα εγκατασταθοÏν:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Î Ïοτεινόμενα πακÎτα:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Συνιστώμενα πακÎτα:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "ΑδÏνατη η εÏÏεση του πακÎτου %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "το %s Îχει εγκατασταθεί με το χÎÏι\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Υπολογισμός της αναβάθμισης... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "ΑπÎτυχε" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Ετοιμο" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "" "ΕσωτεÏικό Σφάλμα, η Ï€Ïοσπάθεια επίλυσης του Ï€Ïοβλήματος \"Îσπασε\" κάποιο " "υλικό" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "ΑδÏνατο το κλείδωμα του καταλόγου μεταφόÏτωσης" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "Θα Ï€ÏÎπει να καθοÏίσετε τουλάχιστον Îνα πακÎτο για να μεταφοÏτώσετε τον " "κωδικάτου" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Αδυναμία ÎµÎ½Ï„Î¿Ï€Î¹ÏƒÎ¼Î¿Ï Ï„Î¿Ï… κώδικά του πακÎτου %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1249,79 +1249,94 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "ΠαÏάκαμψη του ήδη μεταφοÏτωμÎνου αÏχείου `%s`\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Δεν διαθÎτετε αÏκετό ελεÏθεÏο χώÏο στο %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "ΧÏειάζεται να μεταφοÏτωθοÏν %sB/%sB πηγαίου κώδικα.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "ΧÏειάζεται να μεταφοÏτωθοÏν %sB πηγαίου κώδικα.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "ΜεταφόÏτωση Κωδικα %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Αποτυχία μεταφόÏτωσης μεÏικών αÏχειοθηκών." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "ΠαÏάκαμψη της αποσυμπίεσης ήδη μεταφοÏτωμÎνου κώδικα στο %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "ΑπÎτυχε η εντολή αποσυμπίεσης %s\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "ΕλÎγξτε αν είναι εγκαταστημÎνο το πακÎτο 'dpkg-dev'.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "ΑπÎτυχε η εντολή χτισίματος %s.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Η απογονική διεÏγασία απÎτυχε" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Θα Ï€ÏÎπει να καθοÏίσετε τουλάχιστον Îνα πακÎτο για Îλεγχο των εξαÏτήσεων του" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "ΑδÏνατη η εÏÏεση πληÏοφοÏιών χτισίματος για το %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "το %s δεν Îχει εξαÏτήσεις χτισίματος.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"%s εξαÏτήσεις για το %s δεν ικανοποιοÏνται επειδή το πακÎτο %s δεν βÏÎθηκε" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1329,46 +1344,54 @@ msgid "" msgstr "" "%s εξαÏτήσεις για το %s δεν ικανοποιοÏνται επειδή το πακÎτο %s δεν βÏÎθηκε" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Αποτυχία ικανοποίησης %s εξαÏτήσεων για το %s: Το εγκατεστημÎνο πακÎτο %s " +"είναι νεώτεÏο" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s εξαÏτήσεις για το %s δεν ικανοποιοÏνται επειδή δεν υπάÏχουν διαθÎσιμες " "εκδόσεις του πακÎτου %s που να ικανοποιοÏν τις απαιτήσεις Îκδοσης" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Αποτυχία ικανοποίησης %s εξαÏτήσεων για το %s: Το εγκατεστημÎνο πακÎτο %s " -"είναι νεώτεÏο" +"%s εξαÏτήσεις για το %s δεν ικανοποιοÏνται επειδή το πακÎτο %s δεν βÏÎθηκε" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Αποτυχία ικανοποίησης %s εξάÏτησης για το %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Οι εξαÏτήσεις χτισίματος για το %s δεν ικανοποιοÏνται." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Αποτυχία επεξεÏγασίας εξαÏτήσεων χτισίματος" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "ΣÏνδεση στο %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "ΥποστηÏιζόμενοι Οδηγοί:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1453,7 +1476,7 @@ msgstr "" "για πεÏισσότεÏες πληÏοφοÏίες και επιλογÎÏ‚.\n" " This APT has Super Cow Powers.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1766,8 +1789,8 @@ msgstr "Το αÏχείο %s/%s αντικαθιστά αυτό στο πακÎÏ #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1799,7 +1822,7 @@ msgstr "Οι φάκελοι info και temp Ï€ÏÎπει να βÏίσκοντΠ#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Ανάγνωση Λιστών ΠακÎτων" @@ -2168,39 +2191,33 @@ msgstr "Κάτι παÏάξενο συνÎβη κατά την εÏÏεση το msgid "Unable to connect to %s:%s:" msgstr "ΑδÏνατη η σÏνδεση στο %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Εγκατάλειψη της εγκατάστασης." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "ΕσωτεÏικό σφάλμα: Η υπογÏαφή είναι καλή, αλλά αδυναμία Ï€ÏοσδιοÏÎ¹ÏƒÎ¼Î¿Ï Ï„Î¿Ï… " "αποτυπώματος?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Î’ÏÎθηκε τουλάχιστον μια μη ÎγκυÏη υπογÏαφή." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Αδυναμία εκτÎλεσης του '%s' για την επαλήθευση της υπογÏαφής (είναι " "εγκατεστημÎνο το gpgv;)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Άγνωστο σφάλμα κατά την εκτÎλεση του gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Οι παÏακάτω υπογÏαφÎÏ‚ ήταν μη ÎγκυÏες:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2359,59 +2376,59 @@ msgstr "" msgid "Selection %s not found" msgstr "Η επιλογή %s δε βÏÎθηκε" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Μη αναγνωÏισμÎνος Ï„Ïπος σÏντμησης: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Άνοιγμα του αÏχείου Ïυθμίσεων %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Συντακτικό σφάλμα %s:%u: Το block αÏχίζει χωÏίς όνομα." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Συντακτικό σφάλμα %s:%u: Λάθος μοÏφή ΕτικÎτας (Tag)" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Συντακτικό σφάλμα %s:%u: ΆχÏηστοι χαÏακτήÏες μετά την τιμή" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Συντακτικό σφάλμα %s:%u: Οι οδηγίες βÏίσκονται μόνο στο ανώτατο επίπεδο" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Συντακτικό σφάλμα %s:%u: ΥπεÏβολικός αÏιθμός συνδυασμÎνων includes" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Συντακτικό σφάλμα %s:%u: ΣυμπεÏιλαμβάνεται από εδώ" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Συντακτικό σφάλμα %s:%u: Μη υποστηÏιζόμενη εντολή '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Συντακτικό σφάλμα %s:%u: Οι οδηγίες βÏίσκονται μόνο στο ανώτατο επίπεδο" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Συντακτικό σφάλμα %s:%u: ΆχÏηστοι χαÏακτήÏες στο Ï„Îλος του αÏχείου" @@ -2558,7 +2575,7 @@ msgstr "Η υποδιεÏγασία %s επÎστÏεψε Îνα κωδικός msgid "Sub-process %s exited unexpectedly" msgstr "Η υποδιεÏγασία %s εγκατÎλειψε απÏόσμενα" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "ΑδÏνατο το άνοιγμα του αÏχείου %s" @@ -2785,14 +2802,14 @@ msgstr "Λάθος μοÏφή της γÏαμμής %u στη λίστα Ï€Î·Î³Ï msgid "Type '%s' is not known on line %u in source list %s" msgstr "Ο Ï„Ïπος '%s' στη γÏαμμή %u στη λίστα πηγών %s είναι άγνωστος " -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2804,7 +2821,7 @@ msgstr "" "είναι καλό, αλλά εάν Ï€Ïαγματικά θÎλετε να συνεχίσετε ενεÏγοποιήστε την " "επιλογή APT::Force-LoopBreak option." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2836,7 +2853,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "ΑδÏνατη η διόÏθωση Ï€Ïοβλημάτων, Îχετε κÏατοÏμενα ελαττωματικά πακÎτα." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2889,12 +2906,12 @@ msgstr "" "ΠαÏακαλώ εισάγετε το δίσκο με ετικÎτα '%s' στη συσκευή '%s' και πατήστε " "enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Το σÏστημα συσκευασίας '%s' δεν υποστηÏίζεται" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "ΑδÏνατος ο καθοÏισμός ενός κατάλληλου Ï„Ïπου συστήματος πακÎτων" @@ -2921,17 +2938,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "ΑδÏνατη η ανάγνωση της λίστας πηγών." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Μη ÎγκυÏη εγγÏαφή στο αÏχείο Ï€Ïοτιμήσεων, καμία επικεφαλίδα Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "ΑδÏνατη η κατανόηση του Ï„Ïπου καθήλωσης %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "" "Δεν Îχει οÏιστεί Ï€ÏοτεÏαιότητα (ή Îχει οÏιστεί μηδενική) για την καθήλωση" @@ -3025,7 +3049,7 @@ msgstr "ΑδÏνατη η εÏÏεση της κατάστασης της λίσ msgid "Collecting File Provides" msgstr "Συλλογή ΠαÏοχών ΑÏχείου" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Σφάλμα IO κατά την αποθήκευση της cache πηγών" @@ -3038,8 +3062,8 @@ msgstr "απÎτυχε η μετονομασία, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Ανόμοιο MD5Sum" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Ανόμοιο MD5Sum" @@ -3059,20 +3083,19 @@ msgstr "ΑδÏνατη η ανάλυση του αÏχείου πακÎτου %s msgid "There is no public key available for the following key IDs:\n" msgstr "Δεν υπάÏχει διαθÎσιμο δημόσιο κλειδί για τα ακολουθα κλειδιά:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3080,12 +3103,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3094,7 +3117,7 @@ msgstr "" "ΑδÏνατος ο εντοπισμός ενός αÏχείου για το πακÎτο %s. Αυτό ίσως σημαίνει ότι " "χÏειάζεται να διοÏθώσετε χειÏοκίνητα το πακÎτο. (λόγω χαμÎνου αÏχείου)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3103,7 +3126,7 @@ msgstr "" "ΑδÏνατος ο εντοπισμός ενός αÏχείου για το πακÎτο %s. Αυτό ίσως σημαίνει ότι " "χÏειάζεται να διοÏθώσετε χειÏοκίνητα το πακÎτο." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3111,7 +3134,7 @@ msgstr "" "ΚατεστÏαμμÎνα αÏχεία ευÏετηÏίου πακÎτων. Δεν υπάÏχει πεδίο Filename: στο " "πακÎτο %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Ανόμοιο μÎγεθος" @@ -3233,22 +3256,22 @@ msgstr "EγγÏαφή νÎας λίστας πηγών\n" msgid "Source list entries for this disc are:\n" msgstr "Οι κατάλογοι με τις πηγÎÏ‚ Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… δίσκου είναι: \n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Εγιναν %i εγγÏαφÎÏ‚.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Εγιναν %i εγγÏαφÎÏ‚ με %i απώντα αÏχεία.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Εγιναν %i εγγÏαφÎÏ‚ με %i ασÏμβατα αÏχεία.\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "Εγιναν %i εγγÏαφÎÏ‚ με %i απώντα αÏχεία και %i ασÏμβατα αÏχεία\n" @@ -3268,6 +3291,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Ανόμοιο MD5Sum" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Εγκατάλειψη της εγκατάστασης." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -33,7 +33,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2011-01-24 11:47+0100\n" "Last-Translator: Javier Fernández-Sanguino Peña <jfs@debian.org>\n" "Language-Team: Debian Spanish <debian-l10n-spanish@lists.debian.org>\n" @@ -211,7 +211,7 @@ msgstr " Tabla de versión:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s para %s compilado en %s %s\n" @@ -898,7 +898,7 @@ msgstr "No es posible reinstalar el paquete %s, no se puede descargar.\n" msgid "%s is already the newest version.\n" msgstr "%s ya está en su versión más reciente.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "fijado %s como instalado manualmente.\n" @@ -1015,8 +1015,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Se liberarán %sB después de esta operación.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "No pude determinar el espacio libre en %s" @@ -1053,7 +1053,7 @@ msgstr "Abortado." msgid "Do you want to continue [Y/n]? " msgstr "¿Desea continuar [S/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Imposible obtener %s %s\n" @@ -1062,7 +1062,7 @@ msgstr "Imposible obtener %s %s\n" msgid "Some files failed to download" msgstr "No se pudieron descargar algunos archivos" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Descarga completa y en modo de sólo descarga" @@ -1104,32 +1104,32 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Nota: Dpkg realiza esto de forma automática y a propósito." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignorar la distribución objetivo no disponible «%s» del paquete «%s»" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Escogiendo «%s» como paquete fuente en lugar de «%s»\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Ignorar la versión no disponible «%s» del paquete «%s»" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "El comando de actualización no toma argumentos" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Se supone que no vamos a eliminar cosas, no se pudo iniciar «AutoRemover»" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1147,15 +1147,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "La siguiente información puede ayudar a resolver la situación:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Error interno, «AutoRemover» rompió cosas" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1168,7 +1168,7 @@ msgstr[1] "" "Los paquetes indicados a continuación se instalaron de forma automática y ya " "no son necesarios." -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1177,19 +1177,19 @@ msgstr[0] "Se instaló de forma automática %lu paquete y ya no es necesario.\n" msgstr[1] "" "Se instalaron de forma automática %lu paquetes y ya no son necesarios.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Utilice «apt-get autoremove» para eliminarlos." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Error Interno, AllUpgrade rompió cosas" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Tal vez quiera ejecutar «apt-get -f install» para corregirlo:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1197,7 +1197,7 @@ msgstr "" "Dependencias incumplidas. Intente «apt-get -f install» sin paquetes (o " "especifique una solución)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1209,74 +1209,74 @@ msgstr "" "inestable, que algunos paquetes necesarios no han sido creados o han\n" "sido movidos fuera de Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Paquetes rotos" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Se instalarán los siguientes paquetes extras:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Paquetes sugeridos:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Paquetes recomendados:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "No se pudo encontrar el paquete %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "fijado %s como instalado automáticamente.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Calculando la actualización... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Falló" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Listo" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "" "Error interno, el sistema de solución de problemas rompió algunas cosas" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "No se puede bloquear el directorio de descarga" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Debe especificar al menos un paquete para obtener su código fuente" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "No se pudo encontrar un paquete de fuentes para %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1286,7 +1286,7 @@ msgstr "" "versiones «%s» en:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1298,80 +1298,96 @@ msgstr "" "para obtener las últimas actualizaciones (posiblemente no publicadas aún) " "del paquete.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Omitiendo el fichero ya descargado «%s»\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "No tiene suficiente espacio libre en %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Necesito descargar %sB/%sB de archivos fuente.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Necesito descargar %sB de archivos fuente.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Fuente obtenida %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "No se pudieron obtener algunos archivos." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Ignorando desempaquetamiento de paquetes ya desempaquetados en %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Falló la orden de desempaquetamiento «%s».\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Compruebe que el paquete «dpkg-dev» esté instalado.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Falló la orden de construcción «%s».\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Falló el proceso hijo" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Debe especificar al menos un paquete para verificar sus dependencias de " "construcción" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "No se pudo obtener información de dependencias de construcción para %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s no tiene dependencias de construcción.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"La dependencia %s en %s no puede satisfacerse porque no se puede encontrar " +"el paquete %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1380,46 +1396,55 @@ msgstr "" "La dependencia %s en %s no puede satisfacerse porque no se puede encontrar " "el paquete %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"No se pudo satisfacer la dependencia %s para %s: El paquete instalado %s es " +"demasiado nuevo" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "La dependencia %s en %s no puede satisfacerse porque ninguna versión " "disponible del paquete %s satisface los requisitos de versión" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"No se pudo satisfacer la dependencia %s para %s: El paquete instalado %s es " -"demasiado nuevo" +"La dependencia %s en %s no puede satisfacerse porque no se puede encontrar " +"el paquete %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "No se pudo satisfacer la dependencia %s para %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "No se pudieron satisfacer las dependencias de construcción de %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "No se pudieron procesar las dependencias de construcción" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Conectando a %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Módulos soportados:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1510,7 +1535,7 @@ msgstr "" "para más información y opciones.\n" " Este APT tiene poderes de Super Vaca.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1828,8 +1853,8 @@ msgstr "El archivo %s/%s sobreescribe al que está en el paquete %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1862,7 +1887,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Leyendo lista de paquetes" @@ -2230,37 +2255,31 @@ msgstr "Algo raro pasó al resolver «%s:%s» (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "No se pudo conectar a %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "No se instaló ningún anillo de claves %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Error interno: Firma correcta, ¡¿pero no se pudo determinar su huella " "digital?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Se encontró al menos una firma inválida." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "No se pudo ejecutar «gpgv» para verificar la firma (¿está instalado gpgv?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Error desconocido ejecutando gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Las siguientes firms fueron inválidas:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2421,61 +2440,61 @@ msgstr "%liseg." msgid "Selection %s not found" msgstr "Selección %s no encontrada" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Tipo de abreviación no reconocida: «%c»" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Abriendo fichero de configuración %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Error de sintaxis %s:%u: No hay un nombre al comienzo del bloque." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Error de sintaxis %s:%u: Marca mal formada" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Error de sintaxis %s:%u: Basura extra después del valor" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Error de sintaxis %s:%u: Las directivas sólo se pueden poner en el primer " "nivel" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Error de sintaxis %s:%u: Demasiadas inclusiones anidadas" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Error de sintaxis %s:%u: Incluido desde aquÃ" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Error de sintaxis %s:%u: Directiva «%s» no soportada" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Error de sintaxis %s:%u: la directiva «clear» tiene que incluir un árbol de " "opciones como argumento" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Error de sintaxis %s:%u: Basura extra al final del archivo" @@ -2620,7 +2639,7 @@ msgstr "El subproceso %s devolvió un código de error (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "El subproceso %s terminó de forma inesperada" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "No pude abrir el fichero %s" @@ -2853,7 +2872,7 @@ msgstr "LÃnea %u mal formada en la lista de fuentes %s (tipo)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Tipo «%s» desconocido en la lÃnea %u de lista de fuentes %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2863,7 +2882,7 @@ msgstr "" "de manual con «man 5 apt.conf» bajo «APT::Immediate-Configure» para más " "información. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2875,7 +2894,7 @@ msgstr "" "generalmente es malo, pero si realmente quiere hacerlo, active la opción |" "APT::Force-LoopBreak»." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2911,7 +2930,7 @@ msgid "Unable to correct problems, you have held broken packages." msgstr "" "No se pudieron corregir los problemas, usted ha retenido paquetes rotos." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2962,12 +2981,12 @@ msgstr "El método %s no se inició correctamente" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Por favor, inserte el disco «%s» en la unidad «%s» y pulse Intro." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "No está soportado el sistema de paquetes «%s»" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "No se pudo determinar un tipo de sistema de paquetes adecuado" @@ -2994,18 +3013,25 @@ msgstr "Tal vez quiera ejecutar «apt-get update» para corregir estos problemas msgid "The list of sources could not be read." msgstr "No se pudieron leer las listas de fuentes." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "Registro inválido en el archivo de preferencias %s, no hay cabecera «Package»" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "No se entiende el pin tipo %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "No hay prioridad especificada para pin (o es cero)" @@ -3099,7 +3125,7 @@ msgstr "No se puede leer la lista de paquetes fuente %s" msgid "Collecting File Provides" msgstr "Recogiendo archivos que proveen" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Error de E/S guardando caché fuente" @@ -3112,8 +3138,8 @@ msgstr "falló el cambio de nombre, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "La suma MD5 difiere" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "La suma hash difiere" @@ -3135,21 +3161,19 @@ msgstr "" "No existe ninguna clave pública disponible para los siguientes " "identificadores de clave:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -"El archivo «Release» ha expirado, ignorando %s (inválido desde hace %s)" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Distribución conflictiva: %s (se esperaba %s, pero se obtuvo %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3160,12 +3184,12 @@ msgstr "" "GPG es: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Error de GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3175,7 +3199,7 @@ msgstr "" "que necesita arreglar manualmente este paquete (debido a que falta una " "arquitectura)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3184,7 +3208,7 @@ msgstr "" "No se pudo localizar un archivo para el paquete %s. Esto puede significar " "que necesita arreglar manualmente este paquete." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3192,7 +3216,7 @@ msgstr "" "Los archivos de Ãndice de paquetes están dañados. No existe un campo " "«Filename:» para el paquete %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "El tamaño difiere" @@ -3316,22 +3340,22 @@ msgstr "Escribiendo nueva lista de fuente\n" msgid "Source list entries for this disc are:\n" msgstr "Las entradas de la lista de fuentes para este disco son:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i registros escritos.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i registros escritos con %i fichero de menos.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i registros escritos con %i fichero mal emparejado\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3352,6 +3376,17 @@ msgstr "No se pudo encontrar un registro de autenticación para: %s" msgid "Hash mismatch for: %s" msgstr "La suma hash difiere para: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "No se instaló ningún anillo de claves %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3618,6 +3653,10 @@ msgstr "La conexión se cerró prematuramente" #~ msgstr "" #~ "Error interno, el grupo «%s» no tiene ningún pseudo-paquete instalable" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "" +#~ "El archivo «Release» ha expirado, ignorando %s (inválido desde hace %s)" + #~ msgid "You must give exactly one pattern" #~ msgstr "Debe dar exactamente un patrón" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po_eu\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2009-05-17 00:41+0200\n" "Last-Translator: Piarres Beobide <pi@beobide.net>\n" "Language-Team: Euskara <debian-l10n-basque@lists.debian.org>\n" @@ -159,7 +159,7 @@ msgstr " Bertsio taula:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s %s-rentzat %s %s-ean konpilatua\n" @@ -833,7 +833,7 @@ msgstr "%s berriro instalatzea ez da posible; ezin da deskargatu.\n" msgid "%s is already the newest version.\n" msgstr "%s bertsiorik berriena da jada.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s eskuz instalatua bezala ezarri.\n" @@ -947,8 +947,8 @@ msgstr "Ekintza honen ondoren, %sB gehiago erabiliko dira diskoan.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Ekintza honen ondoren, %sB libratuko dira diskoan.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Ezin da %s(e)n duzun leku librea atzeman." @@ -985,7 +985,7 @@ msgstr "Abortatu." msgid "Do you want to continue [Y/n]? " msgstr "Aurrera jarraitu nahi al duzu [B/e]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Ezin da lortu %s %s\n" @@ -994,7 +994,7 @@ msgstr "Ezin da lortu %s %s\n" msgid "Some files failed to download" msgstr "Fitxategi batzuk ezin izan dira deskargatu" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Deskarga amaituta eta deskarga soileko moduan" @@ -1032,31 +1032,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Ezin da atzitu %s iturburu paketeen zerrenda" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Eguneratzeko komandoak ez du argumenturik hartzen" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Suposatu ez dugun zerbait ezabatuko da, ezin da AutoRemover abiarazi" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1074,15 +1074,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Informazio honek arazoa konpontzen lagun dezake:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Barne Errorea, AutoRemover-ek zerbait apurtu du" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1096,7 +1096,7 @@ msgstr[1] "" "Ondorengo pakete automatikoki instalatuak izan ziren eta ez dira luzaroago " "behar." -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1108,19 +1108,19 @@ msgstr[1] "" "Ondorengo pakete automatikoki instalatuak izan ziren eta ez dira luzaroago " "behar." -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "'apt-get autoremove' erabili ezabatzeko." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Barne Errorea, AllUpgade-k zerbait apurtu du" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Beharbada 'apt-get -f install' exekutatu nahiko duzu hauek zuzentzeko:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1128,7 +1128,7 @@ msgstr "" "Bete gabeko mendekotasunak. Probatu 'apt-get -f install' paketerik gabe (edo " "zehaztu konponbide bat)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1140,80 +1140,80 @@ msgstr "" "beharrezko pakete batzuk ez ziren sortuko oraindik, edo \n" "Sarrerakoetan (Incoming) egoten jarraituko dute." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Hautsitako paketeak" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Ondorengo pakete gehigarriak instalatuko dira:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Iradokitako paketeak:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Gomendatutako paketeak:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Ezin izan da %s paketea aurkitu" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s eskuz instalatua bezala ezarri.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Berriketak kalkulatzen... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Huts egin du" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Eginda" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Barne Errorea, arazo konpontzaileak zerbait apurtu du" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Ezin da deskarga direktorioa blokeatu" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Gutxienez pakete bat zehaztu behar duzu iturburua lortzeko" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Ezin da iturburu paketerik aurkitu %s(r)entzat" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1221,80 +1221,95 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Dagoeneko deskargaturiko '%s' fitxategia saltatzen\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Ez daukazu nahikoa leku libre %s(e)n." #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Iturburu artxiboetako %sB/%sB eskuratu behar dira.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Iturburu artxiboetako %sB eskuratu behar dira.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Eskuratu %s iturburua\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Huts egin du zenbat artxibo lortzean." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" "%s(e)n dagoeneko deskonprimitutako iturburua deskonprimitzea saltatzen\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Deskonprimitzeko '%s' komandoak huts egin du.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Egiaztatu 'dpkg-dev' paketea instalaturik dagoen.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Eraikitzeko '%s' komandoak huts egin du.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Prozesu umeak huts egin du" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Gutxienez pakete bat zehaztu behar duzu eraikitze mendekotasunak egiaztatzeko" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Ezin izan da %s(r)en eraikitze mendekotasunen informazioa eskuratu" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s: ez du eraikitze mendekotasunik.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"%2$s(r)en %1$s mendekotasuna ezin da bete, %3$s paketea ezin delako aurkitu" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1302,46 +1317,54 @@ msgid "" msgstr "" "%2$s(r)en %1$s mendekotasuna ezin da bete, %3$s paketea ezin delako aurkitu" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Huts egin du %2$s(r)en %1$s mendekotasuna betetzean: instalatutako %3$s " +"paketea berriegia da" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%2$s(r)en %1$s mendekotasuna ezin da bete, ez baitago bertsio-eskakizunak " "betetzen dituen %3$s paketearen bertsio erabilgarririk" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Huts egin du %2$s(r)en %1$s mendekotasuna betetzean: instalatutako %3$s " -"paketea berriegia da" +"%2$s(r)en %1$s mendekotasuna ezin da bete, %3$s paketea ezin delako aurkitu" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Huts egin du %2$s(r)en %1$s mendekotasuna betetzean: %3$s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "%s(r)en eraikitze mendekotasunak ezin izan dira bete." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Huts egin du eraikitze mendekotasunak prozesatzean" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Konektatzen -> %s.(%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Onartutako Moduluak:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1428,7 +1451,7 @@ msgstr "" "sources.list(5) eta apt.conf(5) orrialdeak eskuliburuan.\n" " APT honek Super Behiaren Ahalmenak ditu.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1738,8 +1761,8 @@ msgstr "%s/%s fitxategiak %s paketekoa gainidazten du" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1771,7 +1794,7 @@ msgstr "info eta temp direktorioek fitxategi sistema berean egon behar dute" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Pakete Zerrenda irakurtzen" @@ -2145,35 +2168,29 @@ msgstr "Zerbait arraroa pasatu da '%s:%s' (%i) ebaztean" msgid "Unable to connect to %s:%s:" msgstr "Ezin da konektatu -> %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Abortatu instalazioa." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "Barne errorea: Sinadura zuzena, baina ezin da egiaztapen marka zehaztu" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Beintza sinadura baliogabe bat aurkitu da." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "Ezin da %s abiarazi sinadura egiaztatzeko (gpgv instalaturik al dago?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Errore ezezaguna gpgv exekutatzean" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Ondorengo sinadurak baliogabeak dira:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2332,57 +2349,57 @@ msgstr "" msgid "Selection %s not found" msgstr "%s hautapena ez da aurkitu" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Mota ezezaguneko laburtzapena: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "%s konfigurazio fitxategia irekitzen" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Sintaxi errorea, %s:%u: Blokearen hasieran ez dago izenik." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Sintaxi errorea %s:%u: Gaizki eratutako" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Sintaxi errorea, %s:%u: Zabor gehigarria balioaren ondoren" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Sintaxi errorea, %s:%u: Direktibak goi-mailan bakarrik egin daitezke" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Sintaxi errorea, %s:%u: habiaratutako elementu gehiegi" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Sintaxi errorea, %s:%u: hemendik barne hartuta" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Sintaxi errorea, %s:%u: onartu gabeko '%s' direktiba" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "Sintaxi errorea, %s:%u: Direktibak goi-mailan bakarrik egin daitezke" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Sintaxi errorea, %s:%u: Zabor gehigarria fitxategi amaieran" @@ -2529,7 +2546,7 @@ msgstr "%s azpiprozesuak errore kode bat itzuli du (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "%s azpiprozesua ustekabean amaitu da" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "%s fitxategia ezin izan da ireki" @@ -2756,14 +2773,14 @@ msgstr "Gaizki osatutako %u lerroa %s Iturburu zerrendan (type)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "'%s' mota ez da ezagutzen %u lerroan %s Iturburu zerrendan" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2775,7 +2792,7 @@ msgstr "" "izaten da, baina hala ere egin nahi baduzu, aktibatu APT::Force-LoopBreak " "aukera." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2806,7 +2823,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Ezin dira arazoak konpondu; hautsitako paketeak atxiki dituzu." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2857,12 +2874,12 @@ msgstr "%s metodoa ez da behar bezala abiarazi" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Mesedez sa ''%s' izeneko diska '%s' gailuan eta enter sakatu" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "'%s' pakete sistema ez da onartzen" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Ezin da pakete sistemaren mota egokirik zehaztu" @@ -2887,17 +2904,24 @@ msgstr "Beharbada 'apt-get update' exekutatu nahiko duzu arazoak konpontzeko" msgid "The list of sources could not be read." msgstr "Ezin izan da Iturburu zerrenda irakurri." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Erregistro baliogabea hobespenen fitxategian, pakete goibururik ez" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Ez da ulertu %s orratz-mota (pin)" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Ez da lehentasunik zehaztu orratzarentzat (pin) (edo zero da)" @@ -2986,7 +3010,7 @@ msgstr "Ezin da atzitu %s iturburu paketeen zerrenda" msgid "Collecting File Provides" msgstr "Fitxategiaren erreferentziak biltzen" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "S/I errorea iturburu katxea gordetzean" @@ -2999,8 +3023,8 @@ msgstr "huts egin du izen-aldaketak, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5Sum ez dator bat" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Egiaztapena ez dator bat" @@ -3020,20 +3044,19 @@ msgstr "Ezin da %s pakete fitxategia analizatu (1)" msgid "There is no public key available for the following key IDs:\n" msgstr "Ez dago gako publiko erabilgarririk hurrengo gako ID hauentzat:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3041,12 +3064,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3055,7 +3078,7 @@ msgstr "" "Ezin izan dut %s paketeko fitxategi bat lokalizatu. Beharbada eskuz konpondu " "beharko duzu paketea. (arkitektura falta delako)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3064,7 +3087,7 @@ msgstr "" "Ezin izan dut %s paketeko fitxategi bat lokalizatu. Beharbada eskuz konpondu " "beharko duzu paketea." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3072,7 +3095,7 @@ msgstr "" "Paketearen indize fitxategiak hondatuta daude. 'Filename:' eremurik ez %s " "paketearentzat." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Tamaina ez dator bat" @@ -3194,22 +3217,22 @@ msgstr "Jatorri zerrenda berria idazten\n" msgid "Source list entries for this disc are:\n" msgstr "Diskoarentzako jatorri sarrerak:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i erregistro grabaturik.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i erregistro eta %i galdutako fitxategi grabaturik.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i erregistro eta %i okerreko fitxategi grabaturik\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3230,6 +3253,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Egiaztapena ez dator bat" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Abortatu instalazioa." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.5.26\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-12-11 14:52+0200\n" "Last-Translator: Tapio Lehtonen <tale@debian.org>\n" "Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n" @@ -157,7 +157,7 @@ msgstr " Versiotaulukko:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s laitealustalle %s käännöksen päiväys %s %s\n" @@ -834,7 +834,7 @@ msgstr "Paketin %s uudelleenasennus ei ole mahdollista, sitä ei voi noutaa.\n" msgid "%s is already the newest version.\n" msgstr "%s on jo uusin versio.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n" @@ -947,8 +947,8 @@ msgstr "Toiminnon jälkeen käytetään %s t lisää levytilaa.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Toiminnon jälkeen vapautuu %s t levytilaa.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Kansion %s vapaan tilan määrä ei selvinnyt" @@ -986,7 +986,7 @@ msgstr "Keskeytä." msgid "Do you want to continue [Y/n]? " msgstr "Haluatko jatkaa [K/e]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Tiedoston %s nouto ei onnistunut %s\n" @@ -995,7 +995,7 @@ msgstr "Tiedoston %s nouto ei onnistunut %s\n" msgid "Some files failed to download" msgstr "Joidenkin tiedostojen nouto ei onnistunut" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Nouto on valmis ja määrätty vain nouto" @@ -1033,32 +1033,32 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "stat ei toiminut lähdepakettiluettelolle %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Komento update ei käytä parametreja" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "On tarkoitus olla poistamatta mitään, joten AutoRemover:ia ei voi käynnistää" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1076,15 +1076,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Seuraavista tiedoista voi olla hyötyä selvitettäessä tilannetta:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Sisäinen virhe, AutoRemover rikkoi jotain" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1098,7 +1098,7 @@ msgstr[1] "" "Seuraavat paketit asennettiin automaattisesti, eivätkä ne ole enää " "vaadittuja:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1110,19 +1110,19 @@ msgstr[1] "" "Seuraavat paketit asennettiin automaattisesti, eivätkä ne ole enää " "vaadittuja:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Poista ne komennolla \"apt-get autoremove\"." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Sisäinen virhe, AllUpgrade rikkoi jotain" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Saatat haluta suorittaa \"apt-get -f install\" korjaamaan nämä:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1130,7 +1130,7 @@ msgstr "" "Kaikkia riippuvuuksia ei ole tyydytetty. Kokeile \"apt-get -f install\" " "ilmanpaketteja (tai ratkaise itse)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1141,80 +1141,80 @@ msgstr "" "jos käytetään epävakaata jakelua, joitain vaadittuja paketteja ei ole\n" "vielä luotu tai siirretty Incoming-kansiosta." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Rikkinäiset paketit" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Seuraavat ylimääräiset paketit on merkitty asennettaviksi:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Ehdotetut paketit:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Suositellut paketit:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Pakettia %s ei löytynyt" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s on merkitty käyttäjän toimesta asennetuksi.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Käsitellään päivitystä ... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Ei onnistunut" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Valmis" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Sisäinen virhe, resolver rikkoi jotain" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Noutokansiota ei saatu lukittua" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "On annettava ainakin yksi paketti jonka lähdekoodi noudetaan" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Paketin %s lähdekoodipakettia ei löytynyt" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1222,79 +1222,94 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Ohitetaan jo noudettu tiedosto \"%s\"\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Kansiossa %s ei ole riittävästi vapaata tilaa" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "On noudettava %st/%st lähdekoodiarkistoja.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "On noudettava %st lähdekoodiarkistoja.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Nouda lähdekoodi %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Joidenkin arkistojen noutaminen ei onnistunut." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Ohitetaan purku jo puretun lähdekoodin %s kohdalla\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Purkukomento \"%s\" ei onnistunut.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Tarkista onko paketti \"dpkg-dev\" asennettu.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Paketointikomento \"%s\" ei onnistunut.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Lapsiprosessi kaatui" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "On annettava ainakin yksi paketti jonka paketointiriippuvuudet tarkistetaan" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Paketille %s ei ole saatavilla riippuvuustietoja" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "Paketille %s ei ole määritetty paketointiriippuvuuksia.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"riippuvuutta %s paketille %s ei voi tyydyttää koska pakettia %s ei löydy" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1302,46 +1317,54 @@ msgid "" msgstr "" "riippuvuutta %s paketille %s ei voi tyydyttää koska pakettia %s ei löydy" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Riippuvutta %s paketille %s ei voi tyydyttää: Asennettu paketti %s on liian " +"uusi" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s riippuvuutta paketille %s ei voi tyydyttää koska mikään paketin %s versio " "ei vastaa versioriippuvuuksia" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Riippuvutta %s paketille %s ei voi tyydyttää: Asennettu paketti %s on liian " -"uusi" +"riippuvuutta %s paketille %s ei voi tyydyttää koska pakettia %s ei löydy" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Riippuvuutta %s paketille %s ei voi tyydyttää: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Paketointiriippuvuuksia paketille %s ei voi tyydyttää." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Paketointiriippuvuuksien käsittely ei onnistunut" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Avataan yhteys %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Tuetut moduulit:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1427,7 +1450,7 @@ msgstr "" "lisätietoja ja lisää valitsimia.\n" " This APT has Super Cow Powers.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1738,8 +1761,8 @@ msgstr "Tiedosto %s/%s kirjoitetaan paketista %s tulleen päälle" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1771,7 +1794,7 @@ msgstr "Kansioiden info ja temp pitää olla samassa tiedostojärjestelmässä" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Luetaan pakettiluetteloita" @@ -2141,37 +2164,31 @@ msgstr "Jotain kenkkua tapahtui selvitettäessä \"%s: %s\" (%i)" msgid "Unable to connect to %s:%s:" msgstr "Ei ole mahdollista muodostaa yhteyttä %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Asennus keskeytetään." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Sisäinen virhe: Allekirjoitus kelpaa, mutta avaimen sormenjälki tuntematon?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "LÖytyi ainakin yksi kelvoton allekirjoitus." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Ei käynnistynyt \"%s\" allekirjoitusta tarkistamaan (onko gpgv asennettu?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Tapahtui tuntematon virhe suoritettaessa gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Seuraavat allekirjoitukset eivät olleet kelvollisia:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2328,57 +2345,57 @@ msgstr "" msgid "Selection %s not found" msgstr "Valintaa %s ei löydy" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Tuntematon tyypin lyhenne: \"%c\"" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Avataan asetustiedosto %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaksivirhe %s: %u: Lohko alkaa ilman nimeä." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaksivirhe %s: %u: väärän muotoinen nimikenttä" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaksivirhe %s: %u: Arvon jälkeen ylimääräistä roskaa" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Syntaksivirhe %s: %u: Direktiivejä voi olla vain ylimmällä tasolla" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaksivirhe %s: %u: Liian monta sisäkkäistä includea" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaksivirhe %s: %u: Sisällytetty tästä" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaksivirhe %s: %u: Tätä direktiiviä ei tueta \"%s\"" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "Syntaksivirhe %s: %u: Direktiivejä voi olla vain ylimmällä tasolla" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaksivirhe %s: %u: Ylimääräistä roskaa tiedoston lopussa" @@ -2521,7 +2538,7 @@ msgstr "Aliprosessi %s palautti virhekoodin (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Aliprosessi %s lopetti odottamatta" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Tiedostoa %s ei voitu avata" @@ -2748,14 +2765,14 @@ msgstr "Rivi %u on väärän muotoinen lähdeluettelossa %s (tyyppi)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Tyyppi \"%s\" on tuntematon rivillä %u lähdeluettelossa %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2766,7 +2783,7 @@ msgstr "" "%s Conflicts/Pre-Depends -kehämäärittelyn takia. Tämä on usein pahasta, " "mutta jos varmasti haluat tehdä niin, käytä APT::Force-LoopBreak -valitsinta." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2796,7 +2813,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Pulmia ei voi korjata, rikkinäisiä paketteja on pysytetty." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2847,12 +2864,12 @@ msgstr "Menetelmä %s ei käynnistynyt oikein" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Pistä levy nimeltään: \"%s\" asemaan \"%s\" ja paina Enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Paketointijärjestelmä \"%s\" ei ole tuettu" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Sopivaa paketointijärjestelmän tyyppiä ei saa selvitettyä" @@ -2878,17 +2895,24 @@ msgstr "Voit haluta suorittaa apt-get update näiden pulmien korjaamiseksi" msgid "The list of sources could not be read." msgstr "Lähteiden luetteloa ei pystynyt lukemaan." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Asetustiedostossa on virheellinen tietue, Package-otsikko puuttuu" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Tunnistetyyppi %s on tuntematon" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Tärkeysjärjestystä ei määritetty tunnisteelle (tai se on nolla)" @@ -2978,7 +3002,7 @@ msgstr "stat ei toiminut lähdepakettiluettelolle %s" msgid "Collecting File Provides" msgstr "Kootaan tiedostojen tarjoamistietoja" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Syöttö/Tulostus -virhe tallennettaessa pakettivarastoa" @@ -2991,8 +3015,8 @@ msgstr "nimen vaihto ei onnistunut, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5Sum ei täsmää" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hash Sum täsmää" @@ -3012,20 +3036,19 @@ msgstr "Pakettitiedostoa %s (1) ei voi jäsentää" msgid "There is no public key available for the following key IDs:\n" msgstr "Julkisia avaimia ei ole saatavilla, avainten ID:t ovat:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3033,12 +3056,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3047,7 +3070,7 @@ msgstr "" "En löytänyt pakettia %s vastaavaa tiedostoa. Voit ehkä joutua korjaamaan " "tämän paketin itse (puuttuvan arkkitehtuurin vuoksi)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3056,7 +3079,7 @@ msgstr "" "Pakettia %s vastaavaa tiedostoa ei löytynyt. Voit ehkä joutua korjaamaan " "tämän paketin itse." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3064,7 +3087,7 @@ msgstr "" "Pakettihakemistotiedostot ovat turmeltuneet. Paketille %s ei ole Filename-" "kenttää." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Koko ei täsmää" @@ -3186,22 +3209,22 @@ msgstr "Kirjoitetaan uusi lähdeluettelo\n" msgid "Source list entries for this disc are:\n" msgstr "Tämän levyn lähdekoodipakettien luettelon tietueita ovat:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Kirjoitettiin %i tietuetta.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Kirjoitettiin %i tietuetta joissa oli %i puuttuvaa tiedostoa.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Kirjoitettiin %i tietuetta joissa oli %i paritonta tiedostoa\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3223,6 +3246,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Hash Sum täsmää" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Asennus keskeytetään." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2011-02-16 07:44+0100\n" "Last-Translator: Christian Perrier <bubulle@debian.org>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" @@ -156,7 +156,7 @@ msgstr " Table de version :" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s pour %s compilé sur %s %s\n" @@ -845,7 +845,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "%s est déjà la plus récente version disponible.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s passé en « installé manuellement ».\n" @@ -961,8 +961,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Après cette opération, %so d'espace disque seront libérés.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Impossible de déterminer l'espace disponible sur %s" @@ -1003,7 +1003,7 @@ msgstr "Annulation." msgid "Do you want to continue [Y/n]? " msgstr "Souhaitez-vous continuer [O/n] ? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Impossible de récupérer %s %s\n" @@ -1012,7 +1012,7 @@ msgstr "Impossible de récupérer %s %s\n" msgid "Some files failed to download" msgstr "Certains fichiers n'ont pu être téléchargés." -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Téléchargement achevé et dans le mode téléchargement uniquement" @@ -1056,34 +1056,34 @@ msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" "Note : cette opération volontaire (effectuée par dpkg) est automatique." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" "La distribution cible « %s » indisponible pour le paquet « %s » est ignorée" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Choix de « %s » comme paquet source à la place de « %s »\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "La version « %s » indisponible du paquet « %s » est ignorée" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "La commande de mise à jour ne prend pas d'argument" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Aucune suppression n'est sensée se produire : impossible de lancer " "« Autoremover »" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1102,16 +1102,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "L'information suivante devrait vous aider à résoudre la situation : " -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "" "Erreur interne, l'outil de suppression automatique a cassé quelque chose." -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1123,7 +1123,7 @@ msgstr[1] "" "Les paquets suivants ont été installés automatiquement et ne sont plus " "nécessaires :" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1133,20 +1133,20 @@ msgstr[0] "" msgstr[1] "" "%lu paquets ont été installés automatiquement et ne sont plus nécessaires.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Veuillez utiliser « apt-get autoremove » pour les supprimer." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Erreur interne, AllUpgrade a cassé le boulot !" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "Vous pouvez lancer « apt-get -f install » pour corriger ces problèmes :" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1154,7 +1154,7 @@ msgstr "" "Dépendances non satisfaites. Essayez « apt-get -f install » sans paquet\n" "(ou indiquez une solution)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1166,75 +1166,75 @@ msgstr "" "la distribution unstable, que certains paquets n'ont pas encore\n" "été créés ou ne sont pas sortis d'Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Paquets défectueux" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Les paquets supplémentaires suivants seront installés : " -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Paquets suggérés :" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Paquets recommandés :" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Impossible de trouver le paquet %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s passé en « installé automatiquement ».\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Calcul de la mise à jour... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Échec" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Fait" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "" "Erreur interne, la tentative de résolution du problème a cassé certaines " "parties" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Impossible de verrouiller le répertoire de téléchargement" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "Téléchargement de %s %s" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Vous devez spécifier au moins un paquet source" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Impossible de trouver une source de paquet pour %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1244,7 +1244,7 @@ msgstr "" "suivi de versions « %s » à l'adresse :\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1256,80 +1256,96 @@ msgstr "" "pour récupérer les dernières mises à jour (éventuellement non encore " "publiées) du paquet.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Saut du téléchargement du fichier « %s », déjà téléchargé\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Pas assez d'espace disponible sur %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Nécessité de prendre %so/%so dans les sources.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Nécessité de prendre %so dans les sources.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Récupération des sources %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Échec lors de la récupération de quelques archives." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Saut du décompactage des paquets sources déjà décompactés dans %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "La commande de décompactage « %s » a échoué.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Veuillez vérifier si le paquet dpkg-dev est installé.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "La commande de construction « %s » a échoué.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Échec du processus fils" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Il faut spécifier au moins un paquet pour vérifier les dépendances de " "construction" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Impossible d'obtenir les dépendances de construction pour %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s n'a pas de dépendance de construction.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"La dépendance %s vis-à -vis de %s ne peut être satisfaite car le paquet %s ne " +"peut être trouvé" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1338,47 +1354,56 @@ msgstr "" "La dépendance %s vis-à -vis de %s ne peut être satisfaite car le paquet %s ne " "peut être trouvé" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Impossible de satisfaire la dépendance %s pour %s : le paquet installé %s " +"est trop récent" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "La dépendance %s vis-à -vis de %s ne peut être satisfaite car aucune version " "du paquet %s ne peut satisfaire à la version requise" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Impossible de satisfaire la dépendance %s pour %s : le paquet installé %s " -"est trop récent" +"La dépendance %s vis-à -vis de %s ne peut être satisfaite car le paquet %s ne " +"peut être trouvé" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Impossible de satisfaire les dépendances %s pour %s : %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" "Les dépendances de compilation pour %s ne peuvent pas être satisfaites." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Impossible d'activer les dépendances de construction" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, c-format msgid "Changelog for %s (%s)" msgstr "Journal des modifications pour %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Modules reconnus :" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1471,7 +1496,7 @@ msgstr "" "apt.conf(5) pour plus d'informations et d'options.\n" " Cet APT a les « Super Cow Powers »\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1789,8 +1814,8 @@ msgstr "Le fichier %s/%s écrase celui inclus dans le paquet %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1824,7 +1849,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Lecture des listes de paquets" @@ -2200,38 +2225,32 @@ msgstr "" msgid "Unable to connect to %s:%s:" msgstr "Impossible de se connecter à %s:%s :" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Pas de porte-clés installé dans %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Erreur interne : signature correcte, mais il est impossible de déterminer " "l'empreinte de la clé." -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Au moins une signature non valable a été rencontrée." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Impossible d'exécuter « gpgv » pour contrôler la signature (veuillez " "vérifier si gpgv est installé)." -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Erreur inconnue à l'exécution de gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Les signatures suivantes ne sont pas valables :\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2393,61 +2412,61 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "La sélection %s n'a pu être trouvée" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Type d'abréviation non reconnue : « %c »" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Ouverture du fichier de configuration %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Erreur syntaxique %s:%u : le bloc commence sans aucun nom." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Erreur syntaxique %s:%u : balise mal formée" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Erreur syntaxique %s:%u : valeur suivie de choses illicites" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Erreur syntaxique %s:%u : ces directives ne peuvent être appliquées qu'au " "niveau le plus haut" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Erreur syntaxique %s:%u: trop de niveaux d'imbrication d'includes" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Erreur syntaxique %s:%u : inclus à partir d'ici" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Erreur syntaxique %s:%u : directive « %s » non tolérée" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Erreur de syntaxe %s:%u : la directive « clear » a besoin d'un arbre " "d'options comme paramètre" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Erreur syntaxique %s:%u : valeur aberrante à la fin du fichier" @@ -2598,7 +2617,7 @@ msgstr "Le sous-processus %s a renvoyé un code d'erreur (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Le sous-processus %s s'est arrêté prématurément" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Impossible d'ouvrir le fichier %s" @@ -2836,7 +2855,7 @@ msgid "Type '%s' is not known on line %u in source list %s" msgstr "" "Le type « %s » est inconnu sur la ligne %u dans la liste des sources %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2846,7 +2865,7 @@ msgstr "" "consulter la page de manuel apt.conf(5) et notamment la section à propos de " "APT::Immediate-Configure, pour plus d'informations. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2858,7 +2877,7 @@ msgstr "" "Depends. C'est souvent une mauvaise chose, mais si vous souhaitez réellement " "le faire, activez l'option APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2895,7 +2914,7 @@ msgstr "" "Impossible de corriger les problèmes, des paquets défectueux sont en mode " "« garder en l'état »." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 msgid "" "Some index files failed to download. They have been ignored, or old ones " "used instead." @@ -2947,12 +2966,12 @@ msgstr "" "Veuillez insérer le disque « %s » dans le lecteur « %s » et appuyez sur la " "touche Entrée." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Le système de paquet « %s » n'est pas supporté" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Impossible de déterminer un type du système de paquets adéquat" @@ -2980,19 +2999,26 @@ msgstr "Vous pouvez lancer « apt-get update » pour corriger ces problèmes." msgid "The list of sources could not be read." msgstr "La liste des sources ne peut être lue." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "Enregistrement non valable dans le fichier de préférences %s, aucune entrée " "« Package »." -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Étiquette %s inconnue" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Aucune priorité (ou zéro) n'a été spécifiée pour l'étiquette" @@ -3091,7 +3117,7 @@ msgstr "Impossible de localiser la liste des paquets sources %s" msgid "Collecting File Provides" msgstr "Assemblage des fichiers listés dans les champs Provides" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "" "Erreur d'entrée/sortie lors de la sauvegarde du fichier de cache des sources" @@ -3105,8 +3131,8 @@ msgstr "impossible de changer le nom, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Somme de contrôle MD5 incohérente" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Somme de contrôle de hachage incohérente" @@ -3130,20 +3156,19 @@ msgid "There is no public key available for the following key IDs:\n" msgstr "" "Aucune clé publique n'est disponible pour la/les clé(s) suivante(s) :\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Le fichier Release a expiré, %s ignoré (non valable depuis %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Distribution en conflit : %s (%s attendu, mais %s obtenu)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3154,12 +3179,12 @@ msgstr "" "GPG : %s : %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Erreur de GPG : %s : %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3168,7 +3193,7 @@ msgstr "" "Impossible de localiser un fichier du paquet %s. Cela signifie que vous " "devrez corriger ce paquet vous-même (absence d'architecture)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3177,7 +3202,7 @@ msgstr "" "Impossible de localiser un fichier du paquet %s. Cela signifie que vous " "devrez corriger ce paquet vous-même." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3185,7 +3210,7 @@ msgstr "" "Les fichiers d'index des paquets sont corrompus. Aucun champ « Filename: » " "pour le paquet %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Taille incohérente" @@ -3309,22 +3334,22 @@ msgstr "Écriture de la nouvelle liste de sources\n" msgid "Source list entries for this disc are:\n" msgstr "Les entrées de listes de sources pour ce disque sont :\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i enregistrements écrits.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i enregistrements écrits avec %i fichiers manquants.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i enregistrements écrits avec %i fichiers qui ne correspondent pas\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3346,6 +3371,17 @@ msgstr "Impossible de trouver l'enregistrement d'authentification pour %s" msgid "Hash mismatch for: %s" msgstr "Somme de contrôle de hachage incohérente pour %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Pas de porte-clés installé dans %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3612,6 +3648,9 @@ msgstr "Connexion fermée prématurément" #~ msgstr "" #~ "Erreur interne : le groupe « %s » n'a pas de pseudo-paquet installable" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Le fichier Release a expiré, %s ignoré (non valable depuis %s)" + #~ msgid "E: Too many keyrings should be passed to gpgv. Exiting." #~ msgstr "E: trop de porte-clés devraient être passés à gpgv. Abandon." @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po_gl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2011-05-12 15:28+0100\n" "Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n" "Language-Team: galician <proxecto@trasno.net>\n" @@ -161,7 +161,7 @@ msgstr " Táboa de versións:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s para %s compilado en %s %s\n" @@ -839,7 +839,7 @@ msgstr "A reinstalación de %s non é posÃbel, non se pode descargar.\n" msgid "%s is already the newest version.\n" msgstr "%s xa é a versión máis recente.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s cambiado a instalado manualmente.\n" @@ -955,8 +955,8 @@ msgstr "Despois desta operación ocuparanse %sB de disco adicionais.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Despois desta operación liberaranse %sB de espazo de disco.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Non foi posÃbel determinar o espazo libre en %s" @@ -993,7 +993,7 @@ msgstr "Interromper." msgid "Do you want to continue [Y/n]? " msgstr "Quere continuar [S/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Non foi posÃbel obter %s %s\n" @@ -1002,7 +1002,7 @@ msgstr "Non foi posÃbel obter %s %s\n" msgid "Some files failed to download" msgstr "Non foi posÃbel descargar algúns ficheiros" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Completouse a descarga no modo de só descargas" @@ -1045,33 +1045,33 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Nota: Isto será feito automaticamente por dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignorase a versión de destino «%s» non dispoñÃbel do paquete «%s»" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Tome «%s» como paquete fonte no canto de «%s»\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Ignorar a versión non dispoñÃbel «%s» do paquete «%s»" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "A orde «update» non toma argumentos" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Non se agarda que eliminemos cousas, non se pode iniciar o Retirado " "automático" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1089,15 +1089,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "A seguinte información pode axudar a solucionar a situación:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Produciuse un erro interno, o Retirado automático estragou cousas" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1109,7 +1109,7 @@ msgstr[1] "" "Os seguintes paquetes foron instalados automaticamente e xa non son " "necesarios:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1118,19 +1118,19 @@ msgstr[0] "%lu paquete foi instalado automaticamente e xa non é necesario.\n" msgstr[1] "" "%lu paquetes foron instalados automaticamente e xa non son necesarios.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Empregue «apt-get autoremove» para eliminalos." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Produciuse un erro interno, AllUpgrade estragou cousas" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Pode querer executar «apt-get -f install» para corrixir isto:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1138,7 +1138,7 @@ msgstr "" "Dependencias incumpridas. Probe «apt-get -f install» sen paquetes (ou " "especifique unha solución)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1151,73 +1151,73 @@ msgstr "" "algúns paquetes solicitados aÃnda non se creasen ou que se movesen da " "entrada." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Paquetes estragados" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Instalaranse os seguintes paquetes extra:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Paquetes suxeridos:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Paquetes recomendados:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Non foi posÃbel atopar o paquete %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s está estabelecido para a súa instalación automática.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Calculando a anovación... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Fallou" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Feito" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Produciuse un erro interno, o solucionador interno estragou cousas" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Non é posÃbel bloquear o directorio de descargas" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "Descargando %s %s" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Ten que especificar polo menos un paquete para obter o código fonte" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Non sé posÃbel atopar un paquete fonte para %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1226,7 +1226,7 @@ msgstr "" "AVISO: o paquete «%s» mantense no sistema de control de versións «%s» en:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1238,80 +1238,96 @@ msgstr "" "para obter as últimas actualizacións (posibelmente non publicadas) do " "paquete.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "OmÃtese o ficheiro xa descargado «%s»\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Non hai espazo libre abondo en %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Ten que recibir %sB/%sB de arquivos de fonte.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Ten que recibir %sB de arquivos de fonte.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Obter fonte %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Non se puideron obter algúns arquivos." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "OmÃtese o desempaquetado do código fonte xa desempaquetado en %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Fallou a orde de desempaquetado «%s».\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Comprobe que o paquete «dpkg-dev» estea instalado.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Fallou a orde de construción de «%s».\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "O proceso fillo fallou" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Ten que especificar polo menos un paquete para comprobarlle as dependencias " "de compilación" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Non é posÃbel obter a información de dependencias de compilación de %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s non ten dependencias de compilación.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"A dependencia «%s» de %s non se pode satisfacer porque non se pode atopar o " +"paquete %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1320,46 +1336,55 @@ msgstr "" "A dependencia «%s» de %s non se pode satisfacer porque non se pode atopar o " "paquete %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Non foi posÃbel satisfacer a dependencia «%s» de %s: O paquete instalado %s " +"é novo de máis" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "A dependencia «%s» de %s non se pode satisfacer porque ningunha versión " "dispoñÃbel do paquete %s satisfai os requirimentos de versión" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Non foi posÃbel satisfacer a dependencia «%s» de %s: O paquete instalado %s " -"é novo de máis" +"A dependencia «%s» de %s non se pode satisfacer porque non se pode atopar o " +"paquete %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Non foi posÃbel satisfacer a dependencia «%s» de %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Non se puideron satisfacer as dependencias de construción de %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Non se puideron procesar as dependencias de construción" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, c-format msgid "Changelog for %s (%s)" msgstr "Rexistro de cambios de %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Módulos admitidos:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1452,7 +1477,7 @@ msgstr "" "para obter mais información e opcións\n" " Este APT ten poderes da Super Vaca.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1767,8 +1792,8 @@ msgstr "O ficheiro %s/%s sobrescribe o do paquete %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1801,7 +1826,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Lendo as listas de paquetes" @@ -2170,38 +2195,32 @@ msgstr "Aconteceu algo malo, buscando «%s:%s» (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Non é posÃbel conectar %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Non ha ningún chaveiro instalado en %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Erro interno: Sinatura correcta, pero non foi posÃbel determinar a pegada " "dixital da chave" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Atopouse polo menos unha sinatura incorrecta." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Non é posÃbel executar «gpgv» para verificar a sinatura (Está instalado " "gpgv?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Produciuse un erro descoñecido ao executar gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "As seguintes sinaturas non eran correctas:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2364,61 +2383,61 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Non se atopou a selección %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Abreviatura de tipo «%c» descoñecida" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Abrindo o ficheiro de configuración %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Produciuse un erro de sintaxe %s:%u: O bloque comeza sen un nome." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Produciuse un erro de sintaxe %s:%u: Etiqueta mal formada" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Produciuse un erro de sintaxe %s:%u: Lixo extra despois do valor" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Produciuse un erro de sintaxe %s:%u: Só se poden facer directivas no nivel " "superior" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Produciuse un erro de sintaxe %s:%u: Includes aniñados de máis" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Produciuse un erro de sintaxe %s:%u: IncluÃdo de aquÃ" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Produciuse un erro de sintaxe %s:%u: Non se admite a directiva «%s»" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Produciuse un erro de sintaxe %s:%u: a directiva «clear» require unha árbore " "de opción como argumento" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Produciuse un erro de sintaxe %s:%u: Lixo extra á fin da liña" @@ -2565,7 +2584,7 @@ msgstr "O subproceso %s devolveu un código de erro (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "O subproceso %s saÃu de xeito inesperado" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Non foi posÃbel abrir o ficheiro %s" @@ -2796,7 +2815,7 @@ msgstr "Liña %u mal construÃda na lista de orixes %s (tipo)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "O tipo «%s» non se coñece na liña %u da lista de orixes %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2805,7 +2824,7 @@ msgstr "" "Non foi posÃbel facer a configuración inmediata en «%s». Vexa man 5 apt.conf " "baixo APT::Immediate-Configure para obter máis detalles. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2816,7 +2835,7 @@ msgstr "" "por mor dun bucle de Conflitos e Pre-dependencias. Isto adoita ser malo, " "pero se o quere facer, active a opción APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2851,7 +2870,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Non é posÃbel solucionar os problemas, ten retidos paquetes rotos." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2902,12 +2921,12 @@ msgstr "O método %s non se iniciou correctamente" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Insira o disco etiquetado: «%s» na unidade «%s» e prema Intro." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "O sistema de empaquetado «%s» non está admitido" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Non é posÃbel determinar un tipo de sistema de empaquetado axeitado" @@ -2934,18 +2953,25 @@ msgstr "Pode querer executar «apt-get update» para corrixir estes problemas" msgid "The list of sources could not be read." msgstr "Non foi posÃbel ler a lista de orixes." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "Rexistro incorrecto no ficheiro de preferencias %s; falta a cabeceira Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Non se entendeu o tipo de inmobilización %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "" "Non se indicou unha prioridade (ou indicouse cero) para a inmobilización" @@ -3038,7 +3064,7 @@ msgstr "Non foi posÃbel atopar a lista de paquetes fonte %s" msgid "Collecting File Provides" msgstr "Recollendo as provisións de ficheiros" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Produciuse un erro de E/S ao gravar a caché de fontes" @@ -3051,8 +3077,8 @@ msgstr "non foi posÃbel cambiar o nome, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "A MD5Sum non coincide" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "A sumas «hash» non coinciden" @@ -3075,20 +3101,19 @@ msgstr "" msgid "There is no public key available for the following key IDs:\n" msgstr "Non hai unha chave pública dispoñÃbel para os seguintes ID de chave:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Caducou o ficheiro de publicación, ignorando %s (non válido desde %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Conflito na distribución: %s (agardábase %s mais obtÃvose %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3099,12 +3124,12 @@ msgstr "" "%s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Produciuse un erro de GPG: %s %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3113,7 +3138,7 @@ msgstr "" "Non é posÃbel atopar un ficheiro para o paquete %s. Isto pode significar que " "ten que arranxar este paquete a man. (Falta a arquitectura)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3122,7 +3147,7 @@ msgstr "" "Non é posÃbel atopar un ficheiro para o paquete %s. Isto pode significar que " "ten que arranxar este paquete a man." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3130,7 +3155,7 @@ msgstr "" "Os ficheiros de Ãndices de paquetes están danados. Non hai un campo " "Filename: para o paquete %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Os tamaños non coinciden" @@ -3254,22 +3279,22 @@ msgstr "Escribindo a nova lista de orixes\n" msgid "Source list entries for this disc are:\n" msgstr "As entradas da lista de orixes deste disco son:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "EscribÃronse %i rexistros.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "EscribÃronse %i rexistros con %i ficheiros que faltan.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "EscribÃronse %i rexistros con %i ficheiros que non coinciden\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3291,6 +3316,17 @@ msgstr "Non é posÃbel atopar un rexistro de autenticación para: %s" msgid "Hash mismatch for: %s" msgstr "Valor de hash non coincidente para: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Non ha ningún chaveiro instalado en %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3556,6 +3592,10 @@ msgstr "A conexión pechouse prematuramente" #~ msgid "Internal error, could not locate member" #~ msgstr "Produciuse un erro interno, non foi posÃbel atopar o membro %s" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "" +#~ "Caducou o ficheiro de publicación, ignorando %s (non válido desde %s)" + #~ msgid " %4i %s\n" #~ msgstr "\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: hu\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-05-11 14:49+0100\n" "Last-Translator: SZERVÃC Attila <sas@321.hu>\n" "Language-Team: Hungarian <debian-l10n-hungarian>\n" @@ -160,7 +160,7 @@ msgstr " Verziótáblázat:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s erre: %s ekkor fordult: %s %s\n" @@ -836,7 +836,7 @@ msgstr "%s újratelepÃtése nem lehetséges, mert nem lehet letölteni.\n" msgid "%s is already the newest version.\n" msgstr "%s már a legújabb verzió.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s kézi telepÃtésre állÃtott.\n" @@ -948,8 +948,8 @@ msgstr "E művelet után további %sB lemez-területetet használok fel.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "E művelet után %sB lemez-terület szabadul fel.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Nem határozható meg a szabad hely itt: %s" @@ -986,7 +986,7 @@ msgstr "MegszakÃtva." msgid "Do you want to continue [Y/n]? " msgstr "Folytatni akarod [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Sikertelen letöltés: %s %s\n" @@ -995,7 +995,7 @@ msgstr "Sikertelen letöltés: %s %s\n" msgid "Some files failed to download" msgstr "Néhány fájlt nem sikerült letölteni" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "A letöltés befejezÅ‘dött a 'csak letöltés' módban" @@ -1032,31 +1032,31 @@ msgstr[0] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Nem lehet a(z) %s forrás csomaglistáját elérni" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Az update parancsnak nincsenek argumentumai" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Nincs törölnivaló, az AutoRemover nem indÃtható" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1074,15 +1074,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Az alábbi információ segÃthet megoldani a helyzetet:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "BelsÅ‘ hiba, az AutoRemover sérült" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1091,26 +1091,26 @@ msgid_plural "" "required:" msgstr[0] "Az alábbi csomagok automatikusan települtek, de már nem kellenek:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" "%lu packages were automatically installed and are no longer required.\n" msgstr[0] "Az alábbi csomagok automatikusan települtek, de már nem kellenek:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Töröld az 'apt-get autoremove' paranccsal!" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "BelsÅ‘ hiba, AllUpgrade megsértett valamit" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Próbáld futtatni az 'apt-get -f install'-t az alábbiak javÃtásához:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1118,7 +1118,7 @@ msgstr "" "TeljesÃtetlen függÅ‘ségek. Próbáld az 'apt-get -f install'-t csomagok nélkül " "(vagy telepÃtsd a függÅ‘ségeket is!)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1130,81 +1130,81 @@ msgstr "" "használod, akkor néhány igényelt csomag még nem készült el vagy ki\n" "lett mozdÃtva az Incoming-ból." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Törött csomagok" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Az alábbi extra csomagok kerülnek telepÃtésre:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Javasolt csomagok:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Ajánlott csomagok:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Az alábbi csomag nem található: %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s kézi telepÃtésre állÃtott.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "FrissÃtés kiszámÃtása... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Sikertelen" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Kész" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "BelsÅ‘ hiba, hibafeloldó gond" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Nem tudom zárolni a letöltési könyvtárat" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "Legalább egy csomagot meg kell adnod, aminek a forrását le kell tölteni" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Nem található forráscsomag ehhez: %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1212,80 +1212,96 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "A már letöltött '%s' fájl kihagyása\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Nincs elég szabad hely itt: %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "%sB/%sB forrás-archÃvumot kell letölteni.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "%sB forrás-archÃvumot kell letölteni.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Forrás letöltése: %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Nem sikerült néhány archÃvumot letölteni." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Egy már kibontott forrás kibontásának kihagyása itt: %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "'%s' kibontási parancs nem sikerült.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "EllenÅ‘rizd, hogy a 'dpkg-dev' csomag telepÃtve van-e.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "'%s' elkészÃtési parancs nem sikerült.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Hiba a gyermekfolyamatnál" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Legalább egy csomagot adj meg, aminek a fordÃtási függÅ‘ségeit ellenÅ‘rizni " "kell" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Nem lehet %s fordÃtási-függÅ‘ség információját beszerezni" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "Nincs fordÃtási függÅ‘sége a következÅ‘nek: %s.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"%s függÅ‘sége ennek: %s, ez nem elégÃthetÅ‘ ki, mert a(z) %s csomag nem " +"található" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1294,46 +1310,55 @@ msgstr "" "%s függÅ‘sége ennek: %s, ez nem elégÃthetÅ‘ ki, mert a(z) %s csomag nem " "található" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"%s függÅ‘séget %s csomaghoz nem lehet kielégÃteni: %s telepÃtett csomag túl " +"friss." + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s függÅ‘sége ennek: %s, ez nem elégÃthetÅ‘ ki, mert a(z) %s csomagnak nincs a " "verzió-követelményt kielégÃtÅ‘ elérhetÅ‘ verziója." -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"%s függÅ‘séget %s csomaghoz nem lehet kielégÃteni: %s telepÃtett csomag túl " -"friss." +"%s függÅ‘sége ennek: %s, ez nem elégÃthetÅ‘ ki, mert a(z) %s csomag nem " +"található" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "%s függÅ‘séget %s csomaghoz nem lehet kielégÃteni: %s " -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "%s épÃtési függÅ‘ségei nem elégÃthetÅ‘ek ki." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Nem sikerült az épÃtési függÅ‘ségeket feldolgozni" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Csatlakozás: %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Támogatott modulok:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1420,7 +1445,7 @@ msgstr "" "további információkért és opciókért.\n" " Ez az APT a SzuperTehén Hatalmával rendelkezik.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1728,8 +1753,8 @@ msgstr "A(z) %s/%s fájl felülÃrja a(z) %s csomagban levÅ‘t" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1761,7 +1786,7 @@ msgstr "Az info és temp könyvtáraknak egy fájlrendszeren kell lenniük" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Csomaglisták olvasása" @@ -2129,35 +2154,29 @@ msgstr "Valami rossz történt '%s: %s' feloldásakor (%i)" msgid "Unable to connect to %s:%s:" msgstr "Sikertelen kapcsolódás ide: %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "TelepÃtés megszakÃtása." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "BelsÅ‘ hiba: Jó aláÃrás, de meghatározhatatlan kulcs ujjlenyomat?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "1 vagy több érvénytelen aláÃrást találtam." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "'%s' nem futtatható az aláÃrás ellenÅ‘rzéséhez (a gpgv telepÃtve van?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Ismeretlen gpgv futtatási hiba" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Az alábbi aláÃrások érvénytelenek voltak:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2315,57 +2334,57 @@ msgstr "" msgid "Selection %s not found" msgstr "%s kiválasztás nem található" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Ismeretlen tÃpusrövidÃtés: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "%s konfigurációs fájl megnyitása" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Szintaktikai hiba %s: %u: A blokk név nélkül kezdÅ‘dik" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Szintaktikai hiba %s: %u: hibás formátumú cÃmke" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Szintaktikai hiba %s: %u: fölösleges szemét az érték után" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Szintaktikai hiba %s: %u: Csak legfelsÅ‘ szinten használhatók elÅ‘Ãrások" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Szintaktikai hiba %s: %u: Túl sok beágyazott include" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Szintaktikai hiba %s: %u: ugyaninnen include-olva" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Szintaktikai hiba %s: %u: '%s' nem támogatott elÅ‘Ãrás" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "Szintaktikai hiba %s: %u: Csak legfelsÅ‘ szinten használhatók elÅ‘Ãrások" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Szintaktikai hiba %s: %u: fölösleges szemét a fájl végén" @@ -2509,7 +2528,7 @@ msgstr "%s alfolyamat hibakóddal tért vissza (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "%s alfolyamat váratlanul kilépett" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Nem lehet megnyitni %s fájlt" @@ -2736,14 +2755,14 @@ msgstr "A(z) %u. sor hibás %s forráslistában (tÃpus)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "'%s' tÃpus nem ismert a(z) %u. sorban a(z) %s forráslistában" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2754,7 +2773,7 @@ msgstr "" "alapvetÅ‘ csomagot ami Ãœtközési/ElÅ‘-függÅ‘ségi hurkot okoz. Ez gyakran rossz, " "de ha tényleg ezt akarod tenni, aktiváld az APT::Force-LoopBreak opciót." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2786,7 +2805,7 @@ msgid "Unable to correct problems, you have held broken packages." msgstr "" "A problémák nem javÃthatók, sérült visszafogott csomagok vannak a rendszeren." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2837,12 +2856,12 @@ msgstr "A(z) %s metódus nem indult el helyesen" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Tedd be a(z) %s cÃmkéjű lemezt a(z) %s meghajtóba és üss entert" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "A(z) '%s' csomagrendszer nem támogatott" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "A megfelelÅ‘ csomagrendszer tÃpus nem határozható meg" @@ -2868,17 +2887,24 @@ msgstr "Próbáld futtatni az apt-get update -et, hogy javÃtsd e hibákat" msgid "The list of sources could not be read." msgstr "A források listája olvashatatlan." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Hibás rekord a tulajdonság fájlban, nincs csomagfejléc" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "A(z) %s tűtÃpus nem értelmezhetÅ‘" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Nincs prioritás (vagy nulla) megadva a tűhöz" @@ -2973,7 +2999,7 @@ msgstr "Nem lehet a(z) %s forrás csomaglistáját elérni" msgid "Collecting File Provides" msgstr "\"ElÅ‘készÃt\" kapcsolatok összegyűjtése" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "IO hiba a forrás-gyorsÃtótár mentésekor" @@ -2986,8 +3012,8 @@ msgstr "sikertelen átnevezés, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Az MD5Sum nem megfelelÅ‘" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "A Hash Sum nem megfelelÅ‘" @@ -3007,20 +3033,19 @@ msgstr "Nem lehet a(z) %s csomagfájlt feldolgozni (1)" msgid "There is no public key available for the following key IDs:\n" msgstr "Nincs elérhetÅ‘ nyilvános kulcs az alábbi kulcs azonosÃtókhoz:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3028,12 +3053,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3042,7 +3067,7 @@ msgstr "" "Nem találtam egy fájlt a(z) %s csomaghoz. Ez azt jelentheti, hogy kézzel " "kell kijavÃtani a csomagot. (hiányzó arch. miatt)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3051,14 +3076,14 @@ msgstr "" "Nem találtam egy fájlt a(z) %s csomaghoz. Ez azt jelentheti, hogy kézzel " "kell kijavÃtani a csomagot." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "A csomagindex-fájlok megsérültek. Nincs Filename: mezÅ‘ a(z) %s csomaghoz." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "A méret nem megfelelÅ‘" @@ -3180,22 +3205,22 @@ msgstr "Új forráslista Ãrása\n" msgid "Source list entries for this disc are:\n" msgstr "E lemezhez tartozó forráslista-bejegyzések a következÅ‘k:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i rekord kiÃrva.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i rekord kiÃrva, %i hiányzó fájllal.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i rekord kiÃrva %i hibásan párosÃtott fájllal\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "%i rekord kiÃrva %i hiányzó és %i hibásan párosÃtott fájllal\n" @@ -3215,6 +3240,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "A Hash Sum nem megfelelÅ‘" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "TelepÃtés megszakÃtása." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2011-05-16 21:38+0200\n" "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n" "Language-Team: Italian <tp@lists.linux.it>\n" @@ -158,7 +158,7 @@ msgstr " Tabella versione:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s per %s compilato il %s %s\n" @@ -840,7 +840,7 @@ msgstr "La reinstallazione di %s non è possibile, non può essere scaricato.\n" msgid "%s is already the newest version.\n" msgstr "%s è già alla versione più recente.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "È stato impostato %s per l'installazione manuale.\n" @@ -956,8 +956,8 @@ msgstr "Dopo quest'operazione, verranno occupati %sB di spazio su disco.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Dopo quest'operazione, verranno liberati %sB di spazio su disco.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Impossibile determinare lo spazio libero in %s" @@ -996,7 +996,7 @@ msgstr "Interrotto." msgid "Do you want to continue [Y/n]? " msgstr "Continuare [S/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Impossibile recuperare %s %s\n" @@ -1005,7 +1005,7 @@ msgstr "Impossibile recuperare %s %s\n" msgid "Some files failed to download" msgstr "Scaricamento di alcuni file non riuscito" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Scaricamento completato e in modalità solo scaricamento" @@ -1047,32 +1047,32 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Nota: questo viene svolto automaticamente da dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignorato il rilascio non disponibile \"%s\" del pacchetto \"%s\"" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Scelto \"%s\" come pacchetto sorgente al posto di \"%s\"\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Ignorata la versione \"%s\" non disponibile del pacchetto \"%s\"" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Il comando update non accetta argomenti" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Non si è autorizzati a rimuovere nulla, impossibile avviare AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1090,15 +1090,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Le seguenti informazioni possono aiutare a risolvere la situazione:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Errore interno, AutoRemover ha rovinato qualche cosa" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1111,7 +1111,7 @@ msgstr[1] "" "I seguenti pacchetti sono stati installati automaticamente e non sono più " "richiesti:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1122,20 +1122,20 @@ msgstr[1] "" "%lu pacchetti sono stati installati automaticamente e non sono più " "richiesti.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Usare \"apt-get autoremove\" per rimuoverli." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Errore interno, AllUpgrade ha rovinato qualche cosa" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "È utile eseguire \"apt-get -f install\" per correggere questi problemi:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1143,7 +1143,7 @@ msgstr "" "Dipendenze non soddisfatte. Provare \"apt-get -f install\" senza pacchetti " "(o specificare una soluzione)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1155,74 +1155,74 @@ msgstr "" "usando una distribuzione in sviluppo, che alcuni pacchetti richiesti\n" "non sono ancora stati creati o sono stati rimossi da Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Pacchetti danneggiati" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "I seguenti pacchetti saranno inoltre installati:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Pacchetti suggeriti:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Pacchetti raccomandati:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Impossibile trovare il pacchetto %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s impostato automaticamente come installato.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Calcolo dell'aggiornamento... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Non riuscito" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Eseguito" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Errore interno, \"problem resolver\" ha rovinato qualcosa" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Impossibile bloccare la directory di scaricamento" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "Scaricamento di %s %s" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "È necessario specificare almeno un pacchetto di cui recuperare il sorgente" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Impossibile trovare un pacchetto sorgente per %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1232,7 +1232,7 @@ msgstr "" "all'interno del sistema di controllo della versione \"%s\" presso:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1244,80 +1244,96 @@ msgstr "" "per recuperare gli ultimi (e probabilmente non rilasciati) aggiornamenti del " "pacchetto.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Il pacchetto \"%s\" già scaricato viene saltato\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Lo spazio libero in %s è insufficiente" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "È necessario recuperare %sB/%sB di sorgenti.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "È necessario scaricare %sB di sorgenti.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Recupero sorgente %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Recupero di alcuni archivi non riuscito." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Estrazione del pacchetto sorgente già estratto in %s saltata\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Comando di estrazione \"%s\" non riuscito.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Verificare che il pacchetto \"dpkg-dev\" sia installato.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Comando \"%s\" di generazione non riuscito.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Creazione processo figlio non riuscita" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "È necessario specificare almeno un pacchetto di cui controllare le " "dipendenze di generazione" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Impossibile ottenere informazioni di dipendenza di generazione per %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s non ha dipendenze di generazione.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"%s dipendenze per %s non possono essere soddisfatte perché il pacchetto %s " +"non può essere trovato" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1326,46 +1342,55 @@ msgstr "" "%s dipendenze per %s non possono essere soddisfatte perché il pacchetto %s " "non può essere trovato" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"La dipendenza %s per %s non è stata soddisfatta: il pacchetto installato %s " +"è troppo recente" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s dipendenze per %s non possono essere soddisfatte perché nessuna versione " "del pacchetto %s può soddisfare le richieste di versione" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"La dipendenza %s per %s non è stata soddisfatta: il pacchetto installato %s " -"è troppo recente" +"%s dipendenze per %s non possono essere soddisfatte perché il pacchetto %s " +"non può essere trovato" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "La dipendenza %s per %s non è stata soddisfatta: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Le dipendenze di generazione per %s non sono state soddisfatte." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Elaborazione delle dipendenze di generazione non riuscita" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, c-format msgid "Changelog for %s (%s)" msgstr "Changelog per %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Moduli supportati:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1458,7 +1483,7 @@ msgstr "" "apt-get(8), sources.list(5) e apt.conf(5).\n" " Questo APT ha i poteri della Super Mucca.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1777,8 +1802,8 @@ msgstr "Il file %s/%s sovrascrive quello nel pacchetto %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1810,7 +1835,7 @@ msgstr "Le directory temp e info devono essere sullo stesso file system" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Lettura elenco dei pacchetti" @@ -2182,38 +2207,32 @@ msgstr "" msgid "Unable to connect to %s:%s:" msgstr "Impossibile connettersi a %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Nessun portachiavi installato in %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Errore interno: firma corretta, ma non è possibile determinare l'impronta " "della chiave." -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "È stata trovata almeno una firma non valida." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Impossibile eseguire \"gpgv\" per verificare la firma (forse gpgv non è " "installato)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Errore sconosciuto durante l'esecuzione di gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Le seguenti firme non erano valide:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2375,62 +2394,62 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Selezione %s non trovata" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Tipo di abbreviazione non riconosciuto: \"%c\"" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Apertura file di configurazione %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Errore di sintassi %s:%u: il blocco inizia senza nome" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Errore di sintassi %s:%u: tag non corretto" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Errore di sintassi %s:%u: caratteri extra dopo il valore" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Errore di sintassi %s:%u: le direttive possono essere fatte solo al livello " "più alto" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Errore di sintassi %s:%u: troppe inclusioni annidate" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Errore di sintassi %s:%u: incluso da qui" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Errore di sintassi %s:%u: direttiva \"%s\" non supportata" # (ndt) sarebbe da controllare meglio... -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Errore di sintassi %s:%u: la direttiva clear richiede un albero di opzioni " "come argomento" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Errore di sintassi %s:%u: caratteri extra alla fine del file" @@ -2581,7 +2600,7 @@ msgstr "Il sottoprocesso %s ha restituito un codice d'errore (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Il sottoprocesso %s è uscito inaspettatamente" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Impossibile aprire il file %s" @@ -2819,7 +2838,7 @@ msgstr "La riga %u nel file %s non è corretta (type)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Tipo \"%s\" non riconosciuto alla riga %u nel file %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2829,7 +2848,7 @@ msgstr "" "maggiori informazioni, consultare \"man 5 apt.conf\" alla sezione \"APT::" "Immediate-Configure\" (%d)." -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2841,7 +2860,7 @@ msgstr "" "situazione critica, ma se si vuole realmente procedere, attivare l'opzione " "APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2877,7 +2896,7 @@ msgid "Unable to correct problems, you have held broken packages." msgstr "" "Impossibile correggere i problemi, ci sono pacchetti danneggiati bloccati." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2928,12 +2947,12 @@ msgstr "Il metodo %s non si è avviato correttamente" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Inserire il disco chiamato \"%s\" nell'unità \"%s\" e premere Invio." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Il sistema di pacchetti \"%s\" non è supportato" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Impossibile determinare un tipo di sistema appropriato di pacchetti" @@ -2961,19 +2980,26 @@ msgstr "" msgid "The list of sources could not be read." msgstr "Impossibile leggere l'elenco dei sorgenti." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "Campo non valido nel file delle preferenze %s, manca l'intestazione \"Package" "\"" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Impossibile comprendere il tipo di gancio %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Priorità per il gancio non specificata (o zero)" @@ -3067,7 +3093,7 @@ msgstr "Impossibile eseguire stat sull'elenco dei pacchetti sorgente %s" msgid "Collecting File Provides" msgstr "Il file fornisce" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Errore di I/O nel salvare la cache sorgente" @@ -3080,8 +3106,8 @@ msgstr "rename() non riuscita: %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5sum non corrispondente" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Somma hash non corrispondente" @@ -3104,20 +3130,19 @@ msgid "There is no public key available for the following key IDs:\n" msgstr "" "Non è disponibile alcuna chiave pubblica per i seguenti ID di chiavi:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "File Release scaduto, %s viene ignorato (non valido da %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Distribuzione in conflitto: %s (atteso %s ma ottenuto %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3127,12 +3152,12 @@ msgstr "" "aggiornato e verranno usati i file indice precedenti. Errore GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Errore GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3141,7 +3166,7 @@ msgstr "" "Impossibile trovare un file per il pacchetto %s. Potrebbe essere necessario " "sistemare manualmente questo pacchetto (a causa dell'architettura mancante)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, fuzzy, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3151,7 +3176,7 @@ msgstr "" "sistemare manualmente questo pacchetto." # (ndt) sarebbe da controllare se veramente possono esistere più file indice -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3159,7 +3184,7 @@ msgstr "" "I file indice del pacchetto sono danneggiati. Manca il campo \"Filename:\" " "per il pacchetto %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Le dimensioni non corrispondono" @@ -3283,22 +3308,22 @@ msgstr "Scrittura nuovo elenco sorgenti\n" msgid "Source list entries for this disc are:\n" msgstr "Le voci dell'elenco sorgenti per questo disco sono:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Scritti %i record.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Scritti %i record con %i file mancanti.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Scritti %i record con %i file senza corrispondenze\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3319,6 +3344,17 @@ msgstr "Impossibile trovare il record di autenticazione per %s" msgid "Hash mismatch for: %s" msgstr "Hash non corrispondente per %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Nessun portachiavi installato in %s." + # (ndt) dovrebbe essere inteso il file Release #: apt-pkg/cacheset.cc:337 #, c-format @@ -3586,3 +3622,6 @@ msgstr "Connessione chiusa prematuramente" #~| msgid "Internal error, could not locate member %s" #~ msgid "Internal error, could not locate member" #~ msgstr "Errore interno, impossibile trovare il membro %s" + +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "File Release scaduto, %s viene ignorato (non valido da %s)" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.0~pre1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-08-25 09:33+0900\n" "Last-Translator: Kenshi Muto <kmuto@debian.org>\n" "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n" @@ -155,7 +155,7 @@ msgstr " ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ル:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s for %s コンパイル日時: %s %s\n" @@ -835,7 +835,7 @@ msgstr "ダウンãƒãƒ¼ãƒ‰ã§ããªã„ãŸã‚ã€%s ã®å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¯ä¸ msgid "%s is already the newest version.\n" msgstr "%s ã¯ã™ã§ã«æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã™ã€‚\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s ã¯æ‰‹å‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã¨è¨å®šã•ã‚Œã¾ã—ãŸã€‚\n" @@ -950,8 +950,8 @@ msgstr "ã“ã®æ“作後ã«è¿½åŠ 㧠%sB ã®ãƒ‡ã‚£ã‚¹ã‚¯å®¹é‡ãŒæ¶ˆè²»ã•ã‚Œã¾ã msgid "After this operation, %sB disk space will be freed.\n" msgstr "ã“ã®æ“作後㫠%sB ã®ãƒ‡ã‚£ã‚¹ã‚¯å®¹é‡ãŒè§£æ”¾ã•ã‚Œã¾ã™ã€‚\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "%s ã®ç©ºãé ˜åŸŸã‚’æ¸¬å®šã§ãã¾ã›ã‚“" @@ -988,7 +988,7 @@ msgstr "ä¸æ–ã—ã¾ã—ãŸã€‚" msgid "Do you want to continue [Y/n]? " msgstr "続行ã—ã¾ã™ã‹ [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "%s ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—㟠%s\n" @@ -997,7 +997,7 @@ msgstr "%s ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—㟠%s\n" msgid "Some files failed to download" msgstr "ã„ãã¤ã‹ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "ダウンãƒãƒ¼ãƒ‰ã‚ªãƒ³ãƒªãƒ¼ãƒ¢ãƒ¼ãƒ‰ã§ãƒ‘ッケージã®ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ãŒå®Œäº†ã—ã¾ã—ãŸ" @@ -1039,32 +1039,32 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "注æ„: ã“れ㯠dpkg ã«ã‚ˆã‚Šè‡ªå‹•ã§ã‚ã–ã¨è¡Œã‚れれã¾ã™ã€‚" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "パッケージ '%2$s' ã®åˆ©ç”¨ã§ããªã„ターゲットリリース '%1$s' を無視" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "'%2$s' ã®ä»£ã‚ã‚Šã« '%1$s' をソースパッケージã¨ã—ã¦é¸å‡ºã—ã¦ã„ã¾ã™\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "パッケージ '%2$s' ã®åˆ©ç”¨ã§ããªã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%1$s' を無視" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "update コマンドã¯å¼•æ•°ã‚’ã¨ã‚Šã¾ã›ã‚“" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "一連ã®ã‚‚ã®ã‚’削除ã™ã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ãªã„ã®ã§ã€AutoRemover を開始ã§ãã¾ã›ã‚“" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1082,15 +1082,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "以下ã®æƒ…å ±ãŒã“ã®å•é¡Œã‚’解決ã™ã‚‹ãŸã‚ã«å½¹ç«‹ã¤ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "内部エラーã€AutoRemover ãŒä½•ã‹ã‚’ç ´å£Šã—ã¾ã—ãŸ" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1101,7 +1101,7 @@ msgstr[0] "" msgstr[1] "" "以下ã®ãƒ‘ッケージãŒè‡ªå‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã—ãŸãŒã€ã‚‚ã†å¿…è¦ã¨ã•ã‚Œã¦ã„ã¾ã›ã‚“:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1113,21 +1113,21 @@ msgstr[1] "" "%lu ã¤ã®ãƒ‘ッケージãŒè‡ªå‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã—ãŸãŒã€ã‚‚ã†å¿…è¦ã¨ã•ã‚Œã¦ã„ã¾ã›" "ã‚“:\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "ã“れらを削除ã™ã‚‹ã«ã¯ 'apt-get autoremove' を利用ã—ã¦ãã ã•ã„。" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "内部エラーã€AllUpgrade ãŒä½•ã‹ã‚’ç ´å£Šã—ã¾ã—ãŸ" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "以下ã®å•é¡Œã‚’解決ã™ã‚‹ãŸã‚ã« 'apt-get -f install' を実行ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œ" "ã¾ã›ã‚“:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1135,7 +1135,7 @@ msgstr "" "未解決ã®ä¾å˜é–¢ä¿‚ã§ã™ã€‚'apt-get -f install' を実行ã—ã¦ã¿ã¦ãã ã•ã„ (ã¾ãŸã¯è§£æ³•" "を明示ã—ã¦ãã ã•ã„)。" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1147,74 +1147,74 @@ msgstr "" "ã§ã‚ã‚Œã°) å¿…è¦ãªãƒ‘ッケージãŒã¾ã 作æˆã•ã‚Œã¦ã„ãªã‹ã£ãŸã‚Š Incoming ã‹ã‚‰ç§»\n" "å‹•ã•ã‚Œã¦ã„ãªã„ã“ã¨ãŒè€ƒãˆã‚‰ã‚Œã¾ã™ã€‚" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "壊れãŸãƒ‘ッケージ" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "以下ã®ç‰¹åˆ¥ãƒ‘ッケージãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã™:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "æ案パッケージ:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "推奨パッケージ:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "パッケージ %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s ã¯è‡ªå‹•ã§ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã¨è¨å®šã•ã‚Œã¾ã—ãŸã€‚\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "アップグレードパッケージを検出ã—ã¦ã„ã¾ã™ ... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "失敗" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "完了" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "内部エラーã€å•é¡Œãƒªã‚¾ãƒ«ãƒãŒä½•ã‹ã‚’ç ´å£Šã—ã¾ã—ãŸ" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "ダウンãƒãƒ¼ãƒ‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ãƒãƒƒã‚¯ã§ãã¾ã›ã‚“" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "ソースをå–å¾—ã™ã‚‹ã«ã¯å°‘ãªãã¨ã‚‚ã²ã¨ã¤ã®ãƒ‘ッケージåを指定ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "%s ã®ã‚½ãƒ¼ã‚¹ãƒ‘ッケージãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1224,7 +1224,7 @@ msgstr "" "ã¾ã™:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1236,80 +1236,96 @@ msgstr "" "bzr get %s\n" "を使用ã—ã¦ãã ã•ã„。\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "ã™ã§ã«ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ« '%s' をスã‚ップã—ã¾ã™\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "%s ã«å……分ãªç©ºãスペースãŒã‚ã‚Šã¾ã›ã‚“" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "%2$sB ä¸ %1$sB ã®ã‚½ãƒ¼ã‚¹ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã‚’å–å¾—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "%sB ã®ã‚½ãƒ¼ã‚¹ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã‚’å–å¾—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "ソース %s ã‚’å–å¾—\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "ã„ãã¤ã‹ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "ã™ã§ã« %s ã«å±•é–‹ã•ã‚ŒãŸã‚½ãƒ¼ã‚¹ãŒã‚ã‚‹ãŸã‚ã€å±•é–‹ã‚’スã‚ップã—ã¾ã™\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "展開コマンド '%s' ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" "'dpkg-dev' パッケージãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "ビルドコマンド '%s' ãŒå¤±æ•—ã—ã¾ã—ãŸã€‚\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "åプãƒã‚»ã‚¹ãŒå¤±æ•—ã—ã¾ã—ãŸ" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "ビルドä¾å˜é–¢ä¿‚ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ãƒ‘ッケージを少ãªãã¨ã‚‚ 1 ã¤æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "%s ã®ãƒ“ルドä¾å˜æƒ…å ±ã‚’å–å¾—ã§ãã¾ã›ã‚“" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s ã«ã¯ãƒ“ルドä¾å˜æƒ…å ±ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"パッケージ %3$s ãŒè¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€%2$s ã«å¯¾ã™ã‚‹ %1$s ã®ä¾å˜é–¢ä¿‚を満ãŸã™ã“ã¨" +"ãŒã§ãã¾ã›ã‚“" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1318,46 +1334,55 @@ msgstr "" "パッケージ %3$s ãŒè¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€%2$s ã«å¯¾ã™ã‚‹ %1$s ã®ä¾å˜é–¢ä¿‚を満ãŸã™ã“ã¨" "ãŒã§ãã¾ã›ã‚“" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"%2$s ã®ä¾å˜é–¢ä¿‚ %1$s を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“: インストールã•ã‚ŒãŸ %3$s パッ" +"ケージã¯æ–°ã—ã™ãŽã¾ã™" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "入手å¯èƒ½ãª %3$s ã¯ã„ãšã‚Œã‚‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¤ã„ã¦ã®è¦æ±‚を満ãŸã›ãªã„ãŸã‚ã€%2$s ã«å¯¾" "ã™ã‚‹ %1$s ã®ä¾å˜é–¢ä¿‚を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"%2$s ã®ä¾å˜é–¢ä¿‚ %1$s を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“: インストールã•ã‚ŒãŸ %3$s パッ" -"ケージã¯æ–°ã—ã™ãŽã¾ã™" +"パッケージ %3$s ãŒè¦‹ã¤ã‹ã‚‰ãªã„ãŸã‚ã€%2$s ã«å¯¾ã™ã‚‹ %1$s ã®ä¾å˜é–¢ä¿‚を満ãŸã™ã“ã¨" +"ãŒã§ãã¾ã›ã‚“" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "%2$s ã®ä¾å˜é–¢ä¿‚ %1$s を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“: %3$s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "%s ã®ãƒ“ルドä¾å˜é–¢ä¿‚を満ãŸã™ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "ビルドä¾å˜é–¢ä¿‚ã®å‡¦ç†ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "%s (%s) ã¸æŽ¥ç¶šã—ã¦ã„ã¾ã™" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„るモジュール:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1452,7 +1477,7 @@ msgstr "" "apt-get(8)ã€sources.list(5)ã€apt.conf(5) ã‚’å‚ç…§ã—ã¦ãã ã•ã„。\n" " ã“ã® APT 㯠Super Cow Powers 化ã•ã‚Œã¦ã„ã¾ã™ã€‚\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1763,8 +1788,8 @@ msgstr "ファイル %s/%s ãŒãƒ‘ッケージ %s ã®ã‚‚ã®ã‚’上書ãã—ã¾ã™" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1796,7 +1821,7 @@ msgstr "info 㨠temp ディレクトリã¯åŒã˜ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ 上ã«ã #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "パッケージリストをèªã¿è¾¼ã‚“ã§ã„ã¾ã™" @@ -2166,36 +2191,30 @@ msgstr "'%s:%s' (%i - %s) ã®è§£æ±ºä¸ã«ä½•ã‹å•é¡ŒãŒèµ·ã“ã‚Šã¾ã—ãŸ" msgid "Unable to connect to %s:%s:" msgstr "%s:%s ã¸æŽ¥ç¶šã§ãã¾ã›ã‚“:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "%s ã«ã‚ーリングãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“。" - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "内部エラー: æ£ã—ã„ç½²åã§ã™ãŒã€éµæŒ‡ç´‹ã‚’確定ã§ãã¾ã›ã‚“?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "å°‘ãªãã¨ã‚‚ 1 ã¤ã®ä¸æ£ãªç½²åãŒç™ºè¦‹ã•ã‚Œã¾ã—ãŸã€‚" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "ç½²åを検証ã™ã‚‹ãŸã‚ã® 'gpgv' ã®å®Ÿè¡ŒãŒã§ãã¾ã›ã‚“ã§ã—㟠(gpgv ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œ" "ã¦ã„ã¾ã™ã‹?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "gpgv ã®å®Ÿè¡Œä¸ã«æœªçŸ¥ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿ" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "以下ã®ç½²åãŒç„¡åŠ¹ã§ã™:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2351,59 +2370,59 @@ msgstr "%li秒" msgid "Selection %s not found" msgstr "é¸æŠžã•ã‚ŒãŸ %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "ç†è§£ã§ããªã„çœç•¥å½¢å¼ã§ã™: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "è¨å®šãƒ•ã‚¡ã‚¤ãƒ« %s をオープンã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "文法エラー %s:%u: ブãƒãƒƒã‚¯ãŒåå‰ãªã—ã§å§‹ã¾ã£ã¦ã„ã¾ã™ã€‚" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "文法エラー %s:%u: ä¸æ£ãªã‚¿ã‚°ã§ã™" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "文法エラー %s:%u: 値ã®å¾Œã«ä½™åˆ†ãªã‚´ãƒŸãŒå…¥ã£ã¦ã„ã¾ã™" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "文法エラー %s:%u: 命令ã¯ãƒˆãƒƒãƒ—レベルã§ã®ã¿å®Ÿè¡Œã§ãã¾ã™" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "文法エラー %s:%u: インクルードã®ãƒã‚¹ãƒˆãŒå¤šã™ãŽã¾ã™" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "文法エラー %s:%u: ã“ã“ã‹ã‚‰ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã¾ã™" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "文法エラー %s:%u: 未対応ã®å‘½ä»¤ '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "文法エラー %s:%u: clear ディレクティブã¯ã€å¼•æ•°ã¨ã—ã¦ã‚ªãƒ—ションツリーを必è¦ã¨" "ã—ã¾ã™" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "文法エラー %s:%u: ファイルã®æœ€å¾Œã«ä½™è¨ˆãªã‚´ãƒŸãŒã‚ã‚Šã¾ã™" @@ -2546,7 +2565,7 @@ msgstr "åプãƒã‚»ã‚¹ %s ãŒã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰ (%u) ã‚’è¿”ã—ã¾ã—ãŸ" msgid "Sub-process %s exited unexpectedly" msgstr "åプãƒã‚»ã‚¹ %s ãŒäºˆæœŸã›ãšçµ‚了ã—ã¾ã—ãŸ" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "ファイル %s をオープンã§ãã¾ã›ã‚“ã§ã—ãŸ" @@ -2777,7 +2796,7 @@ msgstr "ソースリスト %2$s ã® %1$u 行目ãŒä¸æ£ã§ã™ (type)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "ソースリスト %3$s ã® %2$u è¡Œã«ã‚るタイプ '%1$s' ã¯ä¸æ˜Žã§ã™" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2786,7 +2805,7 @@ msgstr "" "'%s' ã®å³æ™‚è¨å®šã¯å‹•ä½œã—ã¾ã›ã‚“。詳細ã«ã¤ã„ã¦ã¯ man 5 apt.conf ã® APT::" "Immediate-Configure ã®é …ã‚’å‚ç…§ã—ã¦ãã ã•ã„。(%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2797,7 +2816,7 @@ msgstr "" "ケージ %s を削除ã—ã¾ã™ã€‚ã“ã‚Œã¯å¤šãã®å ´åˆã«å•é¡ŒãŒèµ·ã“ã‚‹åŽŸå› ã¨ãªã‚Šã¾ã™ã€‚本当ã«" "ã“れを行ã„ãŸã„ãªã‚‰ã€APT::Force-LoopBreak オプションを有効ã«ã—ã¦ãã ã•ã„。" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2831,7 +2850,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "å•é¡Œã‚’解決ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。壊れãŸå¤‰æ›´ç¦æ¢ãƒ‘ッケージãŒã‚ã‚Šã¾ã™ã€‚" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2884,12 +2903,12 @@ msgstr "" "'%s' ã¨ãƒ©ãƒ™ãƒ«ã®ä»˜ã„ãŸãƒ‡ã‚£ã‚¹ã‚¯ã‚’ドライブ '%s' ã«å…¥ã‚Œã¦ enter を押ã—ã¦ãã ã•" "ã„。" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "パッケージングシステム'%s' ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "é©åˆ‡ãªãƒ‘ッケージシステムタイプを特定ã§ãã¾ã›ã‚“" @@ -2918,19 +2937,26 @@ msgstr "" msgid "The list of sources could not be read." msgstr "ソースã®ãƒªã‚¹ãƒˆã‚’èªã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“。" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "ä¸æ£ãªãƒ¬ã‚³ãƒ¼ãƒ‰ãŒãƒ—リファレンスファイル %s ã«å˜åœ¨ã—ã¾ã™ã€‚パッケージヘッダãŒã‚" "ã‚Šã¾ã›ã‚“" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "pin タイプ %s ãŒç†è§£ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "pin ã§å„ªå…ˆåº¦ (ã¾ãŸã¯ 0) ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“" @@ -3019,7 +3045,7 @@ msgstr "ソースパッケージリスト %s ã®çŠ¶æ…‹ã‚’å–å¾—ã§ãã¾ã›ã‚“" msgid "Collecting File Provides" msgstr "ファイルæä¾›æƒ…å ±ã‚’åŽé›†ã—ã¦ã„ã¾ã™" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "ソースã‚ャッシュã®ä¿å˜ä¸ã« IO エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ" @@ -3032,8 +3058,8 @@ msgstr "åå‰ã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸã€‚%s (%s -> %s)" msgid "MD5Sum mismatch" msgstr "MD5Sum ãŒé©åˆã—ã¾ã›ã‚“" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "ãƒãƒƒã‚·ãƒ¥ã‚µãƒ ãŒé©åˆã—ã¾ã›ã‚“" @@ -3053,23 +3079,21 @@ msgstr "Release ファイル %s を解釈ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" msgid "There is no public key available for the following key IDs:\n" msgstr "以下ã®éµ ID ã«å¯¾ã—ã¦åˆ©ç”¨å¯èƒ½ãªå…¬é–‹éµãŒã‚ã‚Šã¾ã›ã‚“:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -"Release ファイルãŒæœŸé™åˆ‡ã‚Œã«ãªã£ã¦ã„ã‚‹ã®ã§ã€%s を無視ã—ã¾ã™ (%s 以æ¥ç„¡åŠ¹)" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" "ディストリビューションãŒç«¶åˆã—ã¦ã„ã¾ã™: %s (%s を期待ã—ã¦ã„ãŸã®ã« %s ã‚’å–å¾—ã—" "ã¾ã—ãŸ)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3079,12 +3103,12 @@ msgstr "" "ファイルãŒä½¿ã‚ã‚Œã¾ã™ã€‚GPG エラー: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "GPG エラー: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3093,7 +3117,7 @@ msgstr "" "パッケージ %s ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½ç½®ã‚’特定ã§ãã¾ã›ã‚“。ãŠãらãã“ã®ãƒ‘ッケージを手動" "ã§ä¿®æ£ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ (å˜åœ¨ã—ãªã„アーã‚テクãƒãƒ£ã®ãŸã‚)。" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3102,7 +3126,7 @@ msgstr "" "パッケージ %s ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½ç½®ã‚’特定ã§ãã¾ã›ã‚“。ãŠãらãã“ã®ãƒ‘ッケージを手動" "ã§ä¿®æ£ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3110,7 +3134,7 @@ msgstr "" "パッケージインデックスファイルãŒå£Šã‚Œã¦ã„ã¾ã™ã€‚パッケージ %s ã« Filename: " "フィールドãŒã‚ã‚Šã¾ã›ã‚“。" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "サイズãŒé©åˆã—ã¾ã›ã‚“" @@ -3234,22 +3258,22 @@ msgstr "æ–°ã—ã„ソースリストを書ã込んã§ã„ã¾ã™\n" msgid "Source list entries for this disc are:\n" msgstr "ã“ã®ãƒ‡ã‚£ã‚¹ã‚¯ã®ã‚½ãƒ¼ã‚¹ãƒªã‚¹ãƒˆã®ã‚¨ãƒ³ãƒˆãƒª:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i レコードを書ãè¾¼ã¿ã¾ã—ãŸã€‚\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i レコードを書ãè¾¼ã¿ã¾ã—ãŸã€‚%i 個ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒå˜åœ¨ã—ã¾ã›ã‚“。\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i レコードを書ãè¾¼ã¿ã¾ã—ãŸã€‚%i 個ã®é©åˆã—ãªã„ファイルãŒã‚ã‚Šã¾ã™ã€‚\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3271,6 +3295,17 @@ msgstr "èªè¨¼ãƒ¬ã‚³ãƒ¼ãƒ‰ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s" msgid "Hash mismatch for: %s" msgstr "ãƒãƒƒã‚·ãƒ¥ã‚µãƒ ãŒé©åˆã—ã¾ã›ã‚“: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "%s ã«ã‚ーリングãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“。" + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3530,3 +3565,7 @@ msgstr "途ä¸ã§æŽ¥ç¶šãŒã‚¯ãƒãƒ¼ã‚ºã•ã‚Œã¾ã—ãŸ" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "" #~ "内部エラー。グループ '%s' ã«ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å¯èƒ½ãªæ“¬ä¼¼ãƒ‘ッケージãŒã‚ã‚Šã¾ã›ã‚“" + +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "" +#~ "Release ファイルãŒæœŸé™åˆ‡ã‚Œã«ãªã£ã¦ã„ã‚‹ã®ã§ã€%s を無視ã—ã¾ã™ (%s 以æ¥ç„¡åŠ¹)" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po_km\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2006-10-10 09:48+0700\n" "Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n" "Language-Team: Khmer <support@khmeros.info>\n" @@ -161,7 +161,7 @@ msgstr " ážáž¶ážšáž¶áž„​កំណែ ៖" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s សម្រាប់ %s %s បាន​ចងក្រងនៅលើ​%s %s\n" @@ -837,7 +837,7 @@ msgstr "មិនអាចធ្វើការដំឡើង %s ឡើងវហmsgid "%s is already the newest version.\n" msgstr "%s ជាកំណែ​ដែលážáŸ’មីបំផុážážšáž½áž…ទៅហើយ ។\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "ប៉ុន្ážáŸ‚​ %s នឹង​ážáŸ’រូវ​បាន​ដំឡើ​ង" @@ -949,8 +949,8 @@ msgstr "បន្ទាប់​ពី​ពន្លា​ %sB នៃ​កាá msgid "After this operation, %sB disk space will be freed.\n" msgstr "បន្ទាប់​ពី​ពន្លា​ %sB ទំហំ​ážáž¶ážŸáž“ឹង​​ទំនáŸážšÂ ។ \n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "មិន​អាច​កំណážáŸ‹â€‹áž‘ំហំ​ទំនáŸážšâ€‹áž€áŸ’នុង​ %s បានឡើយ" @@ -987,7 +987,7 @@ msgstr "បោះបង់ ។" msgid "Do you want to continue [Y/n]? " msgstr "ážáž¾â€‹áž¢áŸ’នក​ចង់​បន្ážáž¬â€‹ [បាទ ចាស/áž‘áŸâ€‹] ? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ទៅ​ប្រមូល​យក​ %s %s\n" @@ -996,7 +996,7 @@ msgstr "បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ទៅ​ប្រម msgid "Some files failed to download" msgstr "ឯកសារ​មួយ​ចំនួន​បាន​បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ទាញ​យក​" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "បានបញ្ចប់ការទាញ​យក​ ហើយ​ážáŸ‚​ក្នុង​របៀប​​ទាញ​យក​ប៉ុណ្ណោះ" @@ -1034,31 +1034,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "មិនអាចážáŸ’លែង បញ្ជី​កញ្ចប់​ប្រភពចប់​ បានឡើយ %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "ពាក្យ​បញ្ជា​ដែលធ្វើ​ឲ្យ​ទាន់​សមáŸáž™â€‹áž‚្មាន​អាគុយម៉ង់​ទáŸ" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1074,16 +1074,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "áž–áŸážáŸŒáž˜áž¶áž“​ដូចážáž‘ៅនáŸáŸ‡ អាចជួយ​ដោះស្រាយ​ស្ážáž¶áž“ភាព​បាន ៖" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "កំហុស​ážáž¶áž„ក្នុង អ្នក​ដោះស្រាយ​បញ្ហា​បានធ្វើឲ្យážáž¼áž…​ឧបករណáŸ" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1093,7 +1093,7 @@ msgid_plural "" msgstr[0] "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖" msgstr[1] "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1101,26 +1101,26 @@ msgid_plural "" msgstr[0] "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖" msgstr[1] "កញ្ចប់​ážáŸ’មី​ážáž¶áž„ក្រោម​នឹង​ážáŸ’រូវ​បាន​ដំឡើង​ ៖" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "កំហុស​ážáž¶áž„ក្នុង ការធ្វើឲ្យប្រសើរ​ទាំងអស់បានធ្វើឲ្យ​ឧបករណáŸâ€‹ážáž¼áž…" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "អ្នក​ប្រហែល​ជា​ចង់​រážáŸ‹ 'apt-get -f install' ដើម្បី​កែ​ពួក​វា​ទាំង​នáŸáŸ‡Â ៖" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" "ភាពអស្រáŸáž™â€‹ážŠáŸ‚ល​ážáž»ážŸâ€‹áž‚្នា ។ ព្យាយាម​ 'apt-get -f install' ដោយ​គ្មាន​កញ្ចប់ (ឬ បញ្ជាក់​ដំណោះស្រាយ) ។" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1132,80 +1132,80 @@ msgstr "" "ដែលបាន​ទាមទារនឹងមិនទាន់បានបង្កើážâ€‹áž¡áž¾áž™â€‹\n" " ឬ ​បានយក​ចáŸáž‰â€‹áž–ីការមកដល់ ។" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "កញ្ចប់​ដែល​បាន​ážáž¼áž…​" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "កញ្ចប់​បន្ážáŸ‚ម​ដូចážáž‘ៅនáŸáŸ‡ នឹងážáŸ’រូវបាន​ដំឡើង ៖" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "កញ្ចប់​ដែល​បាន​ផ្ដល់​យោបល់ ៖" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "កញ្ចប់​ដែល​បាន​ផ្ដល់​អនុសាសនáŸÂ ៖" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "មិន​អាច​រក​កញ្ចប់ %s បានទáŸ" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "ប៉ុន្ážáŸ‚​ %s នឹង​ážáŸ’រូវ​បាន​ដំឡើ​ង" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "កំពុង​គណនា​ការ​ធ្វើ​ឲ្យ​ប្រសើរ... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "បាន​បរាជáŸáž™" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "ធ្វើរួច​" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "កំហុស​ážáž¶áž„ក្នុង អ្នក​ដោះស្រាយ​បញ្ហា​បានធ្វើឲ្យážáž¼áž…​ឧបករណáŸ" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "មិន​អាច​ចាក់​សោ​ážážâ€‹áž‘ាញ​យក​បាន​ឡើយ" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "យ៉ាងហោចណាស់​ážáŸ’រូវ​​បញ្ជាក់​​កញ្ចប់​មួយ ​ដើម្បី​ទៅ​​ប្រមូល​យក​ប្រភព​សម្រាប់" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "មិន​អាច​រក​កញ្ចប់ប្រភព​​សម្រាប់ %s បានឡើយ" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1213,122 +1213,143 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "កំពុង​រំលង​ឯកសារ​ដែល​បាន​ទាញយក​រួច​ '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "អ្នក​ពុំ​មាន​ទំហំ​ទំនáŸážšâ€‹áž‚្រប់គ្រាន់​ទáŸâ€‹áž“ៅក្នុង​ %s ឡើយ" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "ážáŸ’រូវការ​យក​ %sB/%sB នៃ​បáŸážŽáŸ’ណសារ​ប្រភព ។\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "ážáŸ’រូវការ​យក​ %sB នៃ​បáŸážŽáŸ’ណសារ​ប្រភព​ ។\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "ទៅប្រមូល​ប្រភព​ %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "បរាជáŸáž™â€‹áž€áŸ’នុងការទៅប្រមូលយក​បáŸážŽáŸ’ណសារ​មួយចំនួន ។" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "កំពុង​រំលង​ការស្រាយ​នៃប្រភព​ដែលបានស្រាយរួច​នៅក្នុង %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "ពាក្យ​បញ្ជា​ស្រាយ '%s' បាន​បរាជáŸáž™â€‹Â ។\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "áž–áž·áž“áž·ážáŸ’យ​ប្រសិន​បើកញ្ចប់ 'dpkg-dev' មិន​ទាន់​បាន​ដំឡើង​ ។\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "សាងសង​ពាក្យ​បញ្ជា​ '%s' បានបរាជáŸáž™â€‹Â ។\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "ដំណើរ​ការ​កូន​បាន​បរាជáŸáž™â€‹" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "ážáŸ’រូវážáŸ‚​បញ្ជាក់​យ៉ាងហោចណាស់​មួយកញ្ចប់ដើម្បីពិនិážáŸ’áž™ builddeps សម្រាប់" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "មិន​អាច​សាងសង់​​ពáŸážáŸŒáž˜áž¶áž“​ភាពអស្រáŸáž™â€‹ážŸáž˜áŸ’រាប់ %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s មិនមានភាពអាស្រáŸáž™â€‹ážŸáŸ’ážáž¶áž”នាឡើយ​ ។\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "%s ភាពអស្រáŸáž™â€‹ážŸáž˜áŸ’រាប់​ %s មិន​អាច​ធ្វើ​ឲ្យ​ពáŸáž‰áž…áž·ážáŸ’ážâ€‹ ព្រោះ​រក​​ %s កញ្ចប់​មិន​ឃើញ​ " + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "%s ភាពអស្រáŸáž™â€‹ážŸáž˜áŸ’រាប់​ %s មិន​អាច​ធ្វើ​ឲ្យ​ពáŸáž‰áž…áž·ážáŸ’ážâ€‹ ព្រោះ​រក​​ %s កញ្ចប់​មិន​ឃើញ​ " -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "បរាជáŸáž™â€‹áž€áŸ’នុងការ​ážáž˜áŸ’រូវចិážáŸ’ážáž—ាពអាស្រáŸáž™ %s សម្រាប់ %s ៖ កញ្ចប់ %s ដែលបានដំឡើង គឺážáŸ’មីពáŸáž€" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "ភាពអាស្រáŸáž™ %s សម្រាប់ %s មិនអាច​ážáž˜áŸ’រូវចិážáŸ’ážáž”ានទ០ព្រោះ មិនមាន​កំណែ​នៃកញ្ចប់ %s ដែលអាច​ážáž˜áŸ’រូវចិážáŸ’ážâ€‹" "ážáž˜áŸ’រូវការ​កំណែបានឡើយ" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "បរាជáŸáž™â€‹áž€áŸ’នុងការ​ážáž˜áŸ’រូវចិážáŸ’ážáž—ាពអាស្រáŸáž™ %s សម្រាប់ %s ៖ កញ្ចប់ %s ដែលបានដំឡើង គឺážáŸ’មីពáŸáž€" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "%s ភាពអស្រáŸáž™â€‹ážŸáž˜áŸ’រាប់​ %s មិន​អាច​ធ្វើ​ឲ្យ​ពáŸáž‰áž…áž·ážáŸ’ážâ€‹ ព្រោះ​រក​​ %s កញ្ចប់​មិន​ឃើញ​ " -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "បរាជáŸáž™â€‹áž€áŸ’នុងការ​ážáž˜áŸ’រូវចិážáŸ’ážáž—ាពអាស្រáŸáž™ %s សម្រាប់ %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "ភាពអាស្រáŸáž™â€‹ážŠáŸ‚ល​បង្កើážâ€‹ %s មិន​អាច​បំពáŸáž‰â€‹ážŸáŸáž…ក្ដី​ážáŸ’រូវការ​បាន​ទáŸÂ ។" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "បាន​បរាជáŸáž™â€‹áž€áŸ’នុង​ការ​ដំណើរ​​ការ​បង្កើážâ€‹áž—ាព​អាស្រáŸáž™" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "កំពុង​ážáž—្ជាប់​ទៅ​កាន់​ %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "ម៉ូឌុល​ដែល​គាំទ្រ ៖ " -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1413,7 +1434,7 @@ msgstr "" "pages for more information and options.\n" " This APT has Super Cow Powers.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1721,8 +1742,8 @@ msgstr "ឯកសារ​ %s/%s សរសáŸážšáž‡áž¶áž“់​ពីលើ​ហ#. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1754,7 +1775,7 @@ msgstr "ážážáž–áŸážáŸŒáž˜áž¶áž“​ áž“áž·áž„ ពុម្ព ážáŸ’រូវ #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "កំពុង​អាន​បញ្ជី​កញ្ចប់" @@ -2120,35 +2141,29 @@ msgstr "ការ​ដោះស្រាយ​អ្វី​អាក្រក msgid "Unable to connect to %s:%s:" msgstr "មិន​អាច​ážáž—្ជាប់​ទៅកាន់​​ %s %s ៖" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "កំពុង​បោះបង់​ការ​ដំឡើង​ ។" - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "កំហុស​ážáž¶áž„ក្នុង​ ៖ áž ážáŸ’ážáž›áŸážáž¶â€‹â€‹áž›áŸ’អ ប៉ុន្ážáŸ‚ ​មិន​អាច​កំណážáŸ‹â€‹áž€áž¼áž“សោ​ស្នាម​ម្រាមដៃ ?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "​បានជួប​ប្រទះ​​​​ហážáŸ’ážáž›áŸážáž¶â€‹áž™áŸ‰áž¶áž„ហោចណាស់មួយ ដែ​លážáŸ’រឹមážáŸ’រូវ​ ។" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "មិន​អាច​ប្រážáž·áž”ážáŸ’ážáž· '%s' ដើម្បី​ផ្ទៀងផ្ទាážáŸ‹â€‹áž ážáŸ’ážáž›áŸážáž¶ (ážáž¾ gpgv ážáŸ’រូវ​បាន​ដំឡើង​ឬនៅ ?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "មិនស្គាល់កំហុស ក្នុងការប្រážáž·áž”ážáŸ’ážáž· gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "áž ážáŸ’ážáž›áŸážáž¶â€‹ážáž¶áž„​ក្រោម​មិន​ážáŸ’រឹមážáŸ’រូវ ៖\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2304,57 +2319,57 @@ msgstr "" msgid "Selection %s not found" msgstr "ជម្រើស​ %s រក​មិន​ឃើញ​ឡើយ" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "មិន​បាន​​ទទួល​ស្គាល់​ប្រភáŸáž‘​អក្សរ​សង្ážáŸáž” ៖ '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "កំពុង​បើ​ឯកសារ​កំណážáŸ‹ážšáž…នាសម្ពáŸáž“្ធ​ %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "កំហុស​វាក្យ​សម្ពន្ធ %s:%u ៖ ប្លុក​ចាប់​ផ្ážáž¾áž˜â€‹â€‹ážŠáŸ„យ​គ្មាន​ឈ្មោះ​ ។" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "កំហុស​​វាក្យ​សម្ពន្ធ %s:%u ៖ ស្លាក​ដែលបាន Malformed" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "កំហុស​​វាក្យ​សម្ពន្ធ %s:%u ៖ ážáž˜áŸ’លៃ​ឥážáž”ានការ​នៅ​ក្រៅ​" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "កំហុសវាក្យ​សម្ពន្ធ %s:%u ៖ សáŸáž…ក្ដីបង្គាប់​អាចážáŸ’រូវបានធ្វើ​ážáŸ‚នៅលើ​កម្រិážâ€‹áž€áŸ†áž–ូល​ážáŸ‚ប៉ុណ្ណោះ" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "កំហុស​វាក្យសម្ពន្ធ %s:%u ៖ មាន​ការរួមបញ្ចូល​ដែលដាក់​រួមគ្នា​យ៉ាងច្រើន" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "កំហុសវាក្យ​សម្ពន្ធ %s:%u ៖ បានរួម​បញ្ចូល​ពី​ទីនáŸáŸ‡â€‹" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "កំហុស​វាក្យ​សម្ពន្ធ %s:%u ៖ សáŸáž…ក្ដី​បង្គាប់​ដែល​មិនបានគាំទ្រ '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "កំហុសវាក្យ​សម្ពន្ធ %s:%u ៖ សáŸáž…ក្ដីបង្គាប់​អាចážáŸ’រូវបានធ្វើ​ážáŸ‚នៅលើ​កម្រិážâ€‹áž€áŸ†áž–ូល​ážáŸ‚ប៉ុណ្ណោះ" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "កំហុស​វាក្យសម្ពន្ធ %s:%u ៖ សារឥážáž”ានការ​បន្ážáŸ‚ម ដែលនៅážáž¶áž„ចុង​ឯកសារ" @@ -2497,7 +2512,7 @@ msgstr "ដំណើរការ​រង​ %s បានážáŸ’រឡប់​ហmsgid "Sub-process %s exited unexpectedly" msgstr "ដំណើរការ​រង​ %s បានចáŸáž‰ ដោយ​មិន​រំពឹង​ទុក​ " -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "មិន​អាច​បើក​ឯកសារ​ %s បានឡើយ" @@ -2725,14 +2740,14 @@ msgstr "បន្ទាážáŸ‹â€‹ Malformed %u ក្នុង​បញ្ជី msgid "Type '%s' is not known on line %u in source list %s" msgstr "ប្រភáŸáž‘​ '%s' មិន​ស្គាល់នៅលើបន្ទាážáŸ‹â€‹ %u ក្នុង​បញ្ជី​ប្រភព​ %s ឡើយ" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2743,7 +2758,7 @@ msgstr "" "ភាពអាស្រáŸáž™áž‡áž¶áž˜áž»áž“ ។ ជាញឹកញាប់គឺ មិនážáŸ’រឹមážáŸ’រូវ ប៉ុន្ážáŸ‚ ប្រសិនបើអ្នក​ពិážáž‡áž¶áž…ង់ធ្វើវា ធ្វើឲ្យជម្រើស APT::" "Force-LoopBreak សកម្ម ។" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2773,7 +2788,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "មិន​អាច​កែ​បញ្ហាបានទáŸáŸ អ្កបានទុក​កញ្ចប់​ដែល​ážáž¼áž… ។។" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2823,12 +2838,12 @@ msgstr "វិធីសាស្ážáŸ’រ​ %s មិន​អាច​ចាហmsgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "សូម​បញ្ចូល​ស្លាក​ឌីស​ ៖ '%s' ក្នុង​ដ្រាយ​ '%s' ហើយ​សង្កážáŸ‹â€‹áž…ូល ។" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "មិន​គាំទ្រ​ប្រពáŸáž“្ធ​កញ្ចប់'%s' ឡើយ" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "មិនអាច​កំណážáŸ‹â€‹áž”្រភáŸáž‘​ប្រពáŸáž“្ធ​កញ្ចប់​ដែល​សមរម្យ​បានឡើយ" @@ -2853,17 +2868,24 @@ msgstr "អ្នកប្រហែលជា​ចង់ភាពទាន់ស msgid "The list of sources could not be read." msgstr "មិន​អាច​អាន​បញ្ជី​ប្រភព​បាន​ឡើយ​ ។" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "កំណážáŸ‹ážáŸ’រា​មិនážáŸ’រឹមážáŸ’រូវ​នៅក្នុង​ឯកសារចំណង់ចំណូលចិážáŸ’ហមិនមាន​បឋមកážáž¶â€‹áž€áž‰áŸ’ចប់ទáŸ" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "មិន​បាន​យល់​ពី​ប្រភáŸáž‘​ម្ជុល %s ឡើយ" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "គ្មាន​អទិភាព (ឬ សូន្យ​) បានបញ្ជាក់​សម្រាប់​ម្ជុល​ទáŸ" @@ -2953,7 +2975,7 @@ msgstr "មិនអាចážáŸ’លែង បញ្ជី​កញ្ចប់†msgid "Collecting File Provides" msgstr "ការផ្ដល់​ឯកសារ​ប្រមូលផ្ដុំ" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "IO កំហុសក្នុងការររក្សាទុក​ឃ្លាំង​សម្ងាážáŸ‹â€‹áž”្រភព​" @@ -2966,8 +2988,8 @@ msgstr "ប្ážáž¼ážšâ€‹ážˆáŸ’មោះ​បានបរាជáŸáž™â€‹, %s ( msgid "MD5Sum mismatch" msgstr "MD5Sum មិន​ផ្គួផ្គង​" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 #, fuzzy msgid "Hash Sum mismatch" msgstr "MD5Sum មិន​ផ្គួផ្គង​" @@ -2988,20 +3010,19 @@ msgstr "មិនអាច​ញែក​ឯកសារកញ្ចប់ %s (1 msgid "There is no public key available for the following key IDs:\n" msgstr "គ្មាន​កូនសោ​សាធារណៈ​អាច​រក​បាន​ក្នុងកូនសោ IDs ážáž¶áž„ក្រោម​នáŸáŸ‡áž‘áŸÂ ៖\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3009,12 +3030,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3023,7 +3044,7 @@ msgstr "" "ážáŸ’ញុំ​មិន​អាច​រកទីážáž¶áŸ†áž„​ឯកសារ​សម្រាប់​កញ្ចប់ %s បាន​ទáŸÂ ។ ​មាន​នáŸáž™â€‹ážáž¶â€‹áž¢áŸ’នក​ážáŸ’រូវការ​ជួសជុល​កញ្ចប់​នáŸáŸ‡â€‹ážŠáŸ„យ​ដៃ ។ " "(ដោយសារ​​បាážáŸ‹â€‹ážŸáŸ’ážáž¶áž”ážáŸ’យកម្ម)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3031,13 +3052,13 @@ msgid "" msgstr "" "ážáŸ’ញុំ​មិន​អាច​រកទីážáž¶áŸ†áž„​ឯកសារ​សម្រាប់​កញ្ចប់ %s បានទáŸÂ ។ ​មាន​នáŸáž™â€‹ážáž¶â€‹áž¢áŸ’នក​ážáŸ’រូវការ​ជួសជុល​កញ្ចប់​នáŸáŸ‡â€‹ážŠáŸ„យ​ដៃ ។" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "កញ្ចប់​ឯកសារ​លិបិក្រម​ážáŸ’រូវ​បាន​ážáž¼áž… ។ គ្មាន​ឈ្មោះ​ឯកសារ ៖ វាល​សម្រាប់​កញ្ចប់នáŸáŸ‡â€‹áž‘áŸâ€‹ %s ។" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "ទំហំ​មិនបាន​ផ្គួផ្គង​" @@ -3158,22 +3179,22 @@ msgstr "កំពុងសរសáŸážšâ€‹áž”ញ្ជី​ប្រភព​ហmsgid "Source list entries for this disc are:\n" msgstr "ធាážáž»áž”ញ្ចូល​បញ្ជីប្រភព​សម្រាប់​ឌីស​នáŸáŸ‡áž‚ឺ ៖\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "បានសរសáŸážš %i កំណážáŸ‹ážáŸ’រា ។\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "បានសរសáŸážš %i កំណážáŸ‹ážáŸ’រា​ជាមួយ​ %i ឯកសារ​ដែល​បាážáŸ‹áž”ង់ ។\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "បានសរសáŸážšâ€‹ %i កំណážáŸ‹ážáŸ’រា​ជាមួយួយ​ %i ឯកសារ​ដែល​មិន​បាន​ផ្គួផ្គង​\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "បានសរសáŸážš %i កំណážáŸ‹ážáŸ’រា​ជាមួយ​ %i ឯកសារ​ដែល​បាážáŸ‹áž”ង់​ និង​ %i ឯកសារ​ដែល​មិន​បាន​ផ្គួផ្គង​ ​\n" @@ -3193,6 +3214,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "MD5Sum មិន​ផ្គួផ្គង​" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "កំពុង​បោះបង់​ការ​ដំឡើង​ ។" + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-08-30 02:31+0900\n" "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" "Language-Team: Korean <debian-l10n-korean@lists.debian.org>\n" @@ -152,7 +152,7 @@ msgstr " ë²„ì „ í…Œì´ë¸”:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s(%s), ì»´íŒŒì¼ ì‹œê° %s %s\n" @@ -829,7 +829,7 @@ msgstr "%s 패키지를 다시 설치하는 ê±´ 불가능합니다. 다운로드 msgid "%s is already the newest version.\n" msgstr "%s 패키지는 ì´ë¯¸ ìµœì‹ ë²„ì „ìž…ë‹ˆë‹¤.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s 패키지 수ë™ì„¤ì¹˜ë¡œ ì§€ì •í•©ë‹ˆë‹¤.\n" @@ -944,8 +944,8 @@ msgstr "ì´ ìž‘ì—… 후 %së°”ì´íŠ¸ì˜ ë””ìŠ¤í¬ ê³µê°„ì„ ë” ì‚¬ìš©í•˜ê²Œ ë©ë‹ msgid "After this operation, %sB disk space will be freed.\n" msgstr "ì´ ìž‘ì—… 후 %së°”ì´íŠ¸ì˜ ë””ìŠ¤í¬ ê³µê°„ì´ ë¹„ì›Œì§‘ë‹ˆë‹¤.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "%sì˜ ì—¬ìœ ê³µê°„ì˜ í¬ê¸°ë¥¼ íŒŒì•…í• ìˆ˜ 없습니다" @@ -985,7 +985,7 @@ msgstr "중단." msgid "Do you want to continue [Y/n]? " msgstr "ê³„ì† í•˜ì‹œê² ìŠµë‹ˆê¹Œ [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "%s 파ì¼ì„ ë°›ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤ %s\n" @@ -994,7 +994,7 @@ msgstr "%s 파ì¼ì„ ë°›ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤ %s\n" msgid "Some files failed to download" msgstr "ì¼ë¶€ 파ì¼ì„ ë°›ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "다운로드를 ë§ˆì³¤ê³ ë‹¤ìš´ë¡œë“œ ì „ìš© 모드입니다" @@ -1033,31 +1033,31 @@ msgstr[0] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "주ì˜: dpkgì—ì„œ ìžë™ìœ¼ë¡œ ì˜ë„ì 으로 수행했습니다." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "'%2$s' íŒ¨í‚¤ì§€ì˜ '%1$s' ëŒ€ìƒ ë¦´ë¦¬ìŠ¤ëŠ” 없으므로 무시합니다." -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "소스 패키지로 '%s'ì„(를) '%s' ëŒ€ì‹ ì„ íƒí•©ë‹ˆë‹¤\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "'%2$s' íŒ¨í‚¤ì§€ì˜ '%1$s' ë²„ì „ì€ ì—†ìœ¼ë¯€ë¡œ 무시합니다." -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "update ëª…ë ¹ì€ ì¸ìˆ˜ë¥¼ 받지 않습니다" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "ì‚ì œë¥¼ í• ìˆ˜ 없으므로 AutoRemover를 실행하지 못합니다" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1075,15 +1075,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "ì´ ìƒí™©ì„ í•´ê²°í•˜ëŠ”ë° ë‹¤ìŒ ì •ë³´ê°€ ë„ì›€ì´ ë ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "내부 오류, ë¬¸ì œ í•´ê²° í”„ë¡œê·¸ëž¨ì´ ë¬´ì–¸ê°€ë¥¼ ë§ê°€ëœ¨ë ¸ìŠµë‹ˆë‹¤" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1091,27 +1091,27 @@ msgid_plural "" "required:" msgstr[0] "ë‹¤ìŒ íŒ¨í‚¤ì§€ê°€ ìžë™ìœ¼ë¡œ 설치ë˜ì—ˆì§€ë§Œ ë” ì´ìƒ 필요하지 않습니다:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" "%lu packages were automatically installed and are no longer required.\n" msgstr[0] "패키지 %lu개가 ìžë™ìœ¼ë¡œ 설치ë˜ì—ˆì§€ë§Œ ë” ì´ìƒ 필요하지 않습니다.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "ì´ë“¤ì„ ì§€ìš°ë ¤ë©´ 'apt-get autoremove'를 사용하ì‹ì‹œì˜¤." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "내부 오류, AllUpgrade í”„ë¡œê·¸ëž¨ì´ ë¬´ì–¸ê°€ë¥¼ ë§ê°€ëœ¨ë ¸ìŠµë‹ˆë‹¤" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "다ìŒì„ ë°”ë¡œìž¡ìœ¼ë ¤ë©´ 'apt-get -f install'ì„ ì‹¤í–‰í•´ ë³´ì‹ì‹œì˜¤:" # FIXME: specify a solution? 무슨 솔루션? -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1119,7 +1119,7 @@ msgstr "" "ì˜ì¡´ì„±ì´ 맞지 않습니다. 패키지 ì—†ì´ 'apt-get -f install'ì„ ì‹œë„í•´ ë³´ì‹ì‹œì˜¤ " "(아니면 í•´ê²° ë°©ë²•ì„ ì§€ì •í•˜ì‹ì‹œì˜¤)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1130,73 +1130,73 @@ msgstr "" "ë¶ˆì•ˆì • ë°°í¬íŒì„ 사용해서 ì¼ë¶€ 필요한 패키지를 ì•„ì§ ë§Œë“¤ì§€ 않았거나,\n" "ì•„ì§ Incomingì—ì„œ 나오지 ì•Šì€ ê²½ìš°ì¼ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "ë§ê°€ì§„ 패키지" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "ë‹¤ìŒ íŒ¨í‚¤ì§€ë¥¼ ë” ì„¤ì¹˜í• ê²ƒìž…ë‹ˆë‹¤:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "ì œì•ˆí•˜ëŠ” 패키지:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "추천하는 패키지:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "%s 패키지를 ì°¾ì„ ìˆ˜ 없습니다" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s 패키지는 수ë™ì„¤ì¹˜ë¡œ ì§€ì •í•©ë‹ˆë‹¤.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "ì—…ê·¸ë ˆì´ë“œë¥¼ 계산하는 중입니다... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "실패" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "완료" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "내부 오류, ë¬¸ì œ í•´ê²° í”„ë¡œê·¸ëž¨ì´ ë¬´ì–¸ê°€ë¥¼ ë§ê°€ëœ¨ë ¸ìŠµë‹ˆë‹¤" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "다운로드 ë””ë ‰í„°ë¦¬ë¥¼ ìž ê¸€ 수 없습니다" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "해당ë˜ëŠ” 소스 패키지를 ê°€ì ¸ì˜¬ 패키지를 최소한 하나 ì§€ì •í•´ì•¼ 합니다" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "%sì˜ ì†ŒìŠ¤ 패키지를 ì°¾ì„ ìˆ˜ 없습니다" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1205,7 +1205,7 @@ msgstr "" "알림: '%s' íŒ¨í‚¤ì§•ì€ ë‹¤ìŒ '%s' ë²„ì „ 컨트롤 시스템ì—ì„œ 관리합니다:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1216,78 +1216,94 @@ msgstr "" "다ìŒê³¼ ê°™ì´ í•˜ì‹ì‹œì˜¤:\n" "bzr get %s\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "ì´ë¯¸ 다운로드 ë°›ì€ íŒŒì¼ '%s'ì€(는) 다시 받지 ì•Šê³ ê±´ë„ˆ ëœë‹ˆë‹¤.\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "%sì— ì¶©ë¶„í•œ ê³µê°„ì´ ì—†ìŠµë‹ˆë‹¤" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "소스 ì•„ì¹´ì´ë¸Œë¥¼ %së°”ì´íŠ¸/%së°”ì´íŠ¸ 받아야 합니다.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "소스 ì•„ì¹´ì´ë¸Œë¥¼ %së°”ì´íŠ¸ 받아야 합니다.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "%s 소스를 ê°€ì ¸ì˜µë‹ˆë‹¤\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "ì¼ë¶€ ì•„ì¹´ì´ë¸Œë¥¼ ê°€ì ¸ì˜¤ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "%sì— ì´ë¯¸ í’€ë ¤ 있는 ì†ŒìŠ¤ì˜ ì••ì¶•ì„ í’€ì§€ ì•Šê³ ê±´ë„ˆ ëœë‹ˆë‹¤.\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "압축 풀기 ëª…ë ¹ '%s' 실패.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "'dpkg-dev' 패키지가 설치ë˜ì—ˆëŠ”지를 확ì¸í•˜ì‹ì‹œì˜¤.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "빌드 ëª…ë ¹ '%s' 실패.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "하위 프로세스가 실패했습니다" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "해당ë˜ëŠ” 빌드 ì˜ì¡´ì„±ì„ ê²€ì‚¬í• íŒ¨í‚¤ì§€ë¥¼ 최소한 하나 ì§€ì •í•´ì•¼ 합니다" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "%sì˜ ë¹Œë“œ ì˜ì¡´ì„± ì •ë³´ë¥¼ ê°€ì ¸ì˜¬ 수 없습니다" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s íŒ¨í‚¤ì§€ì— ë¹Œë“œ ì˜ì¡´ì„±ì´ 없습니다.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ 만족시킬 수 없습니다. %3$s 패키지를 ì°¾ì„ ìˆ˜ 없습니" +"다" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1296,46 +1312,55 @@ msgstr "" "%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ 만족시킬 수 없습니다. %3$s 패키지를 ì°¾ì„ ìˆ˜ 없습니" "다" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ ë§Œì¡±ì‹œí‚¤ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: 설치한 %3$s 패키지가 너" +"무 최근 ë²„ì „ìž…ë‹ˆë‹¤" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ 만족시킬 수 없습니다. %3$s íŒ¨í‚¤ì§€ì˜ ì‚¬ìš© 가능한 버" "ì „ 중ì—서는 ì´ ë²„ì „ 요구사í•ì„ 만족시킬 수 없습니다" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ ë§Œì¡±ì‹œí‚¤ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: 설치한 %3$s 패키지가 너" -"무 최근 ë²„ì „ìž…ë‹ˆë‹¤" +"%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ 만족시킬 수 없습니다. %3$s 패키지를 ì°¾ì„ ìˆ˜ 없습니" +"다" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "%2$sì— ëŒ€í•œ %1$s ì˜ì¡´ì„±ì„ ë§Œì¡±ì‹œí‚¤ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤: %3$s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "%sì˜ ë¹Œë“œ ì˜ì¡´ì„±ì„ 만족시키지 못했습니다." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "빌드 ì˜ì¡´ì„±ì„ ì²˜ë¦¬í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "%s(%s)ì— ì—°ê²°í•˜ëŠ” 중입니다" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "지ì›í•˜ëŠ” 모듈:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1423,7 +1448,7 @@ msgstr "" "apt.conf(5) 매뉴얼 페ì´ì§€ë¥¼ ë³´ì‹ì‹œì˜¤.\n" " ì´ APT는 Super Cow Powersë¡œ 무장했습니다.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1735,8 +1760,8 @@ msgstr "%s/%s 파ì¼ì€ %s íŒ¨í‚¤ì§€ì— ìžˆëŠ” 파ì¼ì„ ë®ì–´ ì”니다" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1768,7 +1793,7 @@ msgstr "ì •ë³´ ë””ë ‰í† ë¦¬ì™€ ìž„ì‹œ ë””ë ‰í† ë¦¬ëŠ” ê°™ì€ íŒŒì¼ ì‹œìŠ¤í…œì— #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "패키지 목ë¡ì„ ì½ëŠ” 중입니다" @@ -2135,35 +2160,29 @@ msgstr "'%s:%s'ì˜ ì£¼ì†Œë¥¼ ì•Œì•„ë‚´ëŠ”ë° ë¬´ì–¸ê°€ ì´ìƒí•œ ì¼ì´ ë°œìƒí– msgid "Unable to connect to %s:%s:" msgstr "%s:%sì— ì—°ê²°í• ìˆ˜ 없습니다:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "%sì— í‚¤ 모ìŒì„ 설치하지 않았습니다." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "내부 오류: ì„œëª…ì€ ì˜¬ë°”ë¥´ì§€ë§Œ 키 핑거프린트를 확ì¸í• 수 없습니다?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "최소한 하나 ì´ìƒì˜ ì„œëª…ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "ì„œëª…ì„ í™•ì¸í•˜ëŠ” 'gpgv' í”„ë¡œê·¸ëž¨ì„ ì‹¤í–‰í• ìˆ˜ 없습니다. (gpgv를 설치했습니까?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "gpgv 실행 ë„중 ì•Œ 수 없는 오류 ë°œìƒ" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "ë‹¤ìŒ ì„œëª…ì´ ì˜¬ë°”ë¥´ì§€ 않습니다:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2319,57 +2338,57 @@ msgstr "%liì´ˆ" msgid "Selection %s not found" msgstr "ì„ íƒí•œ %sì´(ê°€) 없습니다" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "ì´ íƒ€ìž… 줄임ë§ì„ ì•Œ 수 없습니다: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "ì„¤ì • íŒŒì¼ %s 파ì¼ì„ 여는 중입니다" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "문법 오류 %s:%u: 블ëŸì´ ì´ë¦„으로 시작하지 않습니다." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "문법 오류 %s:%u: íƒœê·¸ì˜ í˜•ì‹ì´ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "문법 오류 %s:%u: ê°’ ë’¤ì— ì“°ë ˆê¸° ë°ì´í„°ê°€ ë” ìžˆìŠµë‹ˆë‹¤" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "문법 오류 %s:%u: 지시어는 맨 위 단계ì—서만 쓸 수 있습니다" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "문법 오류 %s:%u: includeê°€ 너무 ë§Žì´ ê²¹ì³ ìžˆìŠµë‹ˆë‹¤" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "문법 오류 %s:%u: 여기서 includeë©ë‹ˆë‹¤" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "문법 오류 %s:%u: 지ì›í•˜ì§€ 않는 지시어 '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "문법 오류 %s:%u: clear 지시어는 ì¸ìˆ˜ë¡œ option 트리를 ì§€ì •í•´ì•¼ 합니다" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "문법 오류 %s:%u: 파ì¼ì˜ ëì— ì“°ë ˆê¸° ë°ì´í„°ê°€ ë” ìžˆìŠµë‹ˆë‹¤" @@ -2512,7 +2531,7 @@ msgstr "하위 프로세스 %s 프로세스가 오류 코드(%u)를 리턴했습 msgid "Sub-process %s exited unexpectedly" msgstr "하위 프로세스 %s 프로세스가 예ìƒì¹˜ 못하게 ë났습니다" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "%s 파ì¼ì„ ì—´ 수 없습니다" @@ -2740,7 +2759,7 @@ msgstr "소스 리스트 %2$sì˜ %1$u번 ì¤„ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤ (타입)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "소스 ëª©ë¡ %3$sì˜ %2$u번 ì¤„ì˜ '%1$s' íƒ€ìž…ì„ ì•Œ 수 없습니다" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2749,7 +2768,7 @@ msgstr "" "'%s'ì— ëŒ€í•´ 즉시 ì„¤ì •ì„ í• ìˆ˜ 없습니다. ìžì„¸í•œ ì„¤ëª…ì€ man 5 apt.conf 페ì´ì§€ì—" "ì„œ APT::Immediate-Configure í•ëª©ì„ ë³´ì‹ì‹œì˜¤. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2760,7 +2779,7 @@ msgstr "" "ìž ê¹ ì œê±°í•´ì•¼ 합니다. ì´ íŒ¨í‚¤ì§€ë¥¼ ì œê±°í•˜ëŠ” ê±´ 좋지 않지만, ì •ë§ ì§€ìš°ë ¤ë©´ " "APT::Force-LoopBreak ì˜µì…˜ì„ ì¼œì‹ì‹œì˜¤." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2793,7 +2812,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "ë¬¸ì œë¥¼ ë°”ë¡œìž¡ì„ ìˆ˜ 없습니다. ë§ê°€ì§„ ê³ ì • 패키지가 있습니다." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2845,12 +2864,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" "'%2$s' ë“œë¼ì´ë¸Œì— '%1$s'(으)ë¡œ í‘œê¸°ëœ ë””ìŠ¤í¬ë¥¼ ë„£ê³ Enter를 누르ì‹ì‹œì˜¤." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "'%s' 패키지 ì‹œìŠ¤í…œì„ ì§€ì›í•˜ì§€ 않습니다" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "올바른 패키지 시스템 íƒ€ìž…ì„ ì•Œì•„ë‚¼ 수 없습니다" @@ -2875,17 +2894,24 @@ msgstr "apt-get update를 실행하면 ì´ ë¬¸ì œë¥¼ ë°”ë¡œìž¡ì„ ìˆ˜ë„ ìžˆìŠµë msgid "The list of sources could not be read." msgstr "소스 목ë¡ì„ ì½ì„ 수 없습니다." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "기본 ì„¤ì • íŒŒì¼ %sì— ìž˜ëª»ëœ ë°ì´í„°ê°€ 있습니다. Package í—¤ë”ê°€ 없습니다" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "í•€ 타입 %sì´(ê°€) 무엇ì¸ì§€ ì´í•´í• 수 없습니다" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "í•€ì— ìš°ì„ ìˆœìœ„(í˜¹ì€ 0)를 ì§€ì •í•˜ì§€ 않았습니다" @@ -2974,7 +3000,7 @@ msgstr "소스 패키지 ëª©ë¡ %sì˜ ì •ë³´ë¥¼ ì½ì„ 수 없습니다" msgid "Collecting File Provides" msgstr "파ì¼ì—ì„œ ì œê³µí•˜ëŠ” ê²ƒì„ ëª¨ìœ¼ëŠ” 중입니다" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "소스 ìºì‹œë¥¼ ì €ìž¥í•˜ëŠ”ë° ìž…ì¶œë ¥ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤" @@ -2987,8 +3013,8 @@ msgstr "ì´ë¦„ 바꾸기가 실패했습니다. %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5Sumì´ ë§žì§€ 않습니다" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "í•´ì‹œ í•©ì´ ë§žì§€ 않습니다" @@ -3008,20 +3034,19 @@ msgstr "Release íŒŒì¼ %s 파ì¼ì„ íŒŒì‹±í• ìˆ˜ 없습니다" msgid "There is no public key available for the following key IDs:\n" msgstr "ë‹¤ìŒ í‚¤ IDì˜ ê³µê°œí‚¤ê°€ 없습니다:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Release 파ì¼ì´ 만료ë˜ì—ˆìŠµë‹ˆë‹¤. %s 무시. (%s ì´í›„ë¡œ 무효)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "ë°°í¬íŒ 충ëŒ: %s (예ìƒê°’ %s, ì‹¤ì œê°’ %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3031,12 +3056,12 @@ msgstr "" "ì˜ˆì „ì˜ ì¸ë±ìŠ¤ 파ì¼ì„ 사용합니다. GPG 오류: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "GPG 오류: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3045,7 +3070,7 @@ msgstr "" "%s íŒ¨í‚¤ì§€ì˜ íŒŒì¼ì„ ì°¾ì„ ìˆ˜ 없습니다. 수ë™ìœ¼ë¡œ ì´ íŒ¨í‚¤ì§€ë¥¼ ê³ ì³ì•¼ í• ìˆ˜ë„ ìžˆìŠµ" "니다. (아키í…ì³ê°€ ë¹ ì¡Œê¸° 때문입니다)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3054,14 +3079,14 @@ msgstr "" "%s íŒ¨í‚¤ì§€ì˜ íŒŒì¼ì„ ì°¾ì„ ìˆ˜ 없습니다. 수ë™ìœ¼ë¡œ ì´ íŒ¨í‚¤ì§€ë¥¼ ê³ ì³ì•¼ í• ìˆ˜ë„ ìžˆìŠµ" "니다." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "패키지 ì¸ë±ìŠ¤ 파ì¼ì´ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. %s íŒ¨í‚¤ì§€ì— Filename: 필드가 없습니다." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "í¬ê¸°ê°€ 맞지 않습니다" @@ -3183,22 +3208,22 @@ msgstr "새 소스 리스트를 쓰는 중입니다\n" msgid "Source list entries for this disc are:\n" msgstr "ì´ ë””ìŠ¤í¬ì˜ 소스 리스트 í•ëª©ì€ 다ìŒê³¼ 같습니다:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "ë ˆì½”ë“œ %i개를 ì¼ìŠµë‹ˆë‹¤.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "ë ˆì½”ë“œ %i개를 íŒŒì¼ %i개가 ë¹ ì§„ ìƒíƒœë¡œ ì¼ìŠµë‹ˆë‹¤.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "ë ˆì½”ë“œ %i개를 íŒŒì¼ %i개가 맞지 ì•Šì€ ìƒíƒœë¡œ ì¼ìŠµë‹ˆë‹¤\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "ë ˆì½”ë“œ %i개를 íŒŒì¼ %i개가 ë¹ ì§€ê³ %i개가 맞지 ì•Šì€ ìƒíƒœë¡œ ì¼ìŠµë‹ˆë‹¤\n" @@ -3218,6 +3243,17 @@ msgstr "다ìŒì˜ ì¸ì¦ 기ë¡ì„ ì°¾ì„ ìˆ˜ 없습니다: %s" msgid "Hash mismatch for: %s" msgstr "다ìŒì˜ 해시가 다릅니다: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "%sì— í‚¤ 모ìŒì„ 설치하지 않았습니다." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3466,3 +3502,6 @@ msgstr "ì—°ê²°ì´ ë„ˆë¬´ 빨리 ëŠì–´ì¡ŒìŠµë‹ˆë‹¤" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "내부 오류, '%s' ê·¸ë£¹ì— ì„¤ì¹˜í• ìˆ˜ 있는 패키지가 없습니다." + +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Release 파ì¼ì´ 만료ë˜ì—ˆìŠµë‹ˆë‹¤. %s 무시. (%s ì´í›„ë¡œ 무효)" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-ku\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-05-08 12:48+0200\n" "Last-Translator: Erdal Ronahi <erdal dot ronahi at gmail dot com>\n" "Language-Team: ku <ubuntu-l10n-kur@lists.ubuntu.com>\n" @@ -160,7 +160,7 @@ msgstr " Tabloya guhertoyan:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s ji bo %s %s komkirî di %s %s de\n" @@ -743,7 +743,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "%s jixwe guhertoya nûtirîn e.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "lê %s dê were sazkirin" @@ -855,8 +855,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Nikarî cihê vala li %s tesbît bike" @@ -890,7 +890,7 @@ msgstr "Betal." msgid "Do you want to continue [Y/n]? " msgstr "Dixwazî bidomînî [E/n]?" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Anîna %s %s biserneket\n" @@ -899,7 +899,7 @@ msgstr "Anîna %s %s biserneket\n" msgid "Some files failed to download" msgstr "Daxistina çend pelan biserneket" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "" @@ -935,31 +935,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -975,15 +975,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -993,7 +993,7 @@ msgid_plural "" msgstr[0] "Ev pakêtên NÛ dê werine sazkirin:" msgstr[1] "Ev pakêtên NÛ dê werine sazkirin:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1001,25 +1001,25 @@ msgid_plural "" msgstr[0] "Ev pakêtên NÛ dê werine sazkirin:" msgstr[1] "Ev pakêtên NÛ dê werine sazkirin:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1027,80 +1027,80 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Paketên ÅŸikestî" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Paketên tên pêşniyaz kirin:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Paketên tên tawsiyê kirin:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Nikarî pakêta %s bibîne" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "lê %s dê were sazkirin" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Bilindkirin tê hesibandin..." -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Serneket" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Temam" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Pelrêça daxistinê nayê quflekirin" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1108,120 +1108,141 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Cihê vala li %s têre nake" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Çavkanîna %s bîne\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Anîna çend arşîvan biserneket." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 +#, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" + +#: cmdline/apt-get.cc:2951 #, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" -#: cmdline/apt-get.cc:2855 +#: cmdline/apt-get.cc:2957 #, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Girêdan bi %s (%s) re pêk tê" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1267,7 +1288,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1563,8 +1584,8 @@ msgstr "" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1596,7 +1617,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Lîsteya pakêtan tê xwendin" @@ -1959,35 +1980,29 @@ msgstr "" msgid "Unable to connect to %s:%s:" msgstr "Nikare bi %s re girêdan pêk bîne %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Sazkirin tê betalkirin." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Di xebitandina gpgv de çewtiya nenas" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 #, fuzzy msgid "The following signatures were invalid:\n" msgstr "Ev pakêtên NÛ dê werine sazkirin:" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2144,57 +2159,57 @@ msgstr "" msgid "Selection %s not found" msgstr "Hilbijartina %s nehatiye dîtin" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" @@ -2337,7 +2352,7 @@ msgstr "" msgid "Sub-process %s exited unexpectedly" msgstr "" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Nikarî pelê %s veke" @@ -2564,14 +2579,14 @@ msgstr "" msgid "Type '%s' is not known on line %u in source list %s" msgstr "" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2579,7 +2594,7 @@ msgid "" "you really want to do it, activate the APT::Force-LoopBreak option." msgstr "" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2607,7 +2622,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 msgid "" "Some index files failed to download. They have been ignored, or old ones " "used instead." @@ -2655,12 +2670,12 @@ msgstr "" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Dîsketê siwar bike û piÅŸtre biÅŸkoja derbaskirinê bitikîne" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "" @@ -2685,17 +2700,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "" @@ -2784,7 +2806,7 @@ msgstr "" msgid "Collecting File Provides" msgstr "" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "" @@ -2797,8 +2819,8 @@ msgstr "nav guherandin biserneket, %s (%s -> %s)" msgid "MD5Sum mismatch" msgstr "MD5Sum li hev nayên" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hash Sum li hev nayên" @@ -2818,20 +2840,19 @@ msgstr "Pakêt nehate dîtin %s" msgid "There is no public key available for the following key IDs:\n" msgstr "" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -2839,32 +2860,32 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package. (due to missing arch)" msgstr "" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package." msgstr "" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Mezinahî li hev nayên" @@ -2982,22 +3003,22 @@ msgstr "" msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i tomar hatin nivîsîn.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3017,6 +3038,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Hash Sum li hev nayên" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Sazkirin tê betalkirin." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-08-02 01:47-0400\n" "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n" "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" @@ -158,7 +158,7 @@ msgstr " Versijų lentelÄ—:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "" @@ -805,7 +805,7 @@ msgstr "Pakartotinas %s įdiegimas neįmanomas, jo nepavyksta parsiųsti.\n" msgid "%s is already the newest version.\n" msgstr "%s ir taip jau yra naujausias.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s nustatytas kaip įdiegtas rankiniu bÅ«du\n" @@ -918,8 +918,8 @@ msgstr "Po Å¡ios operacijos bus naudojama %sB papildomos disko vietos.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Po Å¡ios operacijos bus atlaisvinta %sB disko vietos.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Nepavyko nustatyti %s laisvos vietos" @@ -956,7 +956,7 @@ msgstr "Nutraukti." msgid "Do you want to continue [Y/n]? " msgstr "Ar norite tÄ™sti [T/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Nepavyko parsiųsti %s %s\n" @@ -965,7 +965,7 @@ msgstr "Nepavyko parsiųsti %s %s\n" msgid "Some files failed to download" msgstr "Nepavyko parsiųsti kai kurių failų" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Pavyko parsiųsti tik parsiuntimo režime" @@ -1003,31 +1003,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Atnaujinimo komandai argumentų nereikia" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1043,15 +1043,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Å i informacija gali padÄ—ti iÅ¡sprÄ™sti Å¡iÄ… situacijÄ…:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1061,7 +1061,7 @@ msgid_plural "" msgstr[0] "Å ie paketai buvo automatiÅ¡kai įdiegti ir daugiau nebÄ—ra reikalingi:" msgstr[1] "Å ie paketai buvo automatiÅ¡kai įdiegti ir daugiau nebÄ—ra reikalingi:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1069,19 +1069,19 @@ msgid_plural "" msgstr[0] "Å ie paketai buvo automatiÅ¡kai įdiegti ir daugiau nebÄ—ra reikalingi:" msgstr[1] "Å ie paketai buvo automatiÅ¡kai įdiegti ir daugiau nebÄ—ra reikalingi:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "NorÄ—dami juos paÅ¡alinti, paleiskite „apt-get autoremove“" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "JÅ«s galite norÄ—ti paleisti 'apt-get -f install\" klaidų taisymui:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1089,7 +1089,7 @@ msgstr "" "Nepatenkintos priklausomybÄ—s. Pabandykite įvykdyti 'apt-get -f install' be " "nurodytų paketų (arba nurodykite iÅ¡eitį)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1101,80 +1101,80 @@ msgstr "" "leidimÄ…, kuomet kai kurie paketai dar nebuvo sukurti arba buvo\n" "paÅ¡alinti iÅ¡ \"Incoming\" aplanko." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Sugadinti paketai" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Bus įdiegti Å¡ie papildomi paketai:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "SiÅ«lomi paketai:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Rekomenduojami paketai:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Nepavyko rasti paketo %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s nustatytas kaip įdiegtas rankiniu bÅ«du\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "SkaiÄiuojami atnaujinimai... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Nepavyko" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Ä®vykdyta" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "VidinÄ— klaida, problemos sprendimas kažkÄ… sugadino" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Nepavyko užrakinti parsiuntimų aplanko" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "BÅ«tina nurodyti bent vienÄ… paketÄ…, kad parsiųsti jo iÅ¡eities tekstÄ…" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Nepavyko surasti iÅ¡eities teksto paketo, skirto %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1182,78 +1182,93 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Praleidžiama jau parsiųsta byla „%s“\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Neturite pakankamai laisvos vietos %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Reikia parsiųsti %sB/%sB iÅ¡eities archyvų.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Reikia parsiųsti %sB iÅ¡eities archyvų.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "ParsiunÄiamas archyvas %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Nepavyko gauti kai kurių arhcyvų." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Jau iÅ¡pakuotas archyvas %s praleidžiama\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Nepavyko įvykdyti iÅ¡pakavimo komandos „%s“\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Patikrinkite, ar įdiegtas „dpkg-dev“ paketas.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Nepavyko įvykdyti paketo kompiliavimo komandos „%s“\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Klaida procese-palikuonyje" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "BÅ«tina nurodyti bent vienÄ… paketÄ…, kuriam norite įvykdyti builddeps" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Nepavyko gauti kÅ«rimo-priklausomybių informacijos paketui %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"%s priklausomybÄ— %s paketui negali bÅ«ti patenkinama, nes paketas %s nerastas" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1261,46 +1276,54 @@ msgid "" msgstr "" "%s priklausomybÄ— %s paketui negali bÅ«ti patenkinama, nes paketas %s nerastas" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Nepavyko patenkinti %s priklausomybÄ—s %s paketui: Ä®diegtas paketas %s yra " +"per naujas" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s priklausomybÄ— %s paketui negali bÅ«ti patenkinama, nes nÄ—ra tinkamos " "versijos %s paketo" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Nepavyko patenkinti %s priklausomybÄ—s %s paketui: Ä®diegtas paketas %s yra " -"per naujas" +"%s priklausomybÄ— %s paketui negali bÅ«ti patenkinama, nes paketas %s nerastas" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Nepavyko patenkinti %s priklausomybÄ—s %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Jungiamasi prie %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Palaikomi moduliai:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1346,7 +1369,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1659,8 +1682,8 @@ msgstr "" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1692,7 +1715,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Skaitomi paketų sÄ…raÅ¡ai" @@ -2053,34 +2076,28 @@ msgstr "" msgid "Unable to connect to %s:%s:" msgstr "Nepavyko prisijungti prie %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Diegimas nutraukiamas." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Nežinoma klaida kvieÄiant gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Å ie paraÅ¡ai buvo nevalidÅ«s:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2236,57 +2253,57 @@ msgstr "" msgid "Selection %s not found" msgstr "" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" @@ -2429,7 +2446,7 @@ msgstr "Procesas %s grąžino klaidos kodÄ… (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Procesas %s netikÄ—tai iÅ¡Ä—jo" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Nepavyko atverti failo %s" @@ -2656,14 +2673,14 @@ msgstr "" msgid "Type '%s' is not known on line %u in source list %s" msgstr "" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2671,7 +2688,7 @@ msgid "" "you really want to do it, activate the APT::Force-LoopBreak option." msgstr "" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2699,7 +2716,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2750,12 +2767,12 @@ msgstr "" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Ä®dÄ—kite diskÄ… „%s“ į įrenginį „%s“ ir paspauskite Enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "" @@ -2782,17 +2799,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "Nepavyko perskaityti Å¡altinių sÄ…raÅ¡o." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "" @@ -2881,7 +2905,7 @@ msgstr "" msgid "Collecting File Provides" msgstr "" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "" @@ -2894,8 +2918,8 @@ msgstr "" msgid "MD5Sum mismatch" msgstr "MD5 sumos neatitikimas" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "MaiÅ¡os sumos nesutapimas" @@ -2915,20 +2939,19 @@ msgstr "Nepavyko atverti DB failo %s: %s" msgid "There is no public key available for the following key IDs:\n" msgstr "" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -2936,32 +2959,32 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "GPG klaida: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package. (due to missing arch)" msgstr "" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package." msgstr "" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Neatitinka dydžiai" @@ -3079,22 +3102,22 @@ msgstr "RaÅ¡omas naujas Å¡altinių sÄ…raÅ¡as\n" msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3114,6 +3137,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "MaiÅ¡os sumos nesutapimas" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Diegimas nutraukiamas." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-11-20 23:27+0530\n" "Last-Translator: Sampada <sampadanakhare@gmail.com>\n" "Language-Team: Marathi, janabhaaratii, C-DAC, Mumbai, India " @@ -155,7 +155,7 @@ msgstr "आवृतà¥à¤¤à¥€ कोषà¥à¤Ÿà¤•:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s हे %s करिता %s %s वर संगà¥à¤°à¤¹à¤¿à¤¤\n" @@ -831,7 +831,7 @@ msgstr "%s चे पà¥à¤¨à¤°à¥à¤¸à¤‚सà¥à¤¥à¤¾à¤ªà¤¨ शकà¥à¤¯ नाह msgid "%s is already the newest version.\n" msgstr "%s ही आधीच नविन आवृतà¥à¤¤à¥€ आहे.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करायचे आहे.\n" @@ -943,8 +943,8 @@ msgstr "या कà¥à¤°à¤¿à¤¯à¥‡à¤¨à¤‚तर, %sB à¤à¤µà¤¢à¥€ अधिक ड msgid "After this operation, %sB disk space will be freed.\n" msgstr "या कà¥à¤°à¤¿à¤¯à¥‡à¤¨à¤‚तर, %sB डिसà¥à¤• जागा मोकळी होईल.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "%s मधà¥à¤¯à¥‡ रिकामी जागा सांगू शकत नाही" @@ -981,7 +981,7 @@ msgstr "वà¥à¤¯à¤¤à¥à¤¯à¤¯/बंद करा." msgid "Do you want to continue [Y/n]? " msgstr "तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ पà¥à¤¢à¥‡ जायचे आहे [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "%s %s आणणे असफल\n" @@ -990,7 +990,7 @@ msgstr "%s %s आणणे असफल\n" msgid "Some files failed to download" msgstr "काही संचिका डाऊनलोड करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "डाऊनलोड संपूरà¥à¤£ आणि डाऊनलोड मधà¥à¤¯à¥‡ फकà¥à¤¤ पदà¥à¤§à¤¤à¥€" @@ -1029,31 +1029,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "%s उगम पॅकेज यादी सà¥à¤°à¥‚ करता येत नाही" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "सà¥à¤§à¤¾à¤°à¤¿à¤¤ आवृतà¥à¤¤à¥€à¤šà¤¾ विधान आरà¥à¤—à¥à¤¯à¥à¤®à¥‡à¤‚टस घेऊ शकत नाही." -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "आपण या गोषà¥à¤Ÿà¥€ काढून टाकता नये, ऑटोरिमूवà¥à¤¹à¤° सà¥à¤°à¥‚ करता येत नाही" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1071,15 +1071,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "खालील माहिती परिसà¥à¤¥à¤¿à¤¤à¥€ निवळणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी मदत ठरू शकेल:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "अंतरà¥à¤—त तà¥à¤°à¥à¤Ÿà¥€, AutoRemoverने सà¥à¤Ÿà¤«à¤²à¤¾ तोडले" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1089,7 +1089,7 @@ msgid_plural "" msgstr[0] "खालील नवीन पॅकेजेस सà¥à¤µà¤¯à¤‚चलितपणे संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¾à¤²à¥€ होती व आता आवशà¥à¤¯à¤• नाहीत:" msgstr[1] "खालील नवीन पॅकेजेस सà¥à¤µà¤¯à¤‚चलितपणे संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¾à¤²à¥€ होती व आता आवशà¥à¤¯à¤• नाहीत:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1097,21 +1097,21 @@ msgid_plural "" msgstr[0] "खालील नवीन पॅकेजेस सà¥à¤µà¤¯à¤‚चलितपणे संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¾à¤²à¥€ होती व आता आवशà¥à¤¯à¤• नाहीत:" msgstr[1] "खालील नवीन पॅकेजेस सà¥à¤µà¤¯à¤‚चलितपणे संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ à¤à¤¾à¤²à¥€ होती व आता आवशà¥à¤¯à¤• नाहीत:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "ती काढून टाकणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी 'apt-get autoremove' वापरा." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "अंतरà¥à¤—त तà¥à¤°à¥à¤Ÿà¥€,ऑलअपगà¥à¤°à¥‡à¤¡à¤¨à¥‡ सà¥à¤Ÿà¤«à¤²à¤¾ तोडले" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ कदाचित 'apt-get -f install'(à¤à¤ªà¥€à¤Ÿà¥€-गेट -à¤à¤« संसà¥à¤¥à¤¾à¤ªà¤¨') पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤® चालू करावा " "लागेल'यात बदल करणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1119,7 +1119,7 @@ msgstr "" "अनमेट डिपेंडनà¥à¤¸à¥€à¤œ.à¤à¤ªà¥€à¤Ÿà¥€-गेट -à¤à¤« संसà¥à¤¥à¤¾à¤ªà¤¨ ('apt-get -f install') पॅकेजशिवाय पà¥à¤°à¤¯à¤¤à¥à¤¨ करा " "(किंवा परà¥à¤¯à¤¾à¤¯ सांगा)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1131,80 +1131,80 @@ msgstr "" "विà¤à¤¾à¤—णी असणारी पण हवी असणारी, तयार केली नसलेली पॅकेजेस वापरत असाल \n" "किंवा ती येणाऱà¥à¤¯à¤¾à¤‚पैकी बाहेर हलविली असतील." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "तà¥à¤Ÿà¤²à¥‡à¤²à¥€ पॅकेजेस" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "खालील अतिरिकà¥à¤¤ पॅकेजेस संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ होतील:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "सà¥à¤šà¤µà¤²à¥‡à¤²à¥€ पॅकेजेस:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "शिफारस केलेली पॅकेजेस:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "%s पॅकेज सापडू शकले नाही" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ करायचे आहे.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "पà¥à¤¢à¤¿à¤² आवृतà¥à¤¤à¥€à¤šà¥€ गणती करीत आहे..." -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "असमरà¥à¤¥" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "à¤à¤¾à¤²à¥‡" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "अंतरà¥à¤—त तà¥à¤°à¥à¤Ÿà¥€, अडचण निवारकाने सà¥à¤Ÿà¤«à¤²à¤¾ तोडले" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "डाऊनलोड डिरेकà¥à¤Ÿà¤°à¥€ कà¥à¤²à¥‚पबंद करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "उगम शोधणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी किमान à¤à¤• पॅकेज देणे/सांगणे गरजेचे आहे" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "%s उगम पॅकेज शोधणे शकà¥à¤¯ नाही/शोधणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥ आहे" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1212,122 +1212,143 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "आधीच डाऊनलोड केलेली '%s' फाईल सोडून दà¥à¤¯à¤¾\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "%s मधà¥à¤¯à¥‡ पà¥à¤°à¥‡à¤¶à¥€ जागा नाही" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "उगम अरà¥à¤•à¤¾à¤ˆà¤µà¥à¤¹à¤œ चा %sB/%sB घेणà¥à¤¯à¤¾à¤šà¥€ गरज आहे.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "उगम अरà¥à¤•à¤¾à¤ˆà¤µà¥à¤¹à¤œà¤šà¤¾ %sB घेणà¥à¤¯à¤¾à¤šà¥€ गरज आहे.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "%s उगम घà¥à¤¯à¤¾\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "काही अरà¥à¤•à¤¾à¤ˆà¤µà¥à¤¹à¤œ आणणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "%s मधà¥à¤¯à¥‡ आधीच उघडलेलà¥à¤¯à¤¾ उगमातील उघडलेलà¥à¤¯à¤¾à¤²à¤¾ सोडून दà¥à¤¯à¤¾ किंवा वगळा\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "'%s' आजà¥à¤žà¤¾ सà¥à¤Ÿà¥à¤¯à¤¾ करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "'dpkg-dev' पॅकेज संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ केले आहे का ते पडताळून पहा.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "बांधणी करणाऱà¥à¤¯à¤¾ आजà¥à¤žà¤¾ '%s' अयशसà¥à¤µà¥€.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "चाईलà¥à¤¡ पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ अयशसà¥à¤µà¥€" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "बिलà¥à¤¡à¥‡à¤ªà¤¸à¥ कशासाठी ते पडताळणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी किमान à¤à¤• पॅकेज सांगणे गरजेचे आहे" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "%s साठी बांधणी डिपेंडनà¥à¤¸à¥€ माहिती मिळवणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s ला बांधणी डिपेंडनà¥à¤¸ नाहीत.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "%s पॅकेज न सापडलà¥à¤¯à¤¾à¤¨à¥‡ %s साठी %s डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होऊ शकत नाही" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "%s पॅकेज न सापडलà¥à¤¯à¤¾à¤¨à¥‡ %s साठी %s डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होऊ शकत नाही" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "%s अवलंबितà¥à¤µ %s साठी पूरà¥à¤£ होणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥: संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ पॅकेज %s खूपच नवीन आहे" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "आवृतीची मागणी पूरà¥à¤£ करणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी %s पॅकेजची आवृतà¥à¤¤à¥€ उपलबà¥à¤§ नाही,तà¥à¤¯à¤¾à¤®à¥à¤³à¥‡ %s साठी %s " "डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होऊ शकत नाही" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "%s अवलंबितà¥à¤µ %s साठी पूरà¥à¤£ होणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥: संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ पॅकेज %s खूपच नवीन आहे" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "%s पॅकेज न सापडलà¥à¤¯à¤¾à¤¨à¥‡ %s साठी %s डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होऊ शकत नाही" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "%s साठी %s डिपेंडनà¥à¤¸à¥€ पूरà¥à¤£ होणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "%s साठी बांधणी-डिपेंडनà¥à¤¸à¥€à¤œ पूरà¥à¤£ होऊ शकत नाही." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "बांधणी-डिपेंडनà¥à¤¸à¥€à¤œ कà¥à¤°à¤¿à¤¯à¤¾ पूरà¥à¤£ करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥ " -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "%s (%s) ला जोडत आहे" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤® गटाला तांतà¥à¤°à¤¿à¤• मदत दिली:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1414,7 +1435,7 @@ msgstr "" " apt.conf(5) पà¥à¤¸à¥à¤¤à¤¿à¤•à¤¾ पाने पहा.\n" " हà¥à¤¯à¤¾ APT ला सà¥à¤ªà¤° काऊ पॉवरà¥à¤¸ आहेत\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1724,8 +1745,8 @@ msgstr "File %s/%s, %s पॅकेज मधलà¥à¤¯à¤¾ à¤à¤•à¤¾ वर पॠ#. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1757,7 +1778,7 @@ msgstr "info आणि temp संचिका सारखà¥à¤¯à¤¾à¤š फाठ#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "पॅकेज यादà¥à¤¯à¤¾ वाचत आहोत" @@ -2124,36 +2145,30 @@ msgstr "%s:%s' (%i) रिà¤à¥‰à¤²à¥à¤µà¥à¤¹ होत असताना क msgid "Unable to connect to %s:%s:" msgstr "%s %s ला जोडणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "संसà¥à¤¥à¤¾à¤ªà¤¨ खंडित करत आहे." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "अंतरà¥à¤—त तà¥à¤°à¥à¤Ÿà¥€: चांगली सही, पण की ठसे सांगू शकत नाही?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "किमान à¤à¤• अवैध सही सापडली." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "सहीची खातà¥à¤°à¥€ करणà¥à¤¯à¤¾à¤¸à¤¾à¤ ी '%s' कारà¥à¤¯à¤¾à¤¨à¥à¤µà¤¿à¤¤ करू शकत नाही (gpgv संसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ केले आहे का?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "gpgv कारà¥à¤¯à¤¾à¤¨à¥à¤µà¤¿à¤¤ होत असताना अपरिचित तà¥à¤°à¥à¤Ÿà¥€" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "खालील सहà¥à¤¯à¤¾ अवैध आहेत:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2308,57 +2323,57 @@ msgstr "" msgid "Selection %s not found" msgstr "%s निवडक à¤à¤¾à¤— सापडत नाही" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "संकà¥à¤·à¤¿à¤ªà¥à¤¤à¤°à¥à¤ªà¤¾à¤šà¤¾ माहित नसलेला पà¥à¤°à¤•à¤¾à¤°: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "%s संरचना फाईल उघडत आहे" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: बà¥à¤²à¥‰à¤• नावाशिवाय सà¥à¤°à¥‚ होतो." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष : %s:%u: मालफॉरà¥à¤®à¤¡à¥ टॅग" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: मà¥à¤²à¥à¤¯à¤¾à¤‚चà¥à¤¯à¤¾ नंतर अधिक जंक" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: दिशादरà¥à¤¶à¤• फकà¥à¤¤ उचà¥à¤š पातळीवर केले जाऊ शकतात" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: खूपच à¤à¤•à¤¾à¤¤ à¤à¤• इनकà¥à¤²à¥‚डसà¥" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: हà¥à¤¯à¤¾ पासून समाविषà¥à¤Ÿ " -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "नियम रचनेचा दोष %s:%u: '%s' दिशादरà¥à¤¶à¤• असहायà¥à¤¯à¤•à¤¾à¤°à¥€" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "रचनेचà¥à¤¯à¤¾ नियमांचा दोष %s:%u: दिशादरà¥à¤¶à¤• फकà¥à¤¤ उचà¥à¤š पातळीवर केले जाऊ शकतात" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "नियम रचनेचा दोष %s:%u: फाईलचà¥à¤¯à¤¾ अंती अधिक जंक" @@ -2501,7 +2516,7 @@ msgstr "%s उपकà¥à¤°à¤¿à¤¯à¥‡à¤¨à¥‡ (%u) तà¥à¤°à¥à¤Ÿà¥€ कोड दà msgid "Sub-process %s exited unexpectedly" msgstr "%s उपकà¥à¤°à¤¿à¤¯à¤¾ अचानकपणे बाहेर पडली" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "%s फाईल उघडता येत नाही" @@ -2728,14 +2743,14 @@ msgstr "सà¥à¤¤à¥à¤°à¥‹à¤¤ सà¥à¤šà¥€ %s (पà¥à¤°à¤•à¤¾à¤°) मधà¥à¤¯à msgid "Type '%s' is not known on line %u in source list %s" msgstr "%s सà¥à¤¤à¥à¤°à¥‹à¤¤ सà¥à¤šà¥€à¤®à¤§à¥à¤¯à¥‡ %u रेषेवर '%s' पà¥à¤°à¤•à¤¾à¤° माहित नाही " -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2746,7 +2761,7 @@ msgstr "" "गà¥à¤‚तागà¥à¤‚तीमà¥à¤³à¥‡/Pre-Depends पूरà¥à¤µ अवलंबित आवरà¥à¤¤à¤¨.हे नेहमीच वाईट असते, पण जर तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ ते खरोखर " "करावयाचे असेल तर,APT::Force-LoopBreak परà¥à¤¯à¤¾à¤¯ कारà¥à¤¯à¤¾à¤¨à¥à¤µà¤¿à¤¤ करा." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2777,7 +2792,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "अडचणी दूर करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥, तà¥à¤®à¥à¤¹à¥€ तà¥à¤Ÿà¤²à¥‡à¤²à¥‡ पॅकेज घेतलेले आहे." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2828,12 +2843,12 @@ msgstr "%s कारà¥à¤¯à¤ªà¤§à¥à¤¦à¤¤à¥€ योगà¥à¤¯ रीतीने msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "कृपया '%s' लेबल असलेली डिसà¥à¤• '%s' या डà¥à¤°à¤¾à¤‡à¤µà¥à¤¹à¤®à¤§à¥à¤¯à¥‡ ठेवा आणि à¤à¤¨à¥à¤Ÿà¤° कळ दाबा." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "'%s' पॅकेजींग पà¥à¤°à¤£à¤¾à¤²à¥€ सहायà¥à¤¯à¤•à¤¾à¤°à¥€ नाही" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "योगà¥à¤¯ असा पॅकेजिंग पà¥à¤°à¤£à¤¾à¤²à¥€ पà¥à¤°à¤•à¤¾à¤° निशà¥à¤šà¤¿à¤¤ करणà¥à¤¯à¤¾à¤¸ असमरà¥à¤¥ " @@ -2858,17 +2873,24 @@ msgstr "तà¥à¤®à¥à¤¹à¥€ हà¥à¤¯à¤¾ समसà¥à¤¯à¤¾à¤‚चे निवा msgid "The list of sources could not be read." msgstr "उगमांचà¥à¤¯à¤¾ यादà¥à¤¯à¤¾ वाचता येणार नाहीत." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "पसंतीचà¥à¤¯à¤¾ संचिकेत अवैध माहितीसंच, पॅकेजला शीरà¥à¤·à¤• नाही " -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "%s पिनचा पà¥à¤°à¤•à¤¾à¤° समजलेला नाही" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "पिन करिता पà¥à¤°à¤¾à¤§à¤¾à¤¨à¥à¤¯/अगà¥à¤°à¤•à¥à¤°à¤® (किंवा शूनà¥à¤¯)निरà¥à¤¦à¥‡à¤¶à¥€à¤¤ केलेला नाही" @@ -2962,7 +2984,7 @@ msgstr "%s उगम पॅकेज यादी सà¥à¤°à¥‚ करता यà msgid "Collecting File Provides" msgstr "तरतूद/पà¥à¤°à¤µà¤²à¥‡à¤²à¥à¤¯à¤¾ संचिका संगà¥à¤°à¤¹à¤¿à¤¤ करीत आहे" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "IO तà¥à¤°à¥à¤Ÿà¥€ उगम निवडक संचयसà¥à¤¥à¤¾à¤¨à¤¾à¤¤ संगà¥à¤°à¤¹à¤¿à¤¤ होत आहे" @@ -2975,8 +2997,8 @@ msgstr "पà¥à¤¨à¤°à¥à¤¨à¤¾à¤®à¤¾à¤‚कन अयशसà¥à¤µà¥€, %s (%s -> %s msgid "MD5Sum mismatch" msgstr "à¤à¤®à¤¡à¥€à¥« बेरीज/MD5Sum जà¥à¤³à¤¤ नाही" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "हॅश बेरीज जà¥à¤³à¤¤ नाही" @@ -2996,20 +3018,19 @@ msgstr "%s (1) पॅकेज फाईल पारà¥à¤¸ करणà¥à¤¯à¤¾à¤ msgid "There is no public key available for the following key IDs:\n" msgstr "पà¥à¤¢à¥€à¤² कळ ओळखचिनà¥à¤¹à¤¾à¤‚साठी सारà¥à¤µà¤œà¤¨à¤¿à¤• कळ उपलबà¥à¤§ नाही:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3017,12 +3038,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3031,7 +3052,7 @@ msgstr "" "मी %s पॅकेजकरीता संचिका शोधणà¥à¤¯à¤¾à¤¸ समरà¥à¤¥ नवà¥à¤¹à¤¤à¥‹. याचा अरà¥à¤¥ असाकी तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾ हे पॅकेज सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ " "सà¥à¤¥à¤¿à¤°/निशà¥à¤šà¤¿à¤¤ करणà¥à¤¯à¤¾à¤šà¥€ गरज आहे(हरवलेलà¥à¤¯à¤¾ आरà¥à¤šà¤®à¥à¤³à¥‡) " -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3040,7 +3061,7 @@ msgstr "" "मी %s पॅकेजकरीता संचिका शोधणà¥à¤¯à¤¾à¤¸ समरà¥à¤¥ नवà¥à¤¹à¤¤à¥‹. याचा अरà¥à¤¥ असाकी तà¥à¤®à¥à¤¹à¤¾à¤²à¤¾à¤¹à¥‡ पॅकेज सà¥à¤µà¤¹à¤¸à¥à¤¤à¥‡ " "सà¥à¤¥à¤¿à¤°/निशà¥à¤šà¤¿à¤¤ करणà¥à¤¯à¤¾à¤šà¥€ गरज आहे." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3048,7 +3069,7 @@ msgstr "" "पॅकेज यादीची/सà¥à¤šà¥€à¤šà¥€ संचिका दूषित/खराब à¤à¤¾à¤²à¥‡à¤²à¥€ आहे. संचिका नाव नाही: पॅकेजकरीता कà¥à¤·à¥‡à¤¤à¥à¤°/" "ठिकाण %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "आकार जà¥à¤³à¤¤à¤¨à¤¾à¤¹à¥€" @@ -3170,22 +3191,22 @@ msgstr "नविन सà¥à¤¤à¥à¤°à¥‹à¤¤ सूची लिहित आहॠmsgid "Source list entries for this disc are:\n" msgstr "हà¥à¤¯à¤¾ डिसà¥à¤•/चकती करिता सà¥à¤¤à¥à¤°à¥‹à¤¤ सूचीचà¥à¤¯à¤¾ पà¥à¤°à¤µà¥‡à¤¶à¤¿à¤•à¤¾ आहेत: \n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i माहितीसंच लिहिले.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i गहाळ संचिकाबरोबर %i माहिती संच लिहिले.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i विजोड संचिकांबरोबर %i माहिती संच लिहिले\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "%i गहाळ संचिकाबरोबर आणि %i विजोड संचिकाबरोबर %i माहिती संच लिहिले\n" @@ -3205,6 +3226,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "हॅश बेरीज जà¥à¤³à¤¤ नाही" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "संसà¥à¤¥à¤¾à¤ªà¤¨ खंडित करत आहे." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-09-01 21:10+0200\n" "Last-Translator: Hans Fredrik Nordhaug <hans@nordhaug.priv.no>\n" "Language-Team: Norwegian BokmÃ¥l <i18n-nb@lister.ping.uio.no>\n" @@ -160,7 +160,7 @@ msgstr " Versjonstabell:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s for %s kompilert pÃ¥ %s %s\n" @@ -840,7 +840,7 @@ msgstr "Det er ikke mulig Ã¥ installere %s pÃ¥ nytt - den kan ikke nedlastes.\n" msgid "%s is already the newest version.\n" msgstr "%s er allerede nyeste versjon.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s satt til manuell installasjon.\n" @@ -954,8 +954,8 @@ msgstr "Etter denne operasjonen vil %sB ekstra diskplass bli brukt.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Etter denne operasjonen vil %sB diskplass bli ledig.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Klarte ikke bestemme ledig plass i %s" @@ -993,7 +993,7 @@ msgstr "Avbryter." msgid "Do you want to continue [Y/n]? " msgstr "Vil du fortsette [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Klarte ikke Ã¥ skaffe %s %s\n" @@ -1002,7 +1002,7 @@ msgstr "Klarte ikke Ã¥ skaffe %s %s\n" msgid "Some files failed to download" msgstr "Klarte ikke laste ned alle filene" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Nedlasting fullført med innstillinga «bare nedlasting»" @@ -1044,31 +1044,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Merk: Dette er gjort automatisk og med hensikt av dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignorer utilgjengelig mÃ¥lutgave «%s» av pakke «%s»" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Velger «%s» som kildepakke istedenfor «%s»\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Ignorer utilgjengelig versjon «%s» av pakke «%s»" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Oppdaterings-kommandoen tar ingen argumenter" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Vi skal ikke slette ting, kan ikke starte auto-fjerner (AutoRemover)" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1086,15 +1086,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Følgende informasjon kan være til hjelp med Ã¥ løse problemet:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Intern feil, autofjerneren (AutoRemover) ødela noe" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1105,7 +1105,7 @@ msgstr[0] "" msgstr[1] "" "Følgende pakker ble automatisk installert og er ikke lenger pÃ¥krevet:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1113,19 +1113,19 @@ msgid_plural "" msgstr[0] "%lu pakke ble automatisk installert og er ikke lenger pÃ¥krevet.\n" msgstr[1] "%lu pakker ble automatisk installert og er ikke lenger pÃ¥krevet.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Bruk «apt-get autoremove» for Ã¥ fjerne dem." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Intern feil - «AllUpgrade» ødela noe" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Du vil kanskje utføre «apt-get -f install» for Ã¥ rette pÃ¥ disse:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1133,7 +1133,7 @@ msgstr "" "Uinnfridde avhengighetsforhold. Prøv «apt-get -f install» uten pakker (eller " "angi en løsning)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1145,73 +1145,73 @@ msgstr "" "at visse kjernepakker ennÃ¥ ikke er laget eller flyttet ut av «Incoming» for\n" "distribusjonen." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Ødelagte pakker" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Følgende ekstra pakker vil bli installert." -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "ForeslÃ¥tte pakker:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Anbefalte pakker" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Klarte ikke Ã¥ finne pakken %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s satt til automatisk installasjon.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Beregner oppgradering... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Mislyktes" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Utført" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Intern feil, problemløser ødela noe" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Klarer ikke Ã¥ lÃ¥se nedlastingsmappa" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Du mÃ¥ angi minst en pakke du vil ha kildekoden til" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Klarer ikke Ã¥ finne en kildekodepakke for %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1220,7 +1220,7 @@ msgstr "" "MERK: «%s»-pakker blir vedlikeholdt i versjonskontrollsystemet «%s» pÃ¥:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1231,124 +1231,145 @@ msgstr "" "bzr get %s\n" "for Ã¥ hente siste (muligens ikke utgitte) oppdateringer for pakken.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Hopper over allerede nedlastet fil «%s»\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Du har ikke nok ledig plass i %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Trenger Ã¥ skaffe %sB av %sB fra kildekodearkivet.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Trenger Ã¥ skaffe %sB fra kildekodearkivet.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Skaffer kildekode %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Klarte ikke Ã¥ skaffe alle arkivene." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "OmgÃ¥r utpakking av allerede utpakket kilde i %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Utpakkingskommandoen «%s» mislyktes.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Sjekk om pakken «dpkg-dev» er installert.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Byggekommandoen «%s» mislyktes.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Barneprosessen mislyktes" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "Du mÃ¥ angi minst en pakke du vil sjekke «builddeps» for" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Klarer ikke Ã¥ skaffe informasjon om bygge-avhengighetene for %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s har ingen avhengigheter.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "Kravet %s for %s kan ikke oppfylles fordi pakken %s ikke finnes" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "Kravet %s for %s kan ikke oppfylles fordi pakken %s ikke finnes" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Klarte ikke Ã¥ tilfredsstille %s avhengighet for %s: den installerte pakken " +"%s er for ny" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "Kravet %s for %s kan ikke oppfylles fordi det ikke finnes noen tilgjengelige " "versjoner av pakken %s som oppfyller versjonskravene" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "" -"Klarte ikke Ã¥ tilfredsstille %s avhengighet for %s: den installerte pakken " -"%s er for ny" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "Kravet %s for %s kan ikke oppfylles fordi pakken %s ikke finnes" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Klarte ikke Ã¥ tilfredsstille %s avhengighet for %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Klarte ikke Ã¥ tilfredstille bygg-avhengighetene for %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Klarte ikke Ã¥ behandle forutsetningene for bygging" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Kobler til %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Støttede moduler:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1437,7 +1458,7 @@ msgstr "" "for mer informasjon og flere valg.\n" " Denne APT har kraften til en Superku.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1750,8 +1771,8 @@ msgstr "Fila %s/%s skriver over den tilsvarende fila i pakken %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1784,7 +1805,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Leser pakkelister" @@ -2156,35 +2177,29 @@ msgstr "Noe galt skjedde ved oppslag av «%s:%s» (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Klarte ikke koble til %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Ingen nøkkelring installert i %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "Intern feil: God signatur, men kunne bestemme nøkkelfingeravtrykk?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Minst en ugyldig signatur ble funnet." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Klarte ikke kjøre «gpgv» for Ã¥ verifisere signaturen (er gpgv installert?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Ukjent feil ved kjøring av gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "De følgende signaturene var ugyldige:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2345,57 +2360,57 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Fant ikke utvalget %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Ukjent typeforkortelse: «%c»" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Ã…pner oppsettsfila %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaksfeil %s:%u: Blokka starter uten navn." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaksfeil %s:%u: Feil pÃ¥ taggen" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaksfeil %s:%u: Ugyldige angivelser etter verdien" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Syntaksfeil %s:%u: Direktivene kan bare ligge i det øverste nivÃ¥et" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaksfeil %s:%u: For mange nøstede inkluderte filer" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaksfeil %s:%u: Inkludert herfra" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaksfeil %s:%u: Direktivet «%s» er ikke støttet" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "Syntaksfeil %s:%u: clear-direktivet krever et valgtre som argument" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaksfeil %s:%u: Ugyldige angivelser pÃ¥ slutten av fila" @@ -2538,7 +2553,7 @@ msgstr "Underprosessen %s ga en feilkode (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Underprosessen %s avsluttet uventet" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Klarte ikke Ã¥pne fila %s" @@ -2765,7 +2780,7 @@ msgstr "Feil pÃ¥ %u i kildelista %s (type)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Typen «%s» er ukjent i linje %u i kildelista %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2774,7 +2789,7 @@ msgstr "" "Klarte ikke gjennomføre umiddelbar konfigurasjon av «%s». Se man 5 apt.conf " "under APT::Immediate-Configure for detaljer. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2785,7 +2800,7 @@ msgstr "" "%s pga. en konflikt/forutsettelses-løkke. Dette er ofte stygt, men hvis du " "virkelig vil det, sÃ¥ bruk innstillingen APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2818,7 +2833,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Klarer ikke Ã¥ rette problemene, noen ødelagte pakker er holdt tilbake." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2869,12 +2884,12 @@ msgstr "Metoden %s startet ikke korrekt" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Sett inn disken merket «%s» i lagringsenheten «%s» og trykk Enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Pakkesystemet «%s» støttes ikke" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Klarer ikke bestemme en passende pakkesystemtype" @@ -2901,17 +2916,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "Kan ikke lese kildlista." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Ugyldig oppslag i foretrekksfila %s, manglende pakkehode" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Forsto ikke spikring av typen %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Ingen prioritet (eller null) spesifisert for pin" @@ -3000,7 +3022,7 @@ msgstr "Klarte ikke finne informasjon om %s - lista over kildekodepakker" msgid "Collecting File Provides" msgstr "Samler inn filtilbud" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "IO-feil ved lagring av kildekode-lager" @@ -3013,8 +3035,8 @@ msgstr "klarte ikke Ã¥ endre navnet, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Feil MD5sum" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hashsummen stemmer ikke" @@ -3035,20 +3057,19 @@ msgid "There is no public key available for the following key IDs:\n" msgstr "" "Det er ingen offentlig nøkkel tilgjengelig for de følgende nøkkel-ID-ene:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Utgavefil har utgÃ¥tt, ignorerer %s (ugyldg siden %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Konflikt mellom distribusjoner: %s (forventet %s men fant %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3058,12 +3079,12 @@ msgstr "" "forrige indeksfilen vil bli brukt. GPG-feil: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "GPG-feil: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3072,7 +3093,7 @@ msgstr "" "Klarte ikke Ã¥ finne en fil for pakken %s. Det kan bety at du mÃ¥ ordne pakken " "selv (fordi arkitekturen mangler)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3081,13 +3102,13 @@ msgstr "" "Klarte ikke Ã¥ finne en fil for pakken %s. Det kan bety at du mÃ¥ ordne denne " "pakken selv." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "Oversiktsfilene er ødelagte. Feltet «Filename:» mangler for pakken %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Feil størrelse" @@ -3211,22 +3232,22 @@ msgstr "Skriver ny kildeliste\n" msgid "Source list entries for this disc are:\n" msgstr "Kildelisteoppføringer for denne CD-en er:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Skrev %i poster.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Skrev %i poster med %i manglende filer.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Skrev %i poster med %i feile filer.\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "Skrev %i poster med %i manglende filer og %i feile filer.\n" @@ -3246,6 +3267,17 @@ msgstr "Klarte ikke finne autentiseringsoppføring for: %s" msgid "Hash mismatch for: %s" msgstr "Hashsummen stemmer ikke for: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Ingen nøkkelring installert i %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3500,6 +3532,9 @@ msgstr "Forbindelsen ble uventet stengt" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Intern feil, gruppe «%s» har ingen installerbar pseudo-pakke" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Utgavefil har utgÃ¥tt, ignorerer %s (ugyldg siden %s)" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "E: Argumentliste fra Acquire::gpgv::Options for lang. Avbryter." @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2006-06-12 14:35+0545\n" "Last-Translator: Shiva Pokharel <pokharelshiva@hotmail.com>\n" "Language-Team: Nepali <info@mpp.org.np>\n" @@ -158,7 +158,7 @@ msgstr " संसà¥à¤•à¤°à¤£ तालिका:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s को लागि %s %s, %s %s मा कमà¥à¤ªà¤¾à¤à¤² गरिà¤à¤•à¥‹ छ\n" @@ -834,7 +834,7 @@ msgstr " %s को पà¥à¤¨: सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ समà¥à¤à¤µ छैन, à msgid "%s is already the newest version.\n" msgstr "%s पहिलà¥à¤¯à¥ˆ नयाठसंसà¥à¤•à¤°à¤£ हो ।\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "तर %s सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥à¤ªà¤°à¥à¤¯à¥‹" @@ -946,8 +946,8 @@ msgstr "अनपà¥à¤¯à¤¾à¤• गरिसके पछि थप डिसà¥à¤ msgid "After this operation, %sB disk space will be freed.\n" msgstr "%sB अनपà¥à¤¯à¤¾à¤• गरिसके पछि डिसà¥à¤• खाली ठाउठखाली हà¥à¤¨à¥‡à¤› ।\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr " %s मा खाली ठाऊठनिरà¥à¤§à¤¾à¤°à¤£ गरà¥à¤¨ सकिà¤à¤¨" @@ -984,7 +984,7 @@ msgstr "परितà¥à¤¯à¤¾à¤— गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।" msgid "Do you want to continue [Y/n]? " msgstr "के तपाईठनिरनà¥à¤¤à¤°à¤¤à¤¾ दिन चाहनà¥à¤¹à¥à¤¨à¥à¤› [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "%s %s तानà¥à¤¨ असफल à¤à¤¯à¥‹\n" @@ -993,7 +993,7 @@ msgstr "%s %s तानà¥à¤¨ असफल à¤à¤¯à¥‹\n" msgid "Some files failed to download" msgstr "केही फाइलहरू डाउनलोड गरà¥à¤¨ असफल à¤à¤¯à¥‹" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "डाउनलोड समापà¥à¤¤ à¤à¤¯à¥‹ र डाउनलोडमा मोड मातà¥à¤°à¥ˆ छ" @@ -1031,31 +1031,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "सà¥à¤°à¥‹à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ सूची %s सà¥à¤¥à¤¿à¤° गरà¥à¤¨ सकिà¤à¤¨ " #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "अदà¥à¤¯à¤¾à¤µà¤§à¤¿à¤• आदेशले कà¥à¤¨à¥ˆ तरà¥à¤•à¤¹à¤°à¥‚ लिदैन" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1071,16 +1071,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "निमà¥à¤¨ सूचनाले अवसà¥à¤¥à¤¾à¤²à¤¾à¤ˆ हल गरà¥à¤¨ मदà¥à¤¦à¤¤ गरà¥à¤¨à¥‡à¤›: " -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "आनà¥à¤¤à¤°à¤¿à¤• तà¥à¤°à¥à¤Ÿà¤¿,समसà¥à¤¯à¤¾ हलकरà¥à¤¤à¤¾à¤²à¥‡ उतà¥à¤¤à¤® गà¥à¤£ à¤à¤¾à¤à¤šà¥à¤¯à¥‹ " -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1090,7 +1090,7 @@ msgid_plural "" msgstr[0] "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:" msgstr[1] "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1098,19 +1098,19 @@ msgid_plural "" msgstr[0] "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:" msgstr[1] "निमà¥à¤¨ नयाठपà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "आनà¥à¤¤à¤°à¤¿à¤• तà¥à¤°à¥à¤Ÿà¤¿,सबै सà¥à¤¤à¤°à¤µà¥ƒà¤¦à¥à¤§à¤¿à¤²à¥‡ उतà¥à¤¤à¤® गà¥à¤£ नषà¥à¤Ÿ गरà¥à¤¦à¤›" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "तपाईठयसलाई सà¥à¤§à¤¾à¤° गरà¥à¤¨ 'apt-get -f install' चलाउन चाहनà¥à¤¹à¥à¤¨à¥à¤›:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1118,7 +1118,7 @@ msgstr "" "नà¤à¥‡à¤Ÿà¤¿à¤à¤•à¤¾ निरà¥à¤à¤°à¤¤à¤¾à¤¹à¤°à¥‚ । पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ बिना 'apt-get -f install' पà¥à¤°à¤¯à¤¾à¤¸ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ( वा " "समाधान निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥) ।" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1131,80 +1131,80 @@ msgstr "" " वितरण अहिले समà¥à¤® सिरà¥à¤œà¤¨à¤¾\n" " à¤à¤à¤•à¥‹ छैन वा आवगमन विनानै सरà¥à¤¯à¥‹ ।" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "à¤à¤¾à¤à¤šà¤¿à¤à¤•à¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "निमà¥à¤¨ अतिरिकà¥à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥‡à¤›à¤¨à¥:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "सà¥à¤à¤¾à¤µ दिà¤à¤•à¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "सिफारिस गरिà¤à¤•à¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥‚:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "पà¥à¤¯à¤¾à¤•à¥‡à¤œ फेला पारà¥à¤¨ सकिà¤à¤¨ %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "तर %s सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ हà¥à¤¨à¥à¤ªà¤°à¥à¤¯à¥‹" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "सà¥à¤¤à¤° वृदà¥à¤§à¤¿ गणना गरिदैछ..." -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "असफल à¤à¤¯à¥‹" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "काम à¤à¤¯à¥‹" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "आनà¥à¤¤à¤°à¤¿à¤• तà¥à¤°à¥à¤Ÿà¤¿,समसà¥à¤¯à¤¾ हलकरà¥à¤¤à¤¾à¤²à¥‡ उतà¥à¤¤à¤® गà¥à¤£ à¤à¤¾à¤à¤šà¥à¤¯à¥‹ " -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "डाउनलोड डाइरेकà¥à¤Ÿà¥à¤°à¥€ तालà¥à¤šà¤¾ मारà¥à¤¨ असकà¥à¤·à¤®" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "को लागि सà¥à¤°à¥‹à¤¤ तानà¥à¤¨ कमà¥à¤¤à¤¿à¤®à¤¾ à¤à¤‰à¤Ÿà¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œ निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤ªà¤°à¥à¤›" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "%s को लागि सà¥à¤°à¥‹à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ फेला पारà¥à¤¨ असफल à¤à¤¯à¥‹" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1212,122 +1212,143 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "पहिलà¥à¤¯à¥ˆ डाउनलोड à¤à¤à¤•à¤¾ फाइलहरॠफडà¥à¤•à¤¾à¤‡à¤¦à¥ˆà¤› '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "तपाईठसंग %s मा परà¥à¤¯à¤¾à¤ªà¥à¤¤ खाली ठाऊठछैन" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "सà¥à¤°à¥‹à¤¤ संगà¥à¤°à¤¹à¤¹à¤°à¥à¤•à¥‹ %sB/%sB पà¥à¤°à¤¾à¤ªà¥à¤¤ गरà¥à¤¨ आवशà¥à¤¯à¤• छ ।\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "सà¥à¤°à¥‹à¤¤ संगà¥à¤°à¤¹à¤¹à¤°à¥à¤•à¥‹ %sB पà¥à¤°à¤¾à¤ªà¥à¤¤ गरà¥à¤¨ आवशà¥à¤¯à¤• छ ।\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "सà¥à¤°à¥‹à¤¤ फडà¥à¤•à¤¾à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥ %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "केही संगà¥à¤°à¤¹ फडà¥à¤•à¤¾à¤‰à¤¨ असफल à¤à¤¯à¥‹ ।" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr " %s मा पहिलà¥à¤¯à¥ˆ अनपà¥à¤¯à¤¾à¤• गरिà¤à¤•à¤¾ सà¥à¤°à¥‹à¤¤à¤•à¥‹ अनपà¥à¤¯à¤¾à¤• फडà¥à¤•à¤¾à¤‡à¤¦à¥ˆà¤›\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "अनपà¥à¤¯à¤¾à¤• आदेश '%s' असफल à¤à¤¯à¥‹ ।\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "जाà¤à¤šà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ यदि 'dpkg-dev' पà¥à¤¯à¤¾à¤•à¥‡à¤œ सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ à¤à¤¯à¥‹ ।\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "निरà¥à¤®à¤¾à¤£ आदेश '%s' असफल à¤à¤¯à¥‹ ।\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "शाखा पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ असफल à¤à¤¯à¥‹" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "को लागि builddeps जाà¤à¤šà¥à¤¨ कमà¥à¤¤à¤¿à¤®à¤¾ à¤à¤‰à¤Ÿà¤¾ पà¥à¤¯à¤¾à¤•à¥‡à¤œ निरà¥à¤¦à¤·à¥à¤Ÿ गरà¥à¤¨à¥à¤ªà¤°à¥à¤›" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "%s को लागि निरà¥à¤®à¤¾à¤£-निरà¥à¤à¤°à¤¤à¤¾ सूचना पà¥à¤°à¤¾à¤ªà¥à¤¤ गरà¥à¤¨ असकà¥à¤·à¤® à¤à¤¯à¥‹" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s कà¥à¤¨à¥ˆ निरà¥à¤®à¤¾à¤£à¤®à¤¾ आधारित हà¥à¤¦à¥ˆà¤¨ ।\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "%s को लागि %s निरà¥à¤à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ हà¥à¤¨ सकेन किनà¤à¤¨à¥‡ पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s फेला पारà¥à¤¨ सकिà¤à¤¨" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "%s को लागि %s निरà¥à¤à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ हà¥à¤¨ सकेन किनà¤à¤¨à¥‡ पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s फेला पारà¥à¤¨ सकिà¤à¤¨" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "%s को लागि %s निरà¥à¤à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ पारà¥à¤¨ असफल à¤à¤¯à¥‹: सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s अति नयाठछ" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%sको लागि %s निरà¥à¤à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ हà¥à¤¨ सकेन किन à¤à¤¨à¥‡ पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s को कà¥à¤¨à¥ˆ उपलबà¥à¤§ संसà¥à¤•à¤°à¤£à¤²à¥‡ संसà¥à¤•à¤°à¤£ " "आवशà¥à¤¯à¤•à¤¤à¤¾à¤¹à¤°à¥à¤²à¤¾à¤ˆ सनà¥à¤¤à¥à¤·à¥à¤Ÿ पारà¥à¤¨ सकेन " -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "%s को लागि %s निरà¥à¤à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ पारà¥à¤¨ असफल à¤à¤¯à¥‹: सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s अति नयाठछ" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "%s को लागि %s निरà¥à¤à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ हà¥à¤¨ सकेन किनà¤à¤¨à¥‡ पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s फेला पारà¥à¤¨ सकिà¤à¤¨" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "%s को लागि %s निरà¥à¤à¤°à¤¤à¤¾ सनà¥à¤¤à¥à¤·à¥à¤Ÿ गरà¥à¤¨ असफल: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "%s को लागि निरà¥à¤®à¤¾à¤£ निरà¥à¤à¤°à¤¤à¤¾à¤¹à¤°à¥‚ सनà¥à¤¤à¥à¤·à¥à¤Ÿ गरà¥à¤¨ सकिà¤à¤¨ । " -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "निरà¥à¤®à¤¾à¤£ निरà¥à¤à¤°à¤¤à¤¾à¤¹à¤°à¥‚ पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ गरà¥à¤¨ असफल" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "%s (%s) मा जडान गरिदैछ" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "समरà¥à¤¥à¤¿à¤¤ मोडà¥à¤¯à¥à¤²à¤¹à¤°à¥‚:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1412,7 +1433,7 @@ msgstr "" "pages हेरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।\n" " APT संग सà¥à¤ªà¤° काउ शकà¥à¤¤à¤¿à¤¹à¤°à¥‚ छ ।\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1722,8 +1743,8 @@ msgstr "फाइल %s/%s ले पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s मा à¤à¤‰à¤Ÿà¤¾ à #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1755,7 +1776,7 @@ msgstr "सूचना र टेमà¥à¤ª डाइरेकà¥à¤Ÿà¥à¤°à¥€à¤¹ #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "पà¥à¤¯à¤¾à¤•à¥‡à¤œ सूचिहरू पढिदैछ" @@ -2122,35 +2143,29 @@ msgstr " '%s:%s' (%i) हल गरà¥à¤¦à¤¾ केही दà¥à¤·à¥à¤Ÿ घट msgid "Unable to connect to %s:%s:" msgstr "%s %s मा जडान गरà¥à¤¨ असफल à¤à¤¯à¥‹:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ परितà¥à¤¯à¤¾à¤— गरिदैछ ।" - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "आनà¥à¤¤à¤°à¤¿à¤• तà¥à¤°à¥à¤Ÿà¤¿: असल हसà¥à¤¤à¤¾à¤•à¥à¤·à¤°, तर कà¥à¤žà¥à¤œà¥€ औठाछाप निरà¥à¤§à¤¾à¤°à¤£ गरà¥à¤¨ सकिà¤à¤¨?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "कमà¥à¤¤à¤¿à¤®à¤¾ à¤à¤‰à¤Ÿà¤¾ अवैध हसà¥à¤¤à¤¾à¤•à¥à¤·à¤° विरोध à¤à¤¯à¥‹ ।" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "हसà¥à¤¤à¤¾à¤•à¥à¤·à¤° रूजू गरà¥à¤¨ '%s' कारà¥à¤¯à¤¨à¥à¤µà¤¯à¤¨ गरà¥à¤¨ सकिà¤à¤¨ (के gpgv सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ à¤à¤¯à¥‹?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "gpgv कारà¥à¤¯à¤¨à¥à¤µà¤¯à¤¨ गरà¥à¤¦à¤¾ अजà¥à¤žà¤¾à¤¤ तà¥à¤°à¥à¤Ÿà¤¿" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "निमà¥à¤¨ हसà¥à¤¤à¤¾à¤•à¥à¤·à¤°à¤¹à¤°à¥‚ अवैध छनà¥:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2306,57 +2321,57 @@ msgstr "" msgid "Selection %s not found" msgstr "चयन %s फेला पारà¥à¤¨ सकिà¤à¤¨" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "नचिनिà¤à¤•à¥‹ टाइप संकà¥à¤·à¤¿à¤ªà¥à¤¤ रà¥à¤ª: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "कनफिगरेसन फाइल खोलिदैछ %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: बनà¥à¤¦ कà¥à¤¨à¥ˆ नाम बिना सà¥à¤°à¥‚ हà¥à¤¨à¥à¤› ।" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: वैरà¥à¤ª गरिà¤à¤•à¥‹ टà¥à¤¯à¤¾à¤—" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: मान पछाडि अतिरिकà¥à¤¤ जंक" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: निरà¥à¤¦à¥‡à¤¶à¤¨à¤¹à¤°à¥‚ माथिलà¥à¤²à¥‹ तहबाट मातà¥à¤° हà¥à¤¨à¥à¤›" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: अति धेरै नेसà¥à¤Ÿà¥‡à¤¡ समावेश गरà¥à¤¦à¤›" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: यहाठबाट समावेश गरेको" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: समरà¥à¤¥à¤¨ नà¤à¤à¤•à¥‹ डाइरेकà¥à¤Ÿà¤¿à¤ '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u: निरà¥à¤¦à¥‡à¤¶à¤¨à¤¹à¤°à¥‚ माथिलà¥à¤²à¥‹ तहबाट मातà¥à¤° हà¥à¤¨à¥à¤›" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "वाकà¥à¤¯ संरचना तà¥à¤°à¥à¤Ÿà¤¿ %s:%u:फाइलको अनà¥à¤¤à¥à¤¯à¤®à¤¾ अतिरिकà¥à¤¤ जंक" @@ -2499,7 +2514,7 @@ msgstr "सहायक पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ %s ले à¤à¤‰à¤Ÿà¤¾ तॠmsgid "Sub-process %s exited unexpectedly" msgstr "सहायक पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ %s अनपेकà¥à¤·à¤¿à¤¤ बनà¥à¤¦ à¤à¤¯à¥‹" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "फाइल %s खोलà¥à¤¨ सकिà¤à¤¨" @@ -2727,14 +2742,14 @@ msgstr "वैरà¥à¤ªà¥à¤¯ लाइन %u सà¥à¤°à¥‹à¤¤ सूचिमा msgid "Type '%s' is not known on line %u in source list %s" msgstr "सà¥à¤°à¥‹à¤¤ सूची %s à¤à¤¿à¤¤à¥à¤° %u लाइनमा टाइप '%s' जà¥à¤žà¤¾à¤¤ छैन" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2745,7 +2760,7 @@ msgstr "" "हटाउनॠपरà¥à¤¨à¥‡à¤› । यो पà¥à¤°à¤¾à¤¯ नरामà¥à¤°à¥‹ हो, तर यदि तपाईठयो साà¤à¤šà¥à¤šà¥ˆ गरà¥à¤¨ चाहनà¥à¤¹à¥à¤¨à¥à¤› à¤à¤¨à¥‡, APT::" "Force-LoopBreak विकलà¥à¤ª सकà¥à¤°à¤¿à¤¯ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2775,7 +2790,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "समसà¥à¤¯à¤¾à¤¹à¤°à¥‚ सà¥à¤§à¤¾à¤°à¥à¤¨ असकà¥à¤·à¤® à¤à¤¯à¥‹, तपाईà¤à¤²à¥‡ पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤¹à¤°à¥ à¤à¤¾à¤à¤šà¥à¤¨à¥à¤à¤¯à¥‹ ।" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2826,12 +2841,12 @@ msgstr "विधि %s सही रà¥à¤ªà¤²à¥‡ सà¥à¤°à¥‚ हà¥à¤¨ सकà msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "कृपया डिसà¥à¤• लेबà¥à¤²: '%s' डà¥à¤°à¤¾à¤‡à¤ '%s'मा घà¥à¤¸à¤‰à¤¨à¥à¤¹à¥‹à¤¸à¥ र इनà¥à¤Ÿà¤° थिचà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ । " -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "पà¥à¤¯à¤¾à¤•à¤¿à¤™à¥à¤— पà¥à¤°à¤£à¤¾à¤²à¥€ '%s' समरà¥à¤¥à¤¿à¤¤ छैन" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "उपयà¥à¤•à¥à¤¤ पà¥à¤¯à¤¾à¤•à¤¿à¤™à¥à¤— पà¥à¤°à¤£à¤¾à¤²à¥€ पà¥à¤°à¤•à¤¾à¤° निरà¥à¤§à¤¾à¤°à¤¨ गरà¥à¤¨ असकà¥à¤·à¤® à¤à¤¯à¥‹" @@ -2856,17 +2871,24 @@ msgstr "यो समसà¥à¤¯à¤¾à¤¹à¤°à¥‚ सà¥à¤§à¤¾à¤°à¥à¤¨ तपाईठmsgid "The list of sources could not be read." msgstr "सà¥à¤°à¥‹à¤¤à¤¹à¤°à¥à¤•à¥‹ सूचि पढà¥à¤¨ सकिà¤à¤¨ ।" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ फाइलमा अवैध रेकरà¥à¤¡, कà¥à¤¨à¥ˆ पà¥à¤¯à¤¾à¤•à¥‡à¤œ हेडर छैन" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "पिन टाइप %s बà¥à¤à¥à¤¨ सकिà¤à¤¨ " -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "पिनको लागि कà¥à¤¨à¥ˆ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ (वा शूनà¥à¤¯) निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ छैन" @@ -2956,7 +2978,7 @@ msgstr "सà¥à¤°à¥‹à¤¤ पà¥à¤¯à¤¾à¤•à¥‡à¤œ सूची %s सà¥à¤¥à¤¿à¤° ठmsgid "Collecting File Provides" msgstr "फाइल उपलबà¥à¤§à¤¤à¤¾à¤¹à¤°à¥‚ संकलन गरिदैछ" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "सà¥à¤°à¥‹à¤¤ कà¥à¤¯à¤¾à¤¸ बचत गरà¥à¤¦à¤¾ IO तà¥à¤°à¥à¤Ÿà¤¿" @@ -2969,8 +2991,8 @@ msgstr "पà¥à¤¨:नामकरण असफल गरियो, %s (%s -> %s) msgid "MD5Sum mismatch" msgstr "MD5Sum मेल à¤à¤à¤¨" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 #, fuzzy msgid "Hash Sum mismatch" msgstr "MD5Sum मेल à¤à¤à¤¨" @@ -2991,20 +3013,19 @@ msgstr "पà¥à¤¯à¤¾à¤•à¥‡à¤œ फाइल पद वरà¥à¤£à¤¨ गरà¥à¤¨ à msgid "There is no public key available for the following key IDs:\n" msgstr "निमà¥à¤¨ कà¥à¤žà¥à¤œà¥€ IDs को लागि कà¥à¤¨à¥ˆ सारà¥à¤µà¤œà¤¨à¤¿à¤• कà¥à¤žà¥à¤œà¥€ उपलबà¥à¤§ छैन:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3012,12 +3033,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3026,7 +3047,7 @@ msgstr "" "%s पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤•à¥‹ लागि मैले फाइल सà¥à¤¥à¤¿à¤¤ गरà¥à¤¨ सकिन । यसको मतलब तपाईà¤à¤²à¥‡ मà¥à¤¯à¤¾à¤¨à¥à¤²à¥à¤²à¥€ यो पà¥à¤¯à¤¾à¤•à¥‡à¤œ " "निशà¥à¤šà¤¿à¤¤ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ । (arch हराà¤à¤°à¤¹à¥‡à¤•à¥‹ कारणले) " -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3035,13 +3056,13 @@ msgstr "" "%s पà¥à¤¯à¤¾à¤•à¥‡à¤œà¤•à¥‹ लागि मैले फाइल सà¥à¤¥à¤¿à¤¤ गरà¥à¤¨ सकिन । यसको मतलब तपाईà¤à¤²à¥‡ मà¥à¤¯à¤¾à¤¨à¥à¤²à¥à¤²à¥€ यो पà¥à¤¯à¤¾à¤•à¥‡à¤œ " "निशà¥à¤šà¤¿à¤¤ गरà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "पà¥à¤¯à¤¾à¤•à¥‡à¤œ अनà¥à¤•à¥à¤°à¤®à¤£à¤¿à¤•à¤¾ फाइलहरू दूषित à¤à¤ । पà¥à¤¯à¤¾à¤•à¥‡à¤œ %s को लागि कà¥à¤¨à¥ˆ फाइलनाम: फाà¤à¤Ÿ छैन ।" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "साइज मेल खाà¤à¤¨" @@ -3162,22 +3183,22 @@ msgstr "नयाठसà¥à¤°à¥‹à¤¤ सूचि लेखिदैछ\n" msgid "Source list entries for this disc are:\n" msgstr "यो डिसà¥à¤•à¤•à¥‹ लागि सà¥à¤°à¥‹à¤¤ सूचि पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¹à¤°à¥‚:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i रेकरà¥à¤¡à¤¹à¤°à¥‚ लेखियो ।\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "हराइरहेको फाइल %i हरू संगै %i रेकरà¥à¤¡à¤¹à¤°à¥‚ लेखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "मेल नखाà¤à¤•à¤¾ फाइल %i हरू संगै %i रेकरà¥à¤¡à¤¹à¤°à¥‚ लेखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "हराइरहेको फाइल %i हरू र मेल नखाà¤à¤•à¤¾ फाइल %i हरू संगै %i रेकरà¥à¤¡à¤¹à¤°à¥‚ लेखà¥à¤¨à¥à¤¹à¥‹à¤¸à¥ ।\n" @@ -3197,6 +3218,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "MD5Sum मेल à¤à¤à¤¨" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "सà¥à¤¥à¤¾à¤ªà¤¨à¤¾ परितà¥à¤¯à¤¾à¤— गरिदैछ ।" + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: nl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-03-16 06:52+0100\n" "Last-Translator: Frans Pop <elendil@planet.nl>\n" "Language-Team: Dutch <debian-l10n-dutch@lists.debian.org>\n" @@ -159,7 +159,7 @@ msgstr " Versietabel:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s voor %s gecompileerd op %s %s\n" @@ -845,7 +845,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "%s is reeds de nieuwste versie.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s is ingesteld voor handmatige installatie.\n" @@ -960,8 +960,8 @@ msgstr "Door deze operatie zal er %sB extra schijfruimte gebruikt worden.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Door deze operatie zal er %sB schijfruimte vrijkomen.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Kon de hoeveelheid vrije schijfruimte op %s niet bepalen" @@ -998,7 +998,7 @@ msgstr "Afbreken." msgid "Do you want to continue [Y/n]? " msgstr "Wilt u doorgaan [J/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Ophalen van %s is mislukt %s\n" @@ -1007,7 +1007,7 @@ msgstr "Ophalen van %s is mislukt %s\n" msgid "Some files failed to download" msgstr "Ophalen van sommige bestanden is mislukt" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Ophalen klaar en alleen-ophalen-modus staat aan" @@ -1045,31 +1045,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Negeer niet beschikbare doelrelease '%s' van pakket '%s'" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "'%s' wordt genomen als bronpakket in plaats van '%s'\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Negeer niet beschikbare versie '%s' van pakket '%s'" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "De opdracht 'update' aanvaard geen argumenten" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "We mogen geen dingen verwijderen, kan AutoRemover niet starten" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1087,15 +1087,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "De volgende informatie helpt u mogelijk verder:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Interne fout, AutoRemover heeft dingen stukgemaakt" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1109,7 +1109,7 @@ msgstr[1] "" "De volgende pakketten zijn automatisch geïnstalleerd en zijn niet langer " "nodig:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1119,21 +1119,21 @@ msgstr[0] "" msgstr[1] "" "%lu pakketten zijn automatisch geïnstalleerd en zijn niet langer nodig.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "U kunt deze verwijderen via 'apt-get autoremove'." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Interne fout, AllUpgrade heeft dingen stukgemaakt" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "U wilt waarschijnlijk 'apt-get -f install' uitvoeren om volgende op te " "lossen:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1141,7 +1141,7 @@ msgstr "" "Er zijn niet-voldane vereisten. U kunt best 'apt-get -f install' uitvoeren " "zonder pakketten op te geven, (of u kunt zelf een oplossing specificeren)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1152,82 +1152,82 @@ msgstr "" "een onmogelijke situatie gevraagd hebt of dat u de 'unstable'-distributie \n" "gebruikt en sommige benodigde pakketten nog vastzitten in 'incoming'." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Niet-werkende pakketten:" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "De volgende extra pakketten zullen geïnstalleerd worden:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Voorgestelde pakketten:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Aanbevolen pakketten:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Kon pakket %s niet vinden" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s is ingesteld voor handmatige installatie.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Opwaardering wordt doorgerekend... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Mislukt" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Klaar" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Interne fout, probleemoplosser heeft dingen stukgemaakt" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Kon de ophaalmap niet vergrendelen" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "U dient minstens 1 pakket op te geven waarvan de broncode opgehaald moet " "worden" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Kan geen bronpakket vinden voor %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1235,80 +1235,96 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Reeds opgehaald bestand '%s' wordt overgeslagen\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "U heeft niet voldoende vrije schijfruimte op %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Moet %sB/%sB aan bronarchieven ophalen.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Moet %sB aan bronarchieven ophalen.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Ophalen bron %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Ophalen van sommige archieven is mislukt." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Het uitpakken van de reeds uitgepakte bron in %s wordt overgeslagen\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Uitpakopdracht '%s' is mislukt.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Gelieve na te gaan of het 'dpkg-dev'-pakket geïnstalleerd is.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Bouwopdracht '%s' is mislukt.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Dochterproces is mislukt" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "U dient tenminste één pakket op te geven om de bouwvereisten van te " "controleren" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Kan de informatie over de bouwvereisten voor %s niet ophalen" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s heeft geen bouwvereisten.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"De vereiste %s van pakket %s kan niet voldaan worden omdat pakket %s " +"onvindbaar is" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1317,46 +1333,55 @@ msgstr "" "De vereiste %s van pakket %s kan niet voldaan worden omdat pakket %s " "onvindbaar is" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Voldoen van Vereiste %s van pakket %s is mislukt: geïnstalleerde versie %s " +"is te nieuw" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "De vereiste %s van pakket %s kan niet voldaan worden omdat er geen " "beschikbare versies zijn van pakket %s die aan de versievereisten voldoen" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Voldoen van Vereiste %s van pakket %s is mislukt: geïnstalleerde versie %s " -"is te nieuw" +"De vereiste %s van pakket %s kan niet voldaan worden omdat pakket %s " +"onvindbaar is" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Voldoen van de vereiste %s van pakket %s is mislukt: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Bouwvereisten voor %s konden niet voldaan worden." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Verwerken van de bouwvereisten is mislukt" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Er wordt verbinding gemaakt met %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Ondersteunde modules:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1445,7 +1470,7 @@ msgstr "" "voor meer informatie en opties.\n" " Deze APT heeft Super Koe kracht.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1762,8 +1787,8 @@ msgstr "Het bestand %s/%s overschrijft het bestand van pakket %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1796,7 +1821,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Pakketlijsten worden ingelezen" @@ -2166,39 +2191,33 @@ msgstr "Er gebeurde iets raars bij het oplossen van '%s:%s' (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Kan geen verbinding maken met %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Geen sleutelring geïnstalleerd in %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Interne fout: ondertekening is goed maar kon de vingerafdruk van de sleutel\n" "niet bepalen?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Er is tenminste één ongeldige ondertekening gevonden." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Kon '%s' niet uitvoeren om ondertekening te verifiëren (is gpgv " "geïnstalleerd?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Onbekende fout bij het uitvoeren van gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "De volgende ondertekeningen waren ongeldig:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2360,61 +2379,61 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Selectie %s niet gevonden" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Onbekende type-afkorting '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Configuratiebestand %s wordt geopend" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaxfout %s:%u: Blok start zonder naam." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaxfout %s:%u: Verkeerd gevormde markering" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaxfout %s:%u: Extra rommel na waarde" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Syntaxfout %s:%u: Richtlijnen kunnen enkel op het hoogste niveau gegeven " "worden" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaxfout %s:%u: Teveel geneste invoegingen" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaxfout %s:%u: Vanaf hier ingevoegd" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaxfout %s:%u: Niet-ondersteunde richtlijn '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Syntaxfout %s:%u: Richtlijnen kunnen enkel op het hoogste niveau gegeven " "worden" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaxfout %s:%u: Extra rommel aan het einde van het bestand" @@ -2562,7 +2581,7 @@ msgstr "Subproces %s gaf de foutcode %u terug" msgid "Sub-process %s exited unexpectedly" msgstr "Subproces %s sloot onverwacht af" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Kon het bestand %s niet openen" @@ -2789,7 +2808,7 @@ msgstr "Misvormde regel %u in bronlijst %s (type)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Type '%s' op regel %u in bronlijst %s is onbekend" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, fuzzy, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2798,7 +2817,7 @@ msgstr "" "Kon onmiddellijke configuratie van '%s' niet uitvoeren. Voor details zie " "'man 5 apt.conf', onder APT::Immediate-Configure. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2810,7 +2829,7 @@ msgstr "" "vaak slecht, wilt u dit echt doen dan dient u de APT::Force-LoopBreak optie " "te activeren." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, fuzzy, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2844,7 +2863,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Kan problemen niet verhelpen, u houdt defecte pakketten vast." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2897,12 +2916,12 @@ msgstr "" "Gelieve de schijf met label '%s' in het station '%s' te plaatsen en op " "'enter' te drukken." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Pakketbeheersysteem '%s' wordt niet ondersteund" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Kan geen geschikt pakketsysteemtype bepalen" @@ -2932,18 +2951,25 @@ msgstr "" msgid "The list of sources could not be read." msgstr "De lijst van bronnen kon niet gelezen worden." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "Ongeldige record in het voorkeurenbestand %s, 'Package' koptekst ontbreekt" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Pintype %s wordt niet begrepen" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Er is geen prioriteit (of nul) opgegeven voor deze pin" @@ -3036,7 +3062,7 @@ msgstr "Kon de status van de bronpakketlijst %s niet opvragen" msgid "Collecting File Provides" msgstr "Voorziene bestanden worden verzameld" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Invoer/Uitvoer-fout tijdens wegschrijven bronpakket-cache" @@ -3049,8 +3075,8 @@ msgstr "herbenoeming is mislukt, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5-som komt niet overeen" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hash-som komt niet overeen" @@ -3071,20 +3097,19 @@ msgid "There is no public key available for the following key IDs:\n" msgstr "" "Er zijn geen publieke sleutels beschikbaar voor de volgende sleutel-IDs:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3092,12 +3117,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3106,7 +3131,7 @@ msgstr "" "Er kon geen bestand gevonden worden voor pakket %s. Dit kan betekenen dat u " "dit pakket handmatig moet repareren (wegens missende architectuur)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3115,7 +3140,7 @@ msgstr "" "Er kon geen bestand gevonden worden voor pakket %s. Dit kan betekenen dat u " "dit pakket handmatig moet repareren." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3123,7 +3148,7 @@ msgstr "" "De pakketindex-bestanden zijn beschadigd. Er is geen 'Filename:'-veld voor " "pakket %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Grootte komt niet overeen" @@ -3247,22 +3272,22 @@ msgstr "Nieuwe bronlijst wordt weggeschreven\n" msgid "Source list entries for this disc are:\n" msgstr "Bronlijst-ingangen voor de schijf zijn:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "%i records weggeschreven.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "%i records weggeschreven met %i missende bestanden.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "%i records weggeschreven met %i niet overeenkomende bestanden\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3284,6 +3309,17 @@ msgstr "Kan geen authenticatierecord vinden voor: %s" msgid "Hash mismatch for: %s" msgstr "Hash-som komt niet overeen voor: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Geen sleutelring geïnstalleerd in %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_nn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2005-02-14 23:30+0100\n" "Last-Translator: Havard Korsvoll <korsvoll@skulelinux.no>\n" "Language-Team: Norwegian nynorsk <i18n-nn@lister.ping.uio.no>\n" @@ -160,7 +160,7 @@ msgstr " Versjonstabell:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s for %s %s kompilert på %s %s\n" @@ -840,7 +840,7 @@ msgstr "%s kan ikkje installerast på nytt, for pakken kan ikkje lastast ned.\n" msgid "%s is already the newest version.\n" msgstr "Den nyaste versjonen av %s er installert frå før.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "men %s skal installerast" @@ -954,8 +954,8 @@ msgstr "Etter utpakking vil %sB meir diskplass verta brukt.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Etter utpakking vil %sB meir diskplass verta frigjort.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, fuzzy, c-format msgid "Couldn't determine free space in %s" msgstr "Du har ikkje nok ledig plass i %s" @@ -993,7 +993,7 @@ msgstr "Avbryt." msgid "Do you want to continue [Y/n]? " msgstr "Vil du halda fram [J/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Klarte ikkje henta %s %s\n" @@ -1002,7 +1002,7 @@ msgstr "Klarte ikkje henta %s %s\n" msgid "Some files failed to download" msgstr "Klarte ikkje henta nokre av filene" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Nedlastinga er ferdig i nedlastingsmodus" @@ -1040,31 +1040,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Klarte ikkje få status på kjeldepakkelista %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Oppdateringskommandoen tek ingen argument" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1080,16 +1080,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Følgjande informasjon kan hjelpa med å løysa situasjonen:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "Intern feil. AllUpgrade øydelagde noko" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1099,7 +1099,7 @@ msgid_plural "" msgstr[0] "Dei følgjande NYE pakkane vil verta installerte:" msgstr[1] "Dei følgjande NYE pakkane vil verta installerte:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1107,20 +1107,20 @@ msgid_plural "" msgstr[0] "Dei følgjande NYE pakkane vil verta installerte:" msgstr[1] "Dei følgjande NYE pakkane vil verta installerte:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Intern feil. AllUpgrade øydelagde noko" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "Du vil kanskje prøva å retta på desse ved å køyra «apt-get -f install»." -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1128,7 +1128,7 @@ msgstr "" "Nokre krav er ikkje oppfylte. Du kan prøva «apt-get -f install» (eller velja " "ei løysing)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1140,81 +1140,81 @@ msgstr "" "distribusjonen, kan det òg henda at nokre av pakkane som trengst ikkje\n" "er laga enno eller at dei framleis ligg i «Incoming»." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Øydelagde pakkar" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Dei følgjande tilleggspakkane vil verta installerte:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Føreslåtte pakkar:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Tilrådde pakkar" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Fann ikkje pakken %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "men %s skal installerast" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Reknar ut oppgradering ... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Mislukkast" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Ferdig" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 #, fuzzy msgid "Internal error, problem resolver broke stuff" msgstr "Intern feil. AllUpgrade øydelagde noko" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Klarte ikkje låsa nedlastingskatalogen" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Du må velja minst éin pakke som kjeldekoden skal hentast for" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Finn ingen kjeldepakke for %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1222,123 +1222,144 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, fuzzy, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Hoppar over utpakking av kjeldekode som er utpakka frå før i %s\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Du har ikkje nok ledig plass i %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Må henta %sB/%sB med kjeldekodearkiv.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Må henta %sB med kjeldekodearkiv.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Hent kjeldekode %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Klarte ikkje henta nokre av arkiva." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Hoppar over utpakking av kjeldekode som er utpakka frå før i %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Utpakkingskommandoen «%s» mislukkast.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Byggjekommandoen «%s» mislukkast.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Barneprosessen mislukkast" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "Du må velja minst ein pakke som byggjekrava skal sjekkast for" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Klarte ikkje henta byggjekrav for %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s har ingen byggjekrav.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "Kravet %s for %s kan ikkje oppfyllast fordi pakken %s ikkje finst" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "Kravet %s for %s kan ikkje oppfyllast fordi pakken %s ikkje finst" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Klarte ikkje oppfylla kravet %s for %s: Den installerte pakken %s er for ny" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "Kravet %s for %s kan ikkje oppfyllast fordi det ikkje finst nokon " "tilgjengelege versjonar av pakken %s som oppfyller versjonskrava" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "" -"Klarte ikkje oppfylla kravet %s for %s: Den installerte pakken %s er for ny" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "Kravet %s for %s kan ikkje oppfyllast fordi pakken %s ikkje finst" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Klarte ikkje oppfylla kravet %s for %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Byggjekrav for %s kunne ikkje tilfredstillast." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Klarte ikkje behandla byggjekrava" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Koplar til %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Støtta modular:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1424,7 +1445,7 @@ msgstr "" "til apt-get(8), sources.list(5) og apt.conf(5).\n" " APT har superku-krefter.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1732,8 +1753,8 @@ msgstr "Fila %s/%s skriv over den tilsvarande fila i pakken %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1766,7 +1787,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Les pakkelister" @@ -2137,35 +2158,29 @@ msgstr "Det hende noko dumt ved oppslag av «%s:%s» (%i)" msgid "Unable to connect to %s:%s:" msgstr "Klarte ikkje kopla til %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Avbryt installasjon." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 #, fuzzy msgid "The following signatures were invalid:\n" msgstr "Dei følgjande tilleggspakkane vil verta installerte:" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2321,57 +2336,57 @@ msgstr "" msgid "Selection %s not found" msgstr "Fann ikkje utvalet %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Ukjend typeforkorting: «%c»" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Opnar oppsettsfila %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaksfeil %s:%u: Blokka startar utan namn." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaksfeil %s:%u: Misforma tagg" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaksfeil %s:%u: Ekstra rot etter verdien" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Syntaksfeil %s:%u: Direktiva kan berre liggja i det øvste nivået" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaksfeil %s:%u: For mange nøsta inkluderte filer" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaksfeil %s:%u: Inkludert herifrå" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaksfeil %s:%u: Direktivet «%s» er ikkje støtta" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "Syntaksfeil %s:%u: Direktiva kan berre liggja i det øvste nivået" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaksfeil %s:%u: Ekstra rot til slutt i fila" @@ -2514,7 +2529,7 @@ msgstr "Underprosessen %s returnerte ein feilkode (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Underprosessen %s avslutta uventa" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Klarte ikkje opna fila %s" @@ -2742,14 +2757,14 @@ msgstr "Misforma linje %u i kjeldelista %s (type)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Typen «%s» er ukjend i linja %u i kjeldelista %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2761,7 +2776,7 @@ msgstr "" "om du verkeleg vil gjera det, kan du bruka innstillinga «APT::Force-" "LoopBreak»." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2792,7 +2807,7 @@ msgid "Unable to correct problems, you have held broken packages." msgstr "" "Klarte ikkje retta opp problema. Nokre øydelagde pakkar er haldne tilbake." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2846,12 +2861,12 @@ msgstr "" " «%s»\n" "i stasjonen «%s» og trykk Enter.\n" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Pakkesystemet «%s» er ikkje støtta" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Klarte ikkje avgjera ein eigna pakkesystemtype" @@ -2877,17 +2892,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "Kjeldelista kan ikkje lesast." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Ugyldig oppslag i innstillingsfila, manglar pakkehovud" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Skjønar ikkje spikringstypen %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Ingen prioritet (eller null) oppgitt for spiker" @@ -2977,7 +2999,7 @@ msgstr "Klarte ikkje få status på kjeldepakkelista %s" msgid "Collecting File Provides" msgstr "Samlar inn filtilbod" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "IU-feil ved lagring av kjeldelager" @@ -2990,8 +3012,8 @@ msgstr "endring av namn mislukkast, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Feil MD5-sum" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 #, fuzzy msgid "Hash Sum mismatch" msgstr "Feil MD5-sum" @@ -3012,20 +3034,19 @@ msgstr "Klarte ikkje tolka pakkefila %s (1)" msgid "There is no public key available for the following key IDs:\n" msgstr "" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3033,12 +3054,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3047,7 +3068,7 @@ msgstr "" "Fann ikkje fila for pakken %s. Det kan henda du må fiksa denne pakken sjølv " "(fordi arkitekturen manglar)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3055,14 +3076,14 @@ msgid "" msgstr "" "Fann ikkje fila for pakken %s. Det kan henda du må fiksa denne pakken sjølv." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "Pakkeindeksfilene er øydelagde. Feltet «Filename:» manglar for pakken %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Feil storleik" @@ -3183,22 +3204,22 @@ msgstr "Skriv ny kjeldeliste\n" msgid "Source list entries for this disc are:\n" msgstr "Kjeldelisteoppføringar for denne disken er:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Skreiv %i postar.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Skreiv %i postar med %i manglande filer.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Skreiv %i postar med %i filer som ikkje passa\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "Skreiv %i postar med %i manglande filer og %i filer som ikkje passa\n" @@ -3218,6 +3239,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Feil MD5-sum" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Avbryt installasjon." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.23.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2009-09-27 03:42+0100\n" "Last-Translator: Wiktor Wandachowicz <siryes@gmail.com>\n" "Language-Team: Polish <debian-l10n-polish@lists.debian.org>\n" @@ -160,7 +160,7 @@ msgstr " Tabela wersji:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s dla %s skompilowany %s %s\n" @@ -843,7 +843,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "%s jest już w najnowszej wersji.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s zaznaczony jako zainstalowany rÄ™cznie.\n" @@ -957,8 +957,8 @@ msgstr "Po tej operacji zostanie dodatkowo użyte %sB miejsca na dysku.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Po tej operacji zostanie zwolnione %sB miejsca na dysku.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Nie udaÅ‚o siÄ™ ustalić iloÅ›ci wolnego miejsca w %s" @@ -995,7 +995,7 @@ msgstr "Przerwane." msgid "Do you want to continue [Y/n]? " msgstr "Kontynuować [T/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Nie udaÅ‚o siÄ™ pobrać %s %s\n" @@ -1004,7 +1004,7 @@ msgstr "Nie udaÅ‚o siÄ™ pobrać %s %s\n" msgid "Some files failed to download" msgstr "Nie udaÅ‚o siÄ™ pobrać niektórych plików" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "UkoÅ„czono pobieranie w trybie samego pobierania" @@ -1042,31 +1042,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Nie udaÅ‚o siÄ™ wykonać operacji stat na liÅ›cie pakietów źródÅ‚owych %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Polecenie update nie wymaga żadnych argumentów" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Nic nie powinno być usuwane, AutoRemover nie zostanie uruchomiony" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1084,15 +1084,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "NastÄ™pujÄ…ce informacje mogÄ… pomóc rozwiÄ…zać sytuacjÄ™:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "BÅ‚Ä…d wewnÄ™trzny, AutoRemover wszystko popsuÅ‚" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1106,7 +1106,7 @@ msgstr[1] "" "NastÄ™pujÄ…ce pakiety zostaÅ‚y zainstalowane automatycznie i nie sÄ… już wiÄ™cej " "wymagane:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1118,19 +1118,19 @@ msgstr[1] "" "%lu pakiety(ów) zostaÅ‚y zainstalowane automatycznie i nie sÄ… już wiÄ™cej " "wymagane.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Aby je usunąć należy użyć \"apt-get autoremove\"." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "BÅ‚Ä…d wewnÄ™trzny, AllUpgrade wszystko popsuÅ‚o" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Należy uruchomić \"apt-get -f install\", aby je naprawić:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1138,7 +1138,7 @@ msgstr "" "NiespeÅ‚nione zależnoÅ›ci. ProszÄ™ spróbować \"apt-get -f install\" bez " "pakietów (lub podać rozwiÄ…zanie)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1150,82 +1150,82 @@ msgstr "" "w której niektóre pakiety nie zostaÅ‚y jeszcze utworzone lub przeniesione\n" "z katalogu Incoming (\"PrzychodzÄ…ce\")." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Pakiety sÄ… uszkodzone" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "ZostanÄ… zainstalowane nastÄ™pujÄ…ce dodatkowe pakiety:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Sugerowane pakiety:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Polecane pakiety:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Nie udaÅ‚o siÄ™ odnaleźć pakietu %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s zaznaczony jako zainstalowany rÄ™cznie.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Obliczanie aktualizacji..." -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Nie udaÅ‚o siÄ™" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Gotowe" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "BÅ‚Ä…d wewnÄ™trzny, rozwiÄ…zywanie problemów wszystko popsuÅ‚o" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Nie udaÅ‚o siÄ™ zablokować katalogu pobierania" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "Należy podać przynajmniej jeden pakiet, dla którego majÄ… zostać pobrane " "źródÅ‚a" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Nie udaÅ‚o siÄ™ odnaleźć źródÅ‚a dla pakietu %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1233,80 +1233,96 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Pomijanie już pobranego pliku \"%s\"\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "W %s nie ma wystarczajÄ…cej iloÅ›ci wolnego miejsca" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Konieczne pobranie %sB/%sB archiwów źródeÅ‚.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Konieczne pobranie %sB archiwów źródeÅ‚.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Pobierz źródÅ‚o %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Nie udaÅ‚o siÄ™ pobrać niektórych archiwów." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Pomijanie rozpakowania już rozpakowanego źródÅ‚a w %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Polecenie rozpakowania \"%s\" zawiodÅ‚o.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "ProszÄ™ sprawdzić czy pakiet \"dpkg-dev\" jest zainstalowany.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Polecenie budowania \"%s\" zawiodÅ‚o.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Proces potomny zawiódÅ‚" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Należy podać przynajmniej jeden pakiet, dla którego majÄ… zostać sprawdzone " "zależnoÅ›ci dla budowania" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Nie udaÅ‚o siÄ™ pobrać informacji o zależnoÅ›ciach dla budowania %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s nie ma zależnoÅ›ci dla budowania.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"Zależność %s od %s nie może zostać speÅ‚niona, ponieważ nie znaleziono " +"pakietu %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1315,46 +1331,55 @@ msgstr "" "Zależność %s od %s nie może zostać speÅ‚niona, ponieważ nie znaleziono " "pakietu %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Nie udaÅ‚o siÄ™ speÅ‚nić zależnoÅ›ci %s od %s: Zainstalowany pakiet %s jest zbyt " +"nowy" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "Zależność %s od %s nie może zostać speÅ‚niona, ponieważ żadna z dostÄ™pnych " "wersji pakietu %s nie ma odpowiedniej wersji" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Nie udaÅ‚o siÄ™ speÅ‚nić zależnoÅ›ci %s od %s: Zainstalowany pakiet %s jest zbyt " -"nowy" +"Zależność %s od %s nie może zostać speÅ‚niona, ponieważ nie znaleziono " +"pakietu %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Nie udaÅ‚o siÄ™ speÅ‚nić zależnoÅ›ci %s od %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Nie udaÅ‚o siÄ™ speÅ‚nić zależnoÅ›ci dla budowania %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Nie udaÅ‚o siÄ™ przetworzyć zależnoÅ›ci dla budowania" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "PodÅ‚Ä…czanie do %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "ObsÅ‚ugiwane moduÅ‚y:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1441,7 +1466,7 @@ msgstr "" "apt-get(8), sources.list(5) i apt.conf(5).\n" " Ten APT ma moce Super Krowy.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1757,8 +1782,8 @@ msgstr "Plik %s/%s nadpisuje plik w pakiecie %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1790,7 +1815,7 @@ msgstr "Pliki info i katalog tymczasowy muszÄ… być na tym samym systemie plikó #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Czytanie list pakietów" @@ -2162,39 +2187,33 @@ msgstr "CoÅ› niewÅ‚aÅ›ciwego staÅ‚o siÄ™ przy tÅ‚umaczeniu \"%s:%s\" (%i)" msgid "Unable to connect to %s:%s:" msgstr "Nie udaÅ‚o siÄ™ poÅ‚Ä…czyć z %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Przerywanie instalacji" - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "BÅ‚Ä…d wewnÄ™trzny: PrawidÅ‚owy podpis, ale nie nie udaÅ‚o siÄ™ ustalić odcisku " "klucza?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Napotkano przynajmniej jeden nieprawidÅ‚owy podpis." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Nie udaÅ‚o siÄ™ uruchomić \"%s\" by zweryfikować podpis (czy gpgv jest " "zainstalowane?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Nieznany bÅ‚Ä…d podczas uruchamiania gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "NastÄ™pujÄ…ce podpisy byÅ‚y bÅ‚Ä™dne:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2353,59 +2372,59 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Nie odnaleziono wyboru %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Nierozpoznany skrót typu: \"%c\"" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Otwieranie pliku konfiguracyjnego %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "BÅ‚Ä…d skÅ‚adniowy %s:%u: Blok nie zaczyna siÄ™ nazwÄ…." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "BÅ‚Ä…d skÅ‚adniowy %s:%u: BÅ‚Ä™dny znacznik" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "BÅ‚Ä…d skÅ‚adniowy %s:%u: Po wartoÅ›ci wystÄ™pujÄ… Å›mieci" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "BÅ‚Ä…d skÅ‚adniowy %s:%u: Dyrektywy mogÄ… wystÄ™pować tylko na najwyższym poziomie" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "BÅ‚Ä…d skÅ‚adniowy %s:%u: Zbyt wiele zagnieżdżonych operacji include" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "BÅ‚Ä…d skÅ‚adniowy %s:%u: WÅ‚Ä…czony tutaj" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "BÅ‚Ä…d skÅ‚adniowy %s:%u: NieobsÅ‚ugiwana dyrektywa \"%s\"" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "BÅ‚Ä…d skÅ‚adniowy %s:%u: Dyrektywy mogÄ… wystÄ™pować tylko na najwyższym poziomie" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "BÅ‚Ä…d skÅ‚adniowy %s:%u: Åšmieci na koÅ„cu pliku" @@ -2548,7 +2567,7 @@ msgstr "Podproces %s zwróciÅ‚ kod bÅ‚Ä™du (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Podproces %s zakoÅ„czyÅ‚ siÄ™ niespodziewanie" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Nie udaÅ‚o siÄ™ otworzyć pliku %s" @@ -2775,14 +2794,14 @@ msgstr "NieprawidÅ‚owa linia %u w liÅ›cie źródeÅ‚ %s (typ)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Typ \"%s\" jest nieznany w linii %u listy źródeÅ‚ %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2794,7 +2813,7 @@ msgstr "" "nic dobrego, ale jeÅ›li naprawdÄ™ chcesz to zrobić, wÅ‚Ä…cz opcjÄ™ APT::Force-" "LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2825,7 +2844,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Nie udaÅ‚o siÄ™ naprawić problemów, zatrzymano uszkodzone pakiety." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2876,12 +2895,12 @@ msgstr "Metoda %s nie uruchomiÅ‚a siÄ™ poprawnie" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "ProszÄ™ wÅ‚ożyć do napÄ™du \"%s\" dysk o nazwie: \"%s\" i nacisnąć enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "System pakietów \"%s\" nie jest obsÅ‚ugiwany" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Nie udaÅ‚o siÄ™ okreÅ›lić odpowiedniego typu systemu pakietów" @@ -2906,17 +2925,24 @@ msgstr "Należy uruchomić apt-get update aby naprawić te problemy." msgid "The list of sources could not be read." msgstr "Nie udaÅ‚o siÄ™ odczytać list źródeÅ‚." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "NieprawidÅ‚owe informacje w pliku ustawieÅ„ %s, brak nagłówka Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Nierozpoznany typ przypinania %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Brak (lub zerowy) priorytet przypiÄ™cia" @@ -3008,7 +3034,7 @@ msgstr "Nie udaÅ‚o siÄ™ wykonać operacji stat na liÅ›cie pakietów źródÅ‚owyc msgid "Collecting File Provides" msgstr "Zbieranie zapewnieÅ„ plików" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "BÅ‚Ä…d wejÅ›cia/wyjÅ›cia przy zapisywaniu podrÄ™cznego magazynu źródeÅ‚" @@ -3021,8 +3047,8 @@ msgstr "nie udaÅ‚o siÄ™ zmienić nazwy, %s (%s -> %s)" msgid "MD5Sum mismatch" msgstr "BÅ‚Ä™dna suma MD5" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "BÅ‚Ä™dna suma kontrolna" @@ -3042,20 +3068,19 @@ msgstr "Nie udaÅ‚o siÄ™ zanalizować pliku Release %s" msgid "There is no public key available for the following key IDs:\n" msgstr "Dla nastÄ™pujÄ…cych identyfikatorów kluczy brakuje klucza publicznego:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3063,12 +3088,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3077,7 +3102,7 @@ msgstr "" "Nie udaÅ‚o siÄ™ odnaleźć pliku dla pakietu %s. Może to oznaczać, że trzeba " "bÄ™dzie rÄ™cznie naprawić ten pakiet (z powodu brakujÄ…cej architektury)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3086,14 +3111,14 @@ msgstr "" "Nie udaÅ‚o siÄ™ odnaleźć pliku dla pakietu %s. Może to oznaczać, że trzeba " "bÄ™dzie rÄ™cznie naprawić ten pakiet." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "Pliki indeksu pakietów sÄ… uszkodzone. Brak pola Filename: dla pakietu %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "BÅ‚Ä™dny rozmiar" @@ -3217,22 +3242,22 @@ msgstr "Zapisywanie nowej listy źródeÅ‚\n" msgid "Source list entries for this disc are:\n" msgstr "ŹródÅ‚a dla tej pÅ‚yty to:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Zapisano %i rekordów.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Zapisano %i rekordów z %i brakujÄ…cymi plikami.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Zapisano %i rekordów z %i niepasujÄ…cymi plikami\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "Zapisano %i rekordów z %i brakujÄ…cymi plikami i %i niepasujÄ…cymi\n" @@ -3252,6 +3277,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "BÅ‚Ä™dna suma kontrolna" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Przerywanie instalacji" + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-08-28 09:03+0100\n" "Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n" "Language-Team: Portuguese <traduz@debianpt.org>\n" @@ -155,7 +155,7 @@ msgstr " Tabela de Versão:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s para %s compilado em %s %s\n" @@ -836,7 +836,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "%s já está na versão mais recente.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s está definido para ser instalado manualmente.\n" @@ -950,8 +950,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Após esta operação, será libertado %sB de espaço em disco.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Não foi possÃvel determinar o espaço livre em %s" @@ -988,7 +988,7 @@ msgstr "Abortado." msgid "Do you want to continue [Y/n]? " msgstr "Deseja continuar [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Falhou obter %s %s\n" @@ -997,7 +997,7 @@ msgstr "Falhou obter %s %s\n" msgid "Some files failed to download" msgstr "Falhou o download de alguns ficheiros" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Download completo e em modo de fazer apenas o download" @@ -1039,31 +1039,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Nota: Isto foi feito automaticamente e intencionalmente pelo dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignorar o lançamento pretendido, não disponÃvel, '%s' do pacote '%s'" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "A escolher '%s' como pacote pacote de código fonte em vez de '%s'\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Ignorar a versão '%s', não disponÃvel, do pacote '%s'" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "O comando update não leva argumentos" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Não é suposto nós apagarmos coisas, não pode iniciar o AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1081,15 +1081,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "A seguinte informação pode ajudar a resolver a situação:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Erro Interno, o AutoRemover estragou coisas" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1101,7 +1101,7 @@ msgstr[1] "" "Os seguintes pacotes foram instalados automaticamente e já não são " "necessários:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1110,19 +1110,19 @@ msgstr[0] "O pacote %lu foi instalado automaticamente e já não é necessário. msgstr[1] "" "Os pacotes %lu foram instalados automaticamente e já não são necessários.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Utilize 'apt-get autoremove' para os remover." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Erro Interno, AllUpgrade estragou algo" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Você deve querer executar 'apt-get -f install' para corrigir estes:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1130,7 +1130,7 @@ msgstr "" "Dependências não satisfeitas. Tente 'apt-get -f install' sem nenhum pacote " "(ou especifique uma solução)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1142,73 +1142,73 @@ msgstr "" "distribuição unstable em que alguns pacotes pedidos ainda não foram \n" "criados ou foram movidos do Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Pacotes estragados" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Os seguintes pacotes extra serão instalados:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Pacotes sugeridos:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Pacotes recomendados:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "ImpossÃvel encontrar o pacote %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s está definido para ser instalado automaticamente.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "A calcular a actualização... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Falhou" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Pronto" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Erro Interno, o solucionador de problemas estragou coisas" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "ImpossÃvel criar acesso exclusivo ao directório de downloads" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Tem de especificar pelo menos um pacote para obter o código fonte de" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Não foi possÃvel encontrar um pacote de código fonte para %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1218,7 +1218,7 @@ msgstr "" "'%s' em:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1229,82 +1229,98 @@ msgstr "" "bzr get %s\n" "para obter as últimas actualizações (possivelmente por lançar) ao pacote.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "A saltar o ficheiro '%s', já tinha sido feito download'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Você não possui espaço livre suficiente em %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "É necessário obter %sB/%sB de arquivos de código fonte.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "É necessário obter %sB de arquivos de código fonte.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Obter código fonte %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Falhou obter alguns arquivos." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" "A saltar a descompactação do pacote de código fonte já descompactado em %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "O comando de descompactação '%s' falhou.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Verifique se o pacote 'dpkg-dev' está instalado.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "O comando de compilação '%s' falhou.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "O processo filho falhou" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Deve especificar pelo menos um pacote para verificar as dependências de " "compilação" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" "Não foi possÃvel obter informações de dependências de compilação para %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s não tem dependências de compilação.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"a dependência de %s para %s não pôde ser satisfeita porque o pacote %s não " +"pôde ser encontrado" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1313,46 +1329,55 @@ msgstr "" "a dependência de %s para %s não pôde ser satisfeita porque o pacote %s não " "pôde ser encontrado" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Falha ao satisfazer a dependência %s para %s: O pacote instalado %s é " +"demasiado novo" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "a dependência de %s para %s não pode ser satisfeita porque nenhuma versão " "disponÃvel do pacote %s pode satisfazer os requisitos de versão" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Falha ao satisfazer a dependência %s para %s: O pacote instalado %s é " -"demasiado novo" +"a dependência de %s para %s não pôde ser satisfeita porque o pacote %s não " +"pôde ser encontrado" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Falha ao satisfazer a dependência %s para %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Não foi possÃvel satisfazer as dependências de compilação para %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Falhou processar as dependências de compilação" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "A Ligar a %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Módulos Suportados:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1443,7 +1468,7 @@ msgstr "" "apt-get(8), sources.list(5) e apt.conf(5)\n" " Este APT tem Poderes de Super Vaca.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1760,8 +1785,8 @@ msgstr "O ficheiro %s/%s substitui o que está no pacote %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1794,7 +1819,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "A ler as listas de pacotes" @@ -2162,38 +2187,32 @@ msgstr "Algo estranho aconteceu ao resolver '%s:%s' (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Não foi possÃvel ligar a %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Nenhum keyring instalado em %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Erro interno: Assinatura válida, mas não foi possÃvel determinar a impressão " "digital da chave?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Pelo menos uma assinatura inválida foi encontrada." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Não foi possÃvel executar 'gpgv' para verificar a assinatura (o gpgv está " "instalado?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Erro desconhecido ao executar gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "As seguintes assinaturas eram inválidas:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2354,60 +2373,60 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "A selecção %s não foi encontrada" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Abreviatura de tipo desconhecida: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "A abrir o ficheiro de configuração %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Erro de sintaxe %s:%u: O bloco começa sem nome." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Erro de sintaxe %s:%u: Tag mal formada" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Erro de sintaxe %s:%u: Lixo extra depois do valor" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Erro de sintaxe %s:%u: Directivas só podem ser feitas no nÃvel mais alto" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Erro de sintaxe %s:%u: Demasiados includes encadeados" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Erro de sintaxe %s:%u: IncluÃdo a partir deste ponto" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Erro de sintaxe %s:%u: Directiva '%s' não suportada" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Erro de sintaxe %s:%u: directiva clara necessita de uma árvore de opções " "como argumento" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Erro de sintaxe %s:%u: Lixo extra no final do ficheiro" @@ -2553,7 +2572,7 @@ msgstr "O sub-processo %s retornou um código de erro (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "O sub-processo %s terminou inesperadamente" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Não foi possÃvel abrir ficheiro o %s" @@ -2783,7 +2802,7 @@ msgstr "Linha mal formada %u na lista de fontes %s (tipo)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "O tipo '%s' não é conhecido na linha %u na lista de fontes %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2792,7 +2811,7 @@ msgstr "" "Não foi possÃvel proceder à configuração imediata em '%s'. Para detalhes, " "por favor veja man 5 apt.conf em APT::Immediate-Configure. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2804,7 +2823,7 @@ msgstr "" "normalmente é mau, mas se você quer realmente fazer isso, active a opção " "APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2840,7 +2859,7 @@ msgstr "" "Não foi possÃvel corrigir problemas, você tem pacotes mantidos (hold) " "estragados." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2892,12 +2911,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" "Por favor insira o disco denominado: '%s' no leitor '%s' e pressione enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Sistema de empacotamento '%s' não é suportado" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "" "Não foi possÃvel determinar um tipo de sistema de empacotamento adequado" @@ -2925,17 +2944,24 @@ msgstr "Você terá que executar apt-get update para corrigir estes problemas" msgid "The list of sources could not be read." msgstr "A lista de fontes não pôde ser lida." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Registo inválido no ficheiro de preferências %s, sem cabeçalho Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Não foi possÃvel entender o tipo de marca (pin) %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Nenhuma prioridade (ou zero) especificada para marcação (pin)" @@ -3030,7 +3056,7 @@ msgstr "Não foi possÃvel executar stat à lista de pacotes de código fonte %s msgid "Collecting File Provides" msgstr "A obter File Provides" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Erro de I/O ao gravar a cache de código fonte" @@ -3043,8 +3069,8 @@ msgstr "falhou renomear, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5Sum não coincide" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Código de verificação hash não coincide" @@ -3066,20 +3092,19 @@ msgstr "" "Não existe qualquer chave pública disponÃvel para as seguintes IDs de " "chave:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Ficheiro Release expirou, a ignorar %s (inválido desde %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Distribuição em conflito: %s (esperado %s mas obtido %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3090,12 +3115,12 @@ msgstr "" "GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Erro GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3105,7 +3130,7 @@ msgstr "" "significar que você precisa corrigir manualmente este pacote. (devido a " "arquitectura em falta)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3114,7 +3139,7 @@ msgstr "" "Não foi possÃvel localizar arquivo para o pacote %s. Isto pode significar " "que você precisa consertar manualmente este pacote." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3122,7 +3147,7 @@ msgstr "" "Os arquivos de Ãndice de pacotes estão corrompidos. Nenhum campo Filename: " "para o pacote %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Tamanho incorrecto" @@ -3246,22 +3271,22 @@ msgstr "A escrever lista de novas source\n" msgid "Source list entries for this disc are:\n" msgstr "As entradas de listas de Source para este Disco são:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Escreveu %i registos.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Escreveu %i registos com %i ficheiros em falta.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Escreveu %i registos com %i ficheiros não coincidentes\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3283,6 +3308,17 @@ msgstr "Não foi possÃvel encontrar registo de autenticação para: %s" msgid "Hash mismatch for: %s" msgstr "Hash não coincide para: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Nenhum keyring instalado em %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3547,6 +3583,9 @@ msgstr "Ligação encerrada prematuramente" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Erro interno, grupo '%s' não tem pseudo-pacote instalável" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Ficheiro Release expirou, a ignorar %s (inválido desde %s)" + #~ msgid "You must give exactly one pattern" #~ msgstr "Você deve dar exactamente um pattern" diff --git a/po/pt_BR.po b/po/pt_BR.po index 958b4f937..8b12ec033 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-11-17 02:33-0200\n" "Last-Translator: Felipe Augusto van de Wiel (faw) <faw@debian.org>\n" "Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian." @@ -158,7 +158,7 @@ msgstr " Tabela de versão:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s para %s compilado em %s %s\n" @@ -842,7 +842,7 @@ msgstr "A reinstalação de %s não é possÃvel, não pode ser baixado.\n" msgid "%s is already the newest version.\n" msgstr "%s já é a versão mais nova.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s configurado para instalar manualmente.\n" @@ -957,8 +957,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Depois desta operação, %sB de espaço em disco serão liberados.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Não foi possÃvel determinar o espaço livre em %s" @@ -995,7 +995,7 @@ msgstr "Abortar." msgid "Do you want to continue [Y/n]? " msgstr "Você quer continuar [S/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Falhou ao buscar %s %s\n" @@ -1004,7 +1004,7 @@ msgstr "Falhou ao buscar %s %s\n" msgid "Some files failed to download" msgstr "Alguns arquivos falharam ao baixar" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Baixar completo e no modo somente baixar (\"download only\")" @@ -1042,31 +1042,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Não foi possÃvel executar \"stat\" na lista de pacotes fonte %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "O comando update não leva argumentos" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Nós não deverÃamos apagar coisas, impossÃvel iniciar AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1084,15 +1084,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "A informação a seguir pode ajudar a resolver a situação:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Erro Interno, o AutoRemover quebrou coisas" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1106,7 +1106,7 @@ msgstr[1] "" "Os seguintes pacotes foram automaticamente instalados e não são mais " "requeridos:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1118,19 +1118,19 @@ msgstr[1] "" "Os seguintes pacotes foram automaticamente instalados e não são mais " "requeridos:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Use 'apt-get autoremove' para removê-los." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Erro interno, AllUpgrade quebrou coisas" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Você deve querer executar 'apt-get -f install' para corrigÃ-los:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1138,7 +1138,7 @@ msgstr "" "Dependências desencontradas. Tente 'apt-get -f install' sem nenhum pacote " "(ou especifique uma solução)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1150,80 +1150,80 @@ msgstr "" "distribuição instável, que alguns pacotes requeridos não foram\n" "criados ainda ou foram retirados da \"Incoming\"." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Pacotes quebrados" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Os pacotes extra a seguir serão instalados:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Pacotes sugeridos:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Pacotes recomendados:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "ImpossÃvel achar pacote %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s configurado para instalar manualmente.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Calculando atualização... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Falhou" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Pronto" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Erro interno, o solucionador de problemas quebrou coisas" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "ImpossÃvel criar trava no diretório de download" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Deve-se especificar pelo menos um pacote para que se busque o fonte" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "ImpossÃvel encontrar um pacote fonte para %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1231,80 +1231,96 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Pulando arquivo já baixado '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Você não possui espaço livre suficiente em %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Preciso obter %sB/%sB de arquivos fonte.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Preciso obter %sB de arquivos fonte.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Obter fonte %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Falhou ao buscar alguns arquivos." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Pulando o desempacotamento de fontes já desempacotados em %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Comando de desempacotamento '%s' falhou.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Confira se o pacote 'dpkg-dev' está instalado.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Comando de construção '%s' falhou.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Processo filho falhou" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Deve-se especificar pelo menos um pacote para que se cheque as dependências " "de construção" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "ImpossÃvel conseguir informações de dependência de construção para %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s não tem dependências de construção.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"a dependência de %s por %s não pode ser satisfeita porque o pacote %s não " +"pode ser encontrado" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1313,46 +1329,55 @@ msgstr "" "a dependência de %s por %s não pode ser satisfeita porque o pacote %s não " "pode ser encontrado" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Falhou ao satisfazer a dependência de %s por %s: Pacote instalado %s é muito " +"novo" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "a dependência de %s por %s não pode ser satisfeita porque nenhuma versão " "disponÃvel do pacote %s pode satisfazer os requerimentos de versão" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Falhou ao satisfazer a dependência de %s por %s: Pacote instalado %s é muito " -"novo" +"a dependência de %s por %s não pode ser satisfeita porque o pacote %s não " +"pode ser encontrado" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Falhou ao satisfazer a dependência de %s por %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Não foi possÃvel satisfazer as dependências de compilação para %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Falhou ao processar as dependências de construção" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Conectando em %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Módulos para os quais há suporte:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1440,7 +1465,7 @@ msgstr "" "para mais informações e opções.\n" " Este APT tem Poderes de Super Vaca.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1755,8 +1780,8 @@ msgstr "Arquivo %s/%s sobrescreve arquivo no pacote %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1788,7 +1813,7 @@ msgstr "Os diretórios info e temp precisam estar no mesmo sistema de arquivos" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Lendo listas de pacotes" @@ -2157,39 +2182,33 @@ msgstr "Algo estranho aconteceu resolvendo '%s:%s' (%i)" msgid "Unable to connect to %s:%s:" msgstr "ImpossÃvel conectar em %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Abortando instalação." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Erro interno: Assinatura boa, mas não foi possÃvel determinar a impressão " "digital da chave?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Ao menos uma assinatura inválida foi encontrada." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Não foi possÃvel executar '%s' para verificar a assinatura (o gpgv está " "instalado?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Erro desconhecido executando gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "As seguintes assinaturas eram inválidas:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2346,59 +2365,59 @@ msgstr "" msgid "Selection %s not found" msgstr "Seleção %s não encontrada" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Abreviação de tipo desconhecida: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Abrindo arquivo de configuração %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Erro de sintaxe %s:%u: Bloco inicia sem nome." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Erro de sintaxe %s:%u: Tag mal formada" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Erro de sintaxe %s:%u: Lixo extra depois do valor" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Erro de sintaxe %s:%u: Diretivas podem ser feitas somente no nÃvel mais alto" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Erro de sintaxe %s:%u: Muitos \"includes\" aninhados" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Erro de sintaxe %s:%u: IncluÃdo a partir deste ponto" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Erro de sintaxe %s:%u: Não há suporte para a diretiva '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Erro de sintaxe %s:%u: Diretivas podem ser feitas somente no nÃvel mais alto" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Erro de sintaxe %s:%u: Lixo extra no final do arquivo" @@ -2542,7 +2561,7 @@ msgstr "Sub-processo %s retornou um código de erro (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Sub-processo %s finalizou inesperadamente" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Não foi possÃvel abrir arquivo %s" @@ -2774,14 +2793,14 @@ msgstr "Linha mal formada %u no arquivo de fontes %s (tipo)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Tipo '%s' não é conhecido na linha %u na lista de fontes %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2793,7 +2812,7 @@ msgstr "" "é ruim, mas se você realmente quer fazer isso, ative a opção APT::Force-" "LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2825,7 +2844,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "ImpossÃvel corrigir problemas, você manteve (hold) pacotes quebrados." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2877,12 +2896,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" "Por favor, insira o disco nomeado: '%s' na unidade '%s' e pressione enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Sistema de empacotamento '%s' não é suportado" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "ImpossÃvel determinar um tipo de sistema de empacotamento aplicável." @@ -2909,17 +2928,24 @@ msgstr "Você terá que executar apt-get update para corrigir estes problemas" msgid "The list of sources could not be read." msgstr "A lista de fontes não pode ser lida." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Registro inválido no arquivo de preferências, sem cabeçalho Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Não foi possÃvel entender o tipo de \"pin\" %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Nenhuma prioridade (ou zero) especificada para \"pin\"" @@ -3014,7 +3040,7 @@ msgstr "Não foi possÃvel executar \"stat\" na lista de pacotes fonte %s" msgid "Collecting File Provides" msgstr "Coletando Arquivo \"Provides\"" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Erro de E/S ao gravar cache fonte" @@ -3027,8 +3053,8 @@ msgstr "renomeação falhou, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5Sum incorreto" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hash Sum incorreto" @@ -3048,20 +3074,19 @@ msgstr "ImpossÃvel analisar arquivo de pacote %s (1)" msgid "There is no public key available for the following key IDs:\n" msgstr "Não existem chaves públicas para os seguintes IDs de chaves:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3069,12 +3094,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3084,7 +3109,7 @@ msgstr "" "que você precisa consertar manualmente este pacote. (devido a arquitetura " "não especificada)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3093,7 +3118,7 @@ msgstr "" "Não foi possÃvel localizar arquivo para o pacote %s. Isto pode significar " "que você precisa consertar manualmente este pacote." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3101,7 +3126,7 @@ msgstr "" "Os arquivos de Ãndice de pacotes estão corrompidos. Nenhum campo \"Filename:" "\" para o pacote %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Tamanho incorreto" @@ -3223,22 +3248,22 @@ msgstr "Gravando nova lista de fontes\n" msgid "Source list entries for this disc are:\n" msgstr "Entradas na lista de fontes para este disco são:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Gravados %i registros.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Gravados %i registros com %i arquivos faltando.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Gravados %i registros com %i arquivos que não combinam\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3260,6 +3285,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Hash Sum incorreto" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Abortando instalação." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ro\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-11-15 02:21+0200\n" "Last-Translator: Eddy PetriÈ™or <eddy.petrisor@gmail.com>\n" "Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n" @@ -159,7 +159,7 @@ msgstr " Tabela de versiuni:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s pentru %s compilat la %s %s\n" @@ -843,7 +843,7 @@ msgstr "Reinstalarea lui %s nu este posibilă, nu poate fi descărcat.\n" msgid "%s is already the newest version.\n" msgstr "%s este deja la cea mai nouă versiune.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s este marcat ca fiind instalat manual.\n" @@ -956,8 +956,8 @@ msgstr "După această operaÈ›ie vor fi folosiÈ›i din disc încă %sB.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "După această operaÈ›ie se vor elibera %sB din spaÈ›iul ocupat pe disc.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "N-am putut determina spaÈ›iul disponibil în %s" @@ -995,7 +995,7 @@ msgstr "RenunÈ›are." msgid "Do you want to continue [Y/n]? " msgstr "VreÈ›i să continuaÈ›i [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "EÈ™ec la aducerea lui %s %s\n" @@ -1004,7 +1004,7 @@ msgstr "EÈ™ec la aducerea lui %s %s\n" msgid "Some files failed to download" msgstr "Descărcarea unor fiÈ™iere a eÈ™uat" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Descărcare completă È™i în modul doar descărcare" @@ -1043,32 +1043,32 @@ msgstr[2] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Nu pot determina starea listei surse de pachete %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Comanda de actualizare nu are argumente" # XXX: orice sugestie este bine-venită -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Nu este voie să se È™teargă lucruri, nu se poate porni AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1087,15 +1087,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Următoarele informaÈ›ii ar putea să vă ajute la rezolvarea situaÈ›iei:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Eroare internă, AutoRemover a deteriorat diverse chestiuni" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1109,7 +1109,7 @@ msgstr[1] "" msgstr[2] "" "Următoarele pachete au fost instalate automat È™i nu mai sunt necesare:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1121,19 +1121,19 @@ msgstr[1] "" msgstr[2] "" "Următoarele pachete au fost instalate automat È™i nu mai sunt necesare:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "FolosiÈ›i 'apt-get autoremove' pentru a le È™terge." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Eroare internă, înnoire totală a defectat diverse chestiuni" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "AÈ›i putea porni 'apt-get -f install' pentru a corecta acestea:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1141,7 +1141,7 @@ msgstr "" "DependenÈ›e neîndeplinite. ÃŽncercaÈ›i 'apt-get -f install' fără nici un pachet " "(sau oferiÈ›i o altă soluÈ›ie)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1154,81 +1154,81 @@ msgstr "" "pachete\n" "cerute n-au fost create încă sau au fost mutate din Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Pachete deteriorate" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Următoarele extra pachete vor fi instalate:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Pachete sugerate:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Pachete recomandate:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Nu pot găsi pachetul %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s este marcat ca fiind instalat manual.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Calculez înnoirea... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "EÈ™ec" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Terminat" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "" "Eroare internă, rezolvatorul de probleme a deteriorat diverse chestiuni" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Nu s-a putut bloca directorul de descărcare" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Trebuie specificat cel puÈ›in un pachet pentru a-i aduce sursa" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Nu s-a putut găsi o sursă pachet pentru %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1236,80 +1236,96 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Sar peste fiÈ™ierul deja descărcat '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Nu aveÈ›i suficient spaÈ›iu în %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Este nevoie să descărcaÈ›i %sB/%sB din arhivele surselor.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Este nevoie să descărcaÈ›i %sB din arhivele surselor.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Aducere sursa %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "EÈ™ec la aducerea unor arhive." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Sar peste despachetarea sursei deja despachetate în %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Comanda de despachetare '%s' eÈ™uată.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "VerificaÈ›i dacă pachetul 'dpkg-dev' este instalat.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Comanda de construire '%s' eÈ™uată.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Procesul copil a eÈ™uat" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Trebuie specificat cel puÈ›in un pachet pentru a-i verifica dependenÈ›ele " "înglobate" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Nu pot prelua informaÈ›iile despre dependenÈ›ele înglobate ale lui %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s nu are dependenÈ›e înglobate.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"DependenÈ›a lui %s de %s nu poate fi satisfăcută deoarece pachetul %s nu " +"poate fi găsit" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1318,46 +1334,55 @@ msgstr "" "DependenÈ›a lui %s de %s nu poate fi satisfăcută deoarece pachetul %s nu " "poate fi găsit" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"EÈ™ec la satisfacerea dependenÈ›ei %s pentru %s: Pachetul instalat %s este " +"prea nou" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "DependenÈ›a lui %s de %s nu poate fi satisfăcută deoarece nici o versiune " "disponibilă a pachetului %s nu poate satisface versiunile cerute" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"EÈ™ec la satisfacerea dependenÈ›ei %s pentru %s: Pachetul instalat %s este " -"prea nou" +"DependenÈ›a lui %s de %s nu poate fi satisfăcută deoarece pachetul %s nu " +"poate fi găsit" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "EÈ™ec la satisfacerea dependenÈ›ei %s pentru %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "DependenÈ›ele înglobate pentru %s nu pot fi satisfăcute." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "EÈ™ec la prelucrarea dependenÈ›elor de compilare" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Conectare la %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Module suportate:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1446,7 +1471,7 @@ msgstr "" "pentru mai multe informaÈ›ii È™i opÈ›iuni.\n" " Acest APT are puterile unei Super Vaci.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1761,8 +1786,8 @@ msgstr "FiÈ™ierul %s/%s îl suprascrie pe cel din pachetul %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1794,7 +1819,7 @@ msgstr "Directoarele info È™i temp trebuie să fie în acelaÈ™i sistem de fiÈ™ie #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Citire liste de pachete" @@ -2170,38 +2195,32 @@ msgstr "S-a întâmplat ceva „necurat†la rezolvarea lui „%s:%s†(%i)" msgid "Unable to connect to %s:%s:" msgstr "Nu s-a putut realiza conexiunea cu %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Abandonez instalarea." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Eroare internă: Semnătură corespunzătoare, dar nu s-a putut determina " "amprenta digitale a cheii?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Cel puÈ›in o semnătură nevalidă a fost întâlnită." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Nu s-a putut executa „%s†pentru verificarea semnăturii (gpgv este instalat?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Eroare necunoscută în timp ce se execută gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Următoarele semnături nu au fost valide:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2359,59 +2378,59 @@ msgstr "" msgid "Selection %s not found" msgstr "SelecÈ›ia %s nu a fost găsită" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Abreviere de tip nerecunoscut: „%câ€" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Se deschide fiÈ™ierul de configurare %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Eroare de sintaxă %s:%u: Blocul începe fără nume" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Eroare de sintaxă %s:%u: etichetă greÈ™ită" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Eroare de sintaxă %s:%u: mizerii suplimentare după valoare" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Eroare de sintaxă %s:%u: Directivele pot fi date doar la nivelul superior" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Eroare de sintaxă %s:%u: prea multe imbricări incluse" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Eroare de sintaxă %s:%u: incluse de aici" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Eroare de sintaxă %s:%u: directivă nesuportată '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Eroare de sintaxă %s:%u: Directivele pot fi date doar la nivelul superior" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Eroare de sintaxă %s:%u: mizerii suplimentare la sfârÈ™itul fiÈ™ierului" @@ -2555,7 +2574,7 @@ msgstr "Subprocesul %s a întors un cod de eroare (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Subprocesul %s s-a terminat brusc" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Nu s-a putut deschide fiÈ™ierul %s" @@ -2782,14 +2801,14 @@ msgstr "Linie greÈ™ită %u în lista sursă %s (tip)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Tipul '%s' nu este cunoscut în linia %u din lista sursă %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2801,7 +2820,7 @@ msgstr "" "nu-i de bine, dar dacă vreÈ›i întradevăr s-o faceÈ›i, activaÈ›i opÈ›iunea APT::" "Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2832,7 +2851,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Nu pot corecta problema, aÈ›i È›inut pachete deteriorate." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2884,12 +2903,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" "Vă rog introduceÈ›i discul numit: '%s' în unitatea '%s' È™i apăsaÈ›i Enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Sistemul de pachete '%s' nu este suportat" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Nu s-a putut determina un tip de sistem de împachetare potrivit" @@ -2917,17 +2936,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "Lista surselor nu poate fi citită." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "ÃŽnregistrare invalidă în fiÈ™ierul de preferinÈ›e, fără antet de pachet" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Nu s-a înÈ›eles tipul de pin %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Fără prioritate (sau zero) specificată pentru pin" @@ -3022,7 +3048,7 @@ msgstr "Nu pot determina starea listei surse de pachete %s" msgid "Collecting File Provides" msgstr "Colectare furnizori fiÈ™ier" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Eroare IO în timpul salvării sursei cache" @@ -3035,8 +3061,8 @@ msgstr "redenumire eÈ™uată, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Nepotrivire MD5Sum" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Nepotrivire la suma de căutare" @@ -3058,20 +3084,19 @@ msgstr "" "Nu există nici o cheie publică disponibilă pentru următoarele " "identificatoare de chei:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3079,12 +3104,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3093,7 +3118,7 @@ msgstr "" "N-am putut localiza un fiÈ™ier pentru pachetul %s. Aceasta ar putea însemna " "că aveÈ›i nevoie să reparaÈ›i manual acest pachet (din pricina unui arch lipsă)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3102,7 +3127,7 @@ msgstr "" "N-am putut localiza un fiÈ™ier pentru pachetul %s. Aceasta ar putea însemna " "că aveÈ›i nevoie să depanaÈ›i manual acest pachet." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3110,7 +3135,7 @@ msgstr "" "FiÈ™ierele index de pachete sunt deteriorate. Fără câmpul 'nume fiÈ™ier:' la " "pachetul %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Nepotrivire dimensiune" @@ -3233,22 +3258,22 @@ msgstr "Scriere noua listă sursă\n" msgid "Source list entries for this disc are:\n" msgstr "Intrările listei surselor pentru acest disc sunt:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "S-au scris %i înregistrări.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "S-au scris %i înregistrări cu %i fiÈ™iere lipsă.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "S-au scris %i înregistrări cu %i fiÈ™iere nepotrivite\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3269,6 +3294,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Nepotrivire la suma de căutare" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Abandonez instalarea." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.0~pre1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-08-24 21:35+0400\n" "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n" @@ -163,7 +163,7 @@ msgstr " Таблица верÑий:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s Ð´Ð»Ñ %s Ñкомпилирован %s %s\n" @@ -845,7 +845,7 @@ msgstr "ПереуÑтановка %s невозможна, он не Ñкачи msgid "%s is already the newest version.\n" msgstr "Уже уÑтановлена ÑÐ°Ð¼Ð°Ñ Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ %s.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s уÑтановлен вручную.\n" @@ -965,8 +965,8 @@ msgstr "" "ПоÑле данной операции, объём занÑтого диÑкового проÑтранÑтва уменьшитÑÑ Ð½Ð° " "%sB.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Ðе удалоÑÑŒ определить количеÑтво Ñвободного меÑта в %s" @@ -1005,7 +1005,7 @@ msgstr "Ðварийное завершение." msgid "Do you want to continue [Y/n]? " msgstr "Хотите продолжить [Д/н]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Ðе удалоÑÑŒ получить %s %s\n" @@ -1014,7 +1014,7 @@ msgstr "Ðе удалоÑÑŒ получить %s %s\n" msgid "Some files failed to download" msgstr "Ðекоторые файлы Ñкачать не удалоÑÑŒ" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Указан режим \"только Ñкачивание\", и Ñкачивание завершено" @@ -1059,31 +1059,31 @@ msgstr[2] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Замечание: Ñто Ñделано автоматичеÑки и Ñпециально программой dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "ИгнорируетÑÑ Ð½ÐµÐ´Ð¾Ñтупный выпуÑк '%s' пакета '%s'" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "ИÑпользуетÑÑ '%s' в качеÑтве иÑходного пакета вмеÑто '%s'\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "ИгнорируетÑÑ Ð½ÐµÐ´Ð¾ÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ '%s' пакета '%s'" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Команде update не нужны аргументы" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Ðе предполагалоÑÑŒ удалÑÑ‚ÑŒ stuff, невозможно запуÑтить AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1101,15 +1101,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ, возможно, поможет вам:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°, AutoRemover вÑÑ‘ поломал" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1121,7 +1121,7 @@ msgstr[1] "" msgstr[2] "" "Следующие пакеты уÑтанавливалиÑÑŒ автоматичеÑки и больше не требуютÑÑ:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1130,21 +1130,21 @@ msgstr[0] "%lu пакет был уÑтановлен автоматичеÑки msgstr[1] "%lu пакета было уÑтановлено автоматичеÑки и больше не требуетÑÑ.\n" msgstr[2] "%lu пакетов было уÑтановлены автоматичеÑки и больше не требуютÑÑ.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Ð”Ð»Ñ Ð¸Ñ… ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ñпользуйте 'apt-get autoremove'." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°, AllUpgrade вÑÑ‘ поломал" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "Возможно, длÑ иÑправлениÑ Ñтих ошибок вы захотите воÑпользоватьÑÑ `apt-get -" "f install':" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1152,7 +1152,7 @@ msgstr "" "Ðеудовлетворённые завиÑимоÑти. ПопытайтеÑÑŒ выполнить 'apt-get -f install', " "не ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ Ð¸Ð¼ÐµÐ½Ð¸ пакета, (или найдите другое решение)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1163,74 +1163,74 @@ msgstr "" "или же иÑпользуете неÑтабильную верÑию диÑтрибутива, где запрошенные вами\n" "пакеты ещё не Ñозданы или были удалены из Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Сломанные пакеты" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Будут уÑтановлены Ñледующие дополнительные пакеты:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Предлагаемые пакеты:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Рекомендуемые пакеты:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Ðе удалоÑÑŒ найти пакет %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s выбран Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой уÑтановки.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "РаÑчёт обновлений... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Ðеудачно" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Готово" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°, решатель проблем вÑÑ‘ поломал" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Ðевозможно заблокировать каталог, куда ÑкладываютÑÑ Ñкачиваемые файлы" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "Укажите как минимум один пакет, иÑходный код которого необходимо получить" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Ðевозможно найти пакет Ñ Ð¸Ñходным кодом Ð´Ð»Ñ %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1239,7 +1239,7 @@ msgstr "" "Ð’ÐИМÐÐИЕ: упаковка %s поддерживаетÑÑ Ð² ÑиÑтеме ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð²ÐµÑ€Ñий %s:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1250,80 +1250,96 @@ msgstr "" "bzr get %s\n" "Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñледних (возможно не выпущенных) обновлений пакета.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "ПропуÑкаем уже Ñкачанный файл %s\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "ÐедоÑтаточно меÑта в %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Ðеобходимо получить %sб/%sб архивов иÑходного кода.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Ðеобходимо получить %sб архивов иÑходного кода.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Получение иÑходного кода %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Ðекоторые архивы не удалоÑÑŒ получить." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "ПропуÑкаетÑÑ Ñ€Ð°Ñпаковка уже раÑпакованного иÑходного кода в %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Команда раÑпаковки '%s' завершилаÑÑŒ неудачно.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Проверьте, уÑтановлен ли пакет 'dpkg-dev'.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Команда Ñборки '%s' завершилаÑÑŒ неудачно.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Порождённый процеÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»ÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ завиÑимоÑтей Ð´Ð»Ñ Ñборки необходимо указать как минимум один " "пакет" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Ðевозможно получить информацию о завиÑимоÑÑ‚ÑÑ… Ð´Ð»Ñ Ñборки %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s не имеет завиÑимоÑтей Ð´Ð»Ñ Ñборки.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"ЗавиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ %s не может быть удовлетворена, так как пакет %s не " +"найден" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1332,46 +1348,55 @@ msgstr "" "ЗавиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ %s не может быть удовлетворена, так как пакет %s не " "найден" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Ðе удалоÑÑŒ удовлетворить завиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s: УÑтановленный " +"пакет %s новее, чем надо" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "ЗавиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ %s не может быть удовлетворена, поÑкольку ни одна из " "верÑий пакета %s не удовлетворÑет требованиÑм" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Ðе удалоÑÑŒ удовлетворить завиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s: УÑтановленный " -"пакет %s новее, чем надо" +"ЗавиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ %s не может быть удовлетворена, так как пакет %s не " +"найден" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Ðевозможно удовлетворить завиÑимоÑÑ‚ÑŒ типа %s Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "ЗавиÑимоÑти Ð´Ð»Ñ Ñборки %s не могут быть удовлетворены." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Обработка завиÑимоÑтей Ð´Ð»Ñ Ñборки завершилаÑÑŒ неудачно" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Соединение Ñ %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Поддерживаемые модули:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1464,7 +1489,7 @@ msgstr "" "ÑодержитÑÑ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ опиÑание параметров.\n" " Ð’ APT еÑÑ‚ÑŒ ÐºÐ¾Ñ€Ð¾Ð²ÑŒÑ Ð¡Ð£ÐŸÐ•Ð Ð¡Ð˜Ð›Ð.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1779,8 +1804,8 @@ msgstr "Файл %s/%s перепиÑывает файл в пакете %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1812,7 +1837,7 @@ msgstr "Каталоги info и temp должны находитьÑÑ Ð½Ð° оР#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Чтение ÑпиÑков пакетов" @@ -2185,36 +2210,30 @@ msgstr "Что-то Ñтранное произошло при определеРmsgid "Unable to connect to %s:%s:" msgstr "Ðевозможно ÑоединитьÑÑ Ñ %s: %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "СвÑзка ключей в %s не уÑтановлена." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: ÐŸÑ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ, но не удалоÑÑŒ определить отпечаток " "ключа?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Ðайдена как минимум одна Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "Ðе удалоÑÑŒ выполнить gpgv Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ подпиÑи (gpgv уÑтановлена?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при выполнении gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Следующие подпиÑи неверные:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2374,61 +2393,61 @@ msgstr "%liÑ" msgid "Selection %s not found" msgstr "Ðе найдено: %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð°Ð±Ð±Ñ€ÐµÐ²Ð¸Ð°Ñ‚ÑƒÑ€Ð° типа: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Открытие файла наÑтройки %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: в начале блока нет имени." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: иÑкажённый тег" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: лишние Ñимволы поÑле значениÑ" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: директивы могут задаватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на верхнем " "уровне" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: Ñлишком много вложенных include" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u вызвана include из Ñтого меÑта" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: не Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: Ð´Ð»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñ‹ clear требуетÑÑ Ñ‚Ñ€ÐµÑ‚Ð¸Ð¹ параметр в " "качеÑтве аргумента" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "СинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° %s:%u: лишние Ñимволы в конце файла" @@ -2576,7 +2595,7 @@ msgstr "Порождённый процеÑÑ %s вернул код ошибкРmsgid "Sub-process %s exited unexpectedly" msgstr "Порождённый процеÑÑ %s неожиданно завершилÑÑ" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Ðе удалоÑÑŒ открыть файл %s" @@ -2808,7 +2827,7 @@ msgstr "ИÑÐºÐ°Ð¶Ñ‘Ð½Ð½Ð°Ñ Ñтрока %u в ÑпиÑке иÑточникоРmsgid "Type '%s' is not known on line %u in source list %s" msgstr "ÐеизвеÑтный тип '%s' в Ñтроке %u в ÑпиÑке иÑточников %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2817,7 +2836,7 @@ msgstr "" "Ðе удалоÑÑŒ выполнить оперативную наÑтройку '%s'. Подробней, Ñмотрите в man 5 " "apt.conf о APT::Immediate-Configure. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2830,7 +2849,7 @@ msgstr "" "ЕÑли вы дейÑтвительно хотите продолжить, уÑтановите параметр APT::Force-" "LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2863,7 +2882,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Ðевозможно иÑправить ошибки, у Ð²Ð°Ñ Ð¾Ñ‚Ð»Ð¾Ð¶ÐµÐ½Ñ‹ (held) битые пакеты." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2914,12 +2933,12 @@ msgstr "Метод %s запуÑтилÑÑ Ð½Ðµ корректно" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Ð’Ñтавьте диÑк Ñ Ð¼ÐµÑ‚ÐºÐ¾Ð¹ '%s' в уÑтройÑтво '%s' и нажмите ввод." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Менеджер пакетов '%s' не поддерживаетÑÑ" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Ðевозможно определить подходÑщий тип менеджера пакетов" @@ -2944,17 +2963,24 @@ msgstr "Ð’Ñ‹ можете запуÑтить 'apt-get update' Ð´Ð»Ñ Ð¸ÑпраРmsgid "The list of sources could not be read." msgstr "Ðе читаетÑÑ Ð¿ÐµÑ€ÐµÑ‡ÐµÐ½ÑŒ иÑточников." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в файле параметров %s: отÑутÑтвует заголовок Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "ÐеизвеÑтный тип фикÑации %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Ð”Ð»Ñ Ñ„Ð¸ÐºÑации не указан приоритет (или указан нулевой)" @@ -3044,7 +3070,7 @@ msgstr "Ðе удалоÑÑŒ получить атрибуты ÑпиÑка паРmsgid "Collecting File Provides" msgstr "Сбор информации о Provides" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Ошибка ввода/вывода при попытке Ñохранить кÑш иÑточников" @@ -3057,8 +3083,8 @@ msgstr "переименовать не удалоÑÑŒ, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5Sum не Ñовпадает" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Хеш Ñумма не Ñовпадает" @@ -3078,20 +3104,19 @@ msgstr "Ðевозможно разобрать Ñодержимое файла msgid "There is no public key available for the following key IDs:\n" msgstr "ÐедоÑтупен открытый ключ Ð´Ð»Ñ Ñледующих ID ключей:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Файл Release проÑрочен, игнорируетÑÑ %s (недоÑтоверный Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Конфликт раÑпроÑтранениÑ: %s (ожидалÑÑ %s, но получен %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3101,12 +3126,12 @@ msgstr "" "иÑпользованы предыдущие индекÑные файлы. Ошибка GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Ошибка GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3115,7 +3140,7 @@ msgstr "" "Ðе удалоÑÑŒ обнаружить файл пакета %s. Ðто может означать, что вам придётÑÑ " "вручную иÑправить Ñтот пакет (возможно, пропущен arch)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3124,13 +3149,13 @@ msgstr "" "Ðе удалоÑÑŒ обнаружить файл пакета %s. Ðто может означать, что вам придётÑÑ " "вручную иÑправить Ñтот пакет." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "Ðекорректный перечень пакетов. Ðет Ð¿Ð¾Ð»Ñ Filename: Ð´Ð»Ñ Ð¿Ð°ÐºÐµÑ‚Ð° %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Ðе Ñовпадает размер" @@ -3254,22 +3279,22 @@ msgstr "ЗапиÑÑŒ нового ÑпиÑка иÑточников\n" msgid "Source list entries for this disc are:\n" msgstr "ЗапиÑи в ÑпиÑке иÑточников Ð´Ð»Ñ Ñтого диÑка:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Сохранено %i запиÑей.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Сохранено %i запиÑей Ñ %i отÑутÑтвующими файлами.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Сохранено %i запиÑей Ñ %i неÑовпадающими файлами\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3291,6 +3316,17 @@ msgstr "Ðе удалоÑÑŒ найти аутентификационную за msgid "Hash mismatch for: %s" msgstr "Ðе Ñовпадает хеш Ñумма длÑ: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "СвÑзка ключей в %s не уÑтановлена." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3555,6 +3591,10 @@ msgstr "Соединение закрыто преждевременно" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°, группа %s не уÑтанавливаетÑÑ Ð¿Ñевдо-пакетом" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "" +#~ "Файл Release проÑрочен, игнорируетÑÑ %s (недоÑтоверный Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ %s)" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "" #~ "E: Слишком большой ÑпиÑок параметров у Acquire::gpgv::Options. Завершение " @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-08-24 23:57+0100\n" "Last-Translator: Ivan Masár <helix84@centrum.sk>\n" "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" @@ -157,7 +157,7 @@ msgstr " Tabuľka verziÃ:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s pre %s skompilovaný %s %s\n" @@ -831,7 +831,7 @@ msgstr "Nie je možná reinÅ¡talácia %s, pretože sa nedá stiahnuÅ¥.\n" msgid "%s is already the newest version.\n" msgstr "%s je už najnovÅ¡ej verzie.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s je oznaÄený ako manuálne nainÅ¡talovaný.\n" @@ -945,8 +945,8 @@ msgstr "Po tejto operácii sa na disku použije ÄalÅ¡Ãch %sB.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Po tejto operácii sa na disku uvoľnà %sB.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Na %s sa nedá zistiÅ¥ veľkosÅ¥ voľného miesta" @@ -983,7 +983,7 @@ msgstr "PreruÅ¡ené." msgid "Do you want to continue [Y/n]? " msgstr "Chcete pokraÄovaÅ¥ [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Zlyhalo stiahnutie %s %s\n" @@ -992,7 +992,7 @@ msgstr "Zlyhalo stiahnutie %s %s\n" msgid "Some files failed to download" msgstr "Niektoré súbory sa nedajú stiahnuÅ¥" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "SÅ¥ahovanie ukonÄené v režime „iba stiahnuť“" @@ -1037,31 +1037,31 @@ msgstr[2] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Pozn.: Toto robà dpkg automaticky a zámerne." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "IgnorovaÅ¥ nedostupné cieľové vydanie „%s“ balÃka „%s“" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Vyberá sa „%s“ ako zdrojový balÃk namiesto „%s“\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "IgnorovaÅ¥ nedostupnú verziu „%s“ balÃka „%s“" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "PrÃkaz update neprijÃma žiadne argumenty" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Nemajú sa odstraňovaÅ¥ veci, nespustà sa AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1079,15 +1079,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Nasledovné informácie vám možno pomôžu vyrieÅ¡iÅ¥ túto situáciu:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Vnútorná chyba, AutoRemover nieÄo pokazil" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1100,7 +1100,7 @@ msgstr[1] "" msgstr[2] "" "Nasledovné balÃky boli nainÅ¡talované automaticky a už viac nie sú potrebné:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1112,19 +1112,19 @@ msgstr[1] "" msgstr[2] "" "%lu balÃkov bolo nainÅ¡talovaných automaticky a už viac nie sú potrebné.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Na ich odstránenie použite „apt-get autoremove“." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Vnútorná chyba, AllUpgrade pokazil veci" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Možno to budete chcieÅ¥ napraviÅ¥ spustenÃm „apt-get -f install“:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1132,7 +1132,7 @@ msgstr "" "Nesplnené závislosti. Skúste spustiÅ¥ „apt-get -f install“ bez balÃkov (alebo " "navrhnite rieÅ¡enie)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1144,73 +1144,73 @@ msgstr "" "požadované balÃky eÅ¡te neboli vytvorené alebo presunuté z fronty\n" "Novoprichádzajúcich (Incoming) balÃkov." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "PoÅ¡kodené balÃky" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "NainÅ¡talujú sa nasledovné extra balÃky:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Navrhované balÃky:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "OdporúÄané balÃky:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "BalÃk %s sa nedá nájsÅ¥" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s je oznaÄený ako automaticky nainÅ¡talovaný.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "PrepoÄÃtava sa aktualizácia... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Chyba" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Hotovo" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Vnútorná chyba, „problem resolver“ nieÄo pokazil" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Adresár pre sÅ¥ahovanie sa nedá zamknúť" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "MusÃte zadaÅ¥ aspoň jeden balÃk, pre ktorý sa stiahnu zdrojové texty" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Nedá sa nájsÅ¥ zdrojový balÃk pre %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1220,7 +1220,7 @@ msgstr "" "adrese:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1232,125 +1232,146 @@ msgstr "" "ak chcete zÃskaÅ¥ najnovÅ¡ie (a pravdepodobne zatiaľ nevydané) aktualizácie " "balÃka.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Preskakuje sa už stiahnutý súbor „%s“\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Na %s nemáte dostatok voľného miesta" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Je potrebné stiahnuÅ¥ %sB/%sB zdrojových archÃvov.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Je potrebné stiahnuÅ¥ %sB zdrojových archÃvov.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "StiahnuÅ¥ zdroj %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Zlyhalo stiahnutie niektorých archÃvov." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Preskakuje sa rozbalenie už rozbaleného zdroja v %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "PrÃkaz na rozbalenie „%s“ zlyhal.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Skontrolujte, Äi je nainÅ¡talovaný balÃk „dpkg-dev“.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "PrÃkaz na zostavenie „%s“ zlyhal.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Proces potomka zlyhal" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "MusÃte zadaÅ¥ aspoň jeden balÃk, pre ktorý sa budú overovaÅ¥ závislosti na " "zostavenie" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Nedajú sa zÃskaÅ¥ závislosti na zostavenie %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s nemá žiadne závislosti na zostavenie.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "%s závislosÅ¥ pre %s sa nemôže splniÅ¥, pretože sa nedá nájsÅ¥ balÃk %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "%s závislosÅ¥ pre %s sa nemôže splniÅ¥, pretože sa nedá nájsÅ¥ balÃk %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Zlyhalo splnenie %s závislosti pre %s: InÅ¡talovaný balÃk %s je prÃliÅ¡ nový" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s závislosÅ¥ pre %s sa nedá splniÅ¥, pretože sa nedá nájsÅ¥ verzia balÃka %s, " "ktorá zodpovedá požiadavke na verziu" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "" -"Zlyhalo splnenie %s závislosti pre %s: InÅ¡talovaný balÃk %s je prÃliÅ¡ nový" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "%s závislosÅ¥ pre %s sa nemôže splniÅ¥, pretože sa nedá nájsÅ¥ balÃk %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Zlyhalo splnenie %s závislosti pre %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Závislosti na zostavenie %s sa nedajú splniÅ¥." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Spracovanie závislostà na zostavenie zlyhalo" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Pripája sa k %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Podporované moduly:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1439,7 +1460,7 @@ msgstr "" "a apt.conf(5).\n" " Tento APT má schopnosti posvätnej kravy.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1751,8 +1772,8 @@ msgstr "Súbor %s/%s prepisuje ten z balÃka %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1784,7 +1805,7 @@ msgstr "Adresáre info a temp musia byÅ¥ na tom istom súborovom systéme" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "NaÄÃtavajú sa zoznamy balÃkov" @@ -2152,34 +2173,28 @@ msgstr "NieÄo veľmi zlé sa prihodilo pri preklade „%s:%s“ (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Nedá sa pripojiÅ¥ k %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "V %s nie je nainÅ¡talovaný žiaden zväzok kľúÄov." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "Vnútorná chyba: Správna signatúra, ale sa nedá zistiÅ¥ odtlaÄok kľúÄa?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Bola zistená aspoň jedna nesprávna signatúra." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "Nedá sa spustiÅ¥ „gpgv“ kvôli overeniu podpisu (je nainÅ¡talované gpgv?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Neznáma chyba pri spustenà gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Nasledovné signatúry sú neplatné:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2339,59 +2354,59 @@ msgstr "%li s" msgid "Selection %s not found" msgstr "Voľba %s nenájdená" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Nerozpoznaná skratka typu: „%c“" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Otvára sa konfiguraÄný súbor %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaktická chyba %s:%u: Blok zaÄÃna bez názvu." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaktická chyba %s:%u: Skomolená znaÄka" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaktická chyba %s:%u: Za hodnotou nasledujú chybné údaje" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Syntaktická chyba %s:%u: DirektÃvy sa dajú vykonaÅ¥ len na najvyÅ¡Å¡ej úrovni" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaktická chyba %s:%u: PrÃliÅ¡ mnoho vnorených prepojenà (include)" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaktická chyba %s:%u: Zahrnuté odtiaľ" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaktická chyba %s:%u: Nepodporovaná direktÃva „%s“" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Syntaktická chyba %s:%u: direktÃva clear vyžaduje ako argument strom volieb" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaktická chyba %s:%u: Na konci súboru sú chybné údaje" @@ -2534,7 +2549,7 @@ msgstr "Podproces %s vrátil chybový kód (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Podproces %s neoÄakávane skonÄil" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Nedá sa otvoriÅ¥ súbor %s" @@ -2762,7 +2777,7 @@ msgstr "Skomolený riadok %u v zozname zdrojov %s (typ)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Typ „%s“ je neznámy na riadku %u v zozname zdrojov %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2771,7 +2786,7 @@ msgstr "" "Nebolo možné vykonaÅ¥ okamžitú konfiguráciu „%s“. Pozri prosÃm podrobnosti v " "man 5 apt.conf pod APT::Immediate-Configure (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2782,7 +2797,7 @@ msgstr "" "kvôli sluÄke v Conflicts/Pre-Depends. ÄŒasto je to nevhodné, ale ak to chcete " "naozaj urobiÅ¥, aktivujte možnosÅ¥ APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2814,7 +2829,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Problémy sa nedajú opraviÅ¥, niektoré balÃky držÃte v poÅ¡kodenom stave." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2865,12 +2880,12 @@ msgstr "Spôsob %s nebol správne spustený" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Vložte disk nazvaný „%s“ do mechaniky „%s“ a stlaÄte Enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Systém balÃkov „%s“ nie je podporovaný" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Nedá sa urÄiÅ¥ vhodný typ systému balÃkov" @@ -2895,17 +2910,24 @@ msgstr "Na opravu týchto problémov môžete skúsiÅ¥ spustiÅ¥ apt-get update" msgid "The list of sources could not be read." msgstr "Nedá sa naÄÃtaÅ¥ zoznam zdrojov." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Neplatný záznam v súbore nastavenà %s, chýba hlaviÄka Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Nezrozumiteľné pridržanie typu %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Nebola zadaná žiadna (alebo nulová) priorita na pridržanie" @@ -2996,7 +3018,7 @@ msgstr "Nedá sa vyhodnotiÅ¥ zoznam zdrojových balÃkov %s" msgid "Collecting File Provides" msgstr "Collecting File poskytuje" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "V/V chyba pri ukladanà zdrojovej vyrovnávacej pamäti" @@ -3009,8 +3031,8 @@ msgstr "premenovanie zlyhalo, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Nezhoda kontrolných MD5 súÄtov" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Nezhoda kontrolných haÅ¡ súÄtov" @@ -3030,20 +3052,19 @@ msgstr "Nedá spracovaÅ¥ súbor Release %s" msgid "There is no public key available for the following key IDs:\n" msgstr "Nie sú dostupné žiadne verejné kľúÄe ku kľúÄom s nasledovnými ID:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "PlatnosÅ¥ súboru Release vyprÅ¡ala, ignoruje sa %s (neplatný od %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "V konflikte s distribúciou: %s (oÄakávalo sa %s ale dostali sme %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3053,12 +3074,12 @@ msgstr "" "použijú sa predoÅ¡lé indexové súbory. Chyba GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Chyba GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3067,7 +3088,7 @@ msgstr "" "Nedá sa nájsÅ¥ súbor s balÃkom %s. To by mohlo znamenaÅ¥, že tento balÃk je " "potrebné opraviÅ¥ manuálne (kvôli chýbajúcej architektúre)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3076,13 +3097,13 @@ msgstr "" "Nedá sa nájsÅ¥ súbor s balÃkom %s. Asi budete musieÅ¥ opraviÅ¥ tento balÃk " "manuálne." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "Indexové súbory balÃka sú naruÅ¡ené. Chýba pole Filename: pre balÃk %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Veľkosti sa nezhodujú" @@ -3206,22 +3227,22 @@ msgstr "Zapisuje sa nový zoznam zdrojov\n" msgid "Source list entries for this disc are:\n" msgstr "Položky zoznamu zdrojov pre tento disk sú:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "ZapÃsaných %i záznamov.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "ZapÃsaných %i záznamov s %i chýbajúcimi súbormi.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "ZapÃsaných %i záznamov s %i chybnými súbormi\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "ZapÃsaných %i záznamov s %i chýbajúcimi a %i chybnými súbormi\n" @@ -3241,6 +3262,17 @@ msgstr "Nebolo možné nájsÅ¥ autentifikaÄný záznam pre: %s" msgid "Hash mismatch for: %s" msgstr "Nezhoda kontrolných haÅ¡ súÄtov: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "V %s nie je nainÅ¡talovaný žiaden zväzok kľúÄov." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3495,3 +3527,6 @@ msgstr "Spojenie bolo predÄasne ukonÄené" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Vnútorná chyba, skupina „%s“ nemá žiaden inÅ¡talovateľný pseudobalÃk" + +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "PlatnosÅ¥ súboru Release vyprÅ¡ala, ignoruje sa %s (neplatný od %s)" @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.5.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2011-03-06 15:47+0000\n" "Last-Translator: Andrej Znidarsic <andrej.znidarsic@gmail.com>\n" "Language-Team: Slovenian <sl@li.org>\n" @@ -157,7 +157,7 @@ msgstr " Preglednica razliÄic:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s za %s kodno preveden na %s %s\n" @@ -829,7 +829,7 @@ msgstr "Ponovna namestitev %s ni možna, ker prejem ni možen.\n" msgid "%s is already the newest version.\n" msgstr "NajnovejÅ¡a razliÄica %s je že nameÅ¡Äena.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s je bil nastavljen na roÄno nameÅ¡Äen.\n" @@ -943,8 +943,8 @@ msgstr "Po tem opravilu bo porabljenega %sB dodatnega prostora.\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Po tem opravilu bo sproÅ¡Äenega %sB prostora na disku.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Ni mogoÄe doloÄiti prostega prostora v %s" @@ -981,7 +981,7 @@ msgstr "Prekini." msgid "Do you want to continue [Y/n]? " msgstr "Ali želite nadaljevati [Y/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Ni mogoÄe dobiti %s %s\n" @@ -990,7 +990,7 @@ msgstr "Ni mogoÄe dobiti %s %s\n" msgid "Some files failed to download" msgstr "Prejem nekaterih datotek ni uspel" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Prejem je dokonÄan in uporabljen je naÄin samo prejema" @@ -1038,33 +1038,33 @@ msgstr[3] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Opomba: To je dpkg storil samodejno in namenoma." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Prezri nerazpoložljiv cilj izdaje '%s' paketa '%s'" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Izbiranje '%s' kot vir paketa namesto '%s'\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Prezri nerazpoložljivo razliÄico '%s' paketa '%s'" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Ukaz update ne sprejema argumentov" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Program ne bi smel brisati stvari, ni mogoÄe zagnati " "SamodejnegaOdstranjevalnika" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1083,15 +1083,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Naslednji podatki vam bodo morda pomagali reÅ¡iti težavo:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Notranja napaka, SamodejniOdstranjevalnik je pokvaril stvari" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1103,7 +1103,7 @@ msgstr[2] "" "Naslednja paketa sta bila samodejno nameÅ¡Äena in nista veÄ zahtevana:" msgstr[3] "Naslednji paketi so bili samodejno nameÅ¡Äeni in niso veÄ zahtevani:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1113,19 +1113,19 @@ msgstr[1] "%lu paket je bil samodejno nameÅ¡Äen in ni bil veÄ zahtevan.\n" msgstr[2] "%lu paketa sta bila samodejno nameÅ¡Äena in nista veÄ zahtevana.\n" msgstr[3] "%lu paketi so bili samodejno nameÅ¡Äeni in niso veÄ zahtevani.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Uporabite 'apt-get autoremove' za njihovo odstranitev." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Notranja napaka zaradi AllUpgrade." -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Poskusite zagnati 'apt-get -f install', Äe želite popraviti naslednje:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1133,7 +1133,7 @@ msgstr "" "NereÅ¡ene odvisnosti. Poskusite 'apt-get -f install' brez paketov (ali " "navedite reÅ¡itev)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1145,74 +1145,74 @@ msgstr "" ", da nekateri zahtevani paketi Å¡e niso ustvarjeni ali premaknjeni\n" " iz PrihajajoÄega." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Pokvarjeni paketi" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Naslednji dodatni paketi bodo nameÅ¡Äeni:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Predlagani paketi:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "PriporoÄeni paketi:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Ni mogoÄe najti paketa %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s je nastavljen na samodejno nameÅ¡Äen.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "PreraÄunavanje nadgradnje ... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Spodletelo" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Opravljeno" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Notranja napaka, reÅ¡evalnik težav je pokvaril stvari" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Ni mogoÄe zakleniti mape prejemov" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "Prejemanje %s %s" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "Potrebno je navesti vsaj en paket, za katerega želite dobiti izvorno kodo" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Izvornega paketa za %s ni mogoÄe najti" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1221,7 +1221,7 @@ msgstr "" "OPOMBA: pakiranje '%s' vzdrževano v sistemu nadzora razliÄice '%s' na:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1232,125 +1232,146 @@ msgstr "" "bzr get %s\n" "za pridobivanje zadnjih (morda neizdanih) posodobitev paketa.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Preskok že prejete datoteke '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Nimate dovolj prostora na %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Potrebno je dobiti %sB/%sB izvornih arhivov.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Potrebno je dobiti %sB izvornih arhivov.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Dobi vir %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Nekaterih arhivov ni mogoÄe pridobiti." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Odpakiranje že odpakiranih izvornih paketov v %s je bilo preskoÄeno\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Ukaz odpakiranja '%s' ni uspel.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Izberite, Äe je paket 'dpkg-dev' nameÅ¡Äen.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Ukaz gradnje '%s' ni uspel.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Podrejeno opravilo ni uspelo" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Potrebno je navesti vsaj en paket, za katerega želite preveriti odvisnosti " "za gradnjo" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Ni mogoÄe dobiti podrobnosti o odvisnostih za gradnjo za %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s nima odvisnosti za gradnjo.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "%s odvisnosti za %s ni mogoÄe zadostiti, ker ni mogoÄe najti paketa %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "%s odvisnosti za %s ni mogoÄe zadostiti, ker ni mogoÄe najti paketa %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Ni mogoÄe zadostiti %s odvisnosti za %s. NameÅ¡Äen paket %s je preveÄ nov" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s odvisnosti za %s ni mogoÄe zadostiti, ker nobena razliÄica paketa %s ne " "more zadostiti zahtevi po razliÄici" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "" -"Ni mogoÄe zadostiti %s odvisnosti za %s. NameÅ¡Äen paket %s je preveÄ nov" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "%s odvisnosti za %s ni mogoÄe zadostiti, ker ni mogoÄe najti paketa %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Ni mogoÄe zadostiti %s odvisnosti za %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Odvisnosti za gradnjo %s ni bilo mogoÄe zadostiti." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Obdelava odvisnosti za gradnjo je spodletela" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, c-format msgid "Changelog for %s (%s)" msgstr "Dnevnik sprememb za %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Podprti moduli:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1440,7 +1461,7 @@ msgstr "" "sources.list(5) in apt.conf(5).\n" " Ta APT ima zmožnosti Super krave.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1754,8 +1775,8 @@ msgstr "Datoteka %s/%s prepisuje datoteko v paketu %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1787,7 +1808,7 @@ msgstr "Podatki in zaÄasne mape morajo biti na istem datoteÄnem sistemu" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Branje seznama paketov" @@ -2154,35 +2175,29 @@ msgstr "Nekaj Äudnega se je zgodilo med razreÅ¡evanjem '%s:%s' (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Ni se mogoÄe povezati z %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "V %s ni nameÅ¡Äenih zbirk kljuÄev." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Notranja napaka: Dober podpis, toda ni mogoÄe doloÄiti podpisa kljuÄa?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Najden je bil vsaj en neveljaven podpis." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "Ni mogoÄe izvesti 'gpgv' za preverjanje podpisa (je gpgv nameÅ¡Äen?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Neznana napaka med izvajanjem gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Naslednji podpisi so bili neveljavni:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2340,59 +2355,59 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Izbire %s ni mogoÄe najti" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Neprepoznana vrsta okrajÅ¡ave: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Odpiranje nastavitvene datoteke %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Skladenjska napaka %s:%u: Blok se zaÄne brez imena." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Skladenjska napaka %s:%u: Slabo oblikovana oznaka." -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Skladenjska napaka %s:%u: Dodatna krama za vrednostjo." -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Skladenjska napaka %s:%u: Napotki se lahko izvedejo le na vrhnji ravni." -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Skladenjska napaka %s:%u: PreveÄ vgnezdenih vkljuÄitev" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Skladenjska napaka %s:%u: VkljuÄeno od tu" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Skladenjska napaka %s:%u: Nepodprt napotek '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Skladenjska napaka %s:%u: poÄisti ukaz zahteva drevo možnosti kot argument" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Skladenjska napaka %s:%u: Dodatna krama na koncu datoteke" @@ -2536,7 +2551,7 @@ msgstr "Pod-opravilo %s je vrnilo kodo napake (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Pod-opravilo %s se je nepriÄakovano zakljuÄilo" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Ni mogoÄe odpreti datoteke %s" @@ -2769,7 +2784,7 @@ msgstr "Slabo oblikovana vrstica %u v seznamu virov %s (vrsta)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Vrsta '%s' v vrstici %u na seznamu virov %s ni znana" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2778,7 +2793,7 @@ msgstr "" "Ni mogoÄe izvesti takojÄ…nje nastavitve na '%s'. Oglejte si man5 apt.conf pod " "APT::TakojÄ…nja-nastavitev za podrobnosti. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2789,7 +2804,7 @@ msgstr "" "zanke spora/predodvisnosti. To je ponavadi slabo, toda Äe zares želite " "nadaljevati, vkljuÄite možnost APT::Force-LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2821,7 +2836,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Ni mogoÄe popraviti težav. Imate pokvarjene pakete." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 msgid "" "Some index files failed to download. They have been ignored, or old ones " "used instead." @@ -2871,12 +2886,12 @@ msgstr "NaÄin %s se ni zaÄel pravilno" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Vstavite disk z oznako '%s' v pogon '%s' in pritisnite vnosno tipko." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Paketni sistem '%s' ni podprt" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Ni mogoÄe doloÄiti ustrezne vrste paketnega sistema" @@ -2901,17 +2916,24 @@ msgstr "Za odpravljanje težav poskusite zagnati apt-get update." msgid "The list of sources could not be read." msgstr "Seznama virov ni mogoÄe brati." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Neveljaven zapis v datoteki možnosti %s, ni glave paketa" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Ni mogoÄe razumeti vrste bucike %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Prednost bucike ni navedena ali pa je niÄ." @@ -3000,7 +3022,7 @@ msgstr "Ni mogoÄe doloÄiti seznama izvornih paketov %s" msgid "Collecting File Provides" msgstr "Zbiranje dobaviteljev datotek" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Napaka VI med shranjevanjem predpomnilnika virov" @@ -3013,8 +3035,8 @@ msgstr "preimenovanje je spodletelo, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Neujemanje vsote MD5" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Neujemanje vsote razprÅ¡il" @@ -3036,20 +3058,19 @@ msgstr "Ni mogoÄe najti vsote razprÅ¡evanja za '%s' v datoteki Release" msgid "There is no public key available for the following key IDs:\n" msgstr "Za naslednje ID-je kljuÄa ni na voljo javnih kljuÄev:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Datoteka Release je potekla, prezrtje %s (neveljavno od %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Distribucija v sporu: %s (priÄakovana %s, toda dobljena %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3059,12 +3080,12 @@ msgstr "" "zato bodo uporabljene predhodne datoteke kazal. Napaka GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Napaka GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3073,7 +3094,7 @@ msgstr "" "Ni bilo mogoÄe najti datoteke za paket %s. Morda boste morali roÄno " "popraviti ta paket (zaradi manjkajoÄega arhiva)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3082,7 +3103,7 @@ msgstr "" "Ni bilo mogoÄe najti datoteke za paket %s. Morda boste morali roÄno " "popraviti ta paket." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3090,7 +3111,7 @@ msgstr "" "Datoteke s kazali paketov so pokvarjene. Brez imena datotek: polje za paket " "%s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Neujemanje velikosti" @@ -3214,22 +3235,22 @@ msgstr "Pisanje novega seznama virov\n" msgid "Source list entries for this disc are:\n" msgstr "Izvorni vnosi za ta disk so:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Zapisanih je bilo %i zapisov.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Zapisanih je bilo %i zapisov z %i manjkajoÄimi datotekami.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Zapisanih je bilo %i zapisov z %i neujemajoÄimi datotekami.\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3251,6 +3272,17 @@ msgstr "Ni mogoÄe najti zapisa overitve za: %s" msgid "Hash mismatch for: %s" msgstr "Neujemanje razprÅ¡ila za: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "V %s ni nameÅ¡Äenih zbirk kljuÄev." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3506,6 +3538,9 @@ msgstr "Povezava se je prezgodaj zaprla" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Notranja napaka, skupina '%s' nima namestljivega psevdo paketa" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Datoteka Release je potekla, prezrtje %s (neveljavno od %s)" + #~ msgid "short read in buffer_copy %s" #~ msgstr "kratko branje v kopiji_medpomnilnika %s" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-08-24 21:18+0100\n" "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" "Language-Team: Swedish <debian-l10n-swedish@debian.org>\n" @@ -157,7 +157,7 @@ msgstr " Versionstabell:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s för %s kompilerad den %s %s\n" @@ -839,7 +839,7 @@ msgstr "Ominstallation av %s är inte möjlig, det kan inte hämtas.\n" msgid "%s is already the newest version.\n" msgstr "%s är redan den senaste versionen.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s är satt till manuellt installerad.\n" @@ -954,8 +954,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Efter denna Ã¥tgärd kommer %sB att frigöras pÃ¥ disken.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Kunde inte fastställa ledigt utrymme i %s" @@ -993,7 +993,7 @@ msgstr "Avbryter." msgid "Do you want to continue [Y/n]? " msgstr "Vill du fortsätta [J/n]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Misslyckades med att hämta %s %s\n" @@ -1002,7 +1002,7 @@ msgstr "Misslyckades med att hämta %s %s\n" msgid "Some files failed to download" msgstr "Misslyckades med att hämta vissa filer" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Hämtningen färdig i \"endast-hämta\"-läge" @@ -1044,32 +1044,32 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Observera: Detta sker med automatik och vid behov av dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Ignorera otillgängliga mÃ¥lutgÃ¥van \"%s\" av paketet \"%s\"" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Väljer \"%s\" som källkodspaket istället för \"%s\"\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Ignorera otillgängliga versionen \"%s\" av paketet \"%s\"" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Uppdateringskommandot tar inga argument" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" "Det är inte meningen att vi ska ta bort nÃ¥got, kan inte starta AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1087,15 +1087,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Följande information kan vara till hjälp för att lösa situationen:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Internt fel, AutoRemover förstörde nÃ¥got" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1106,7 +1106,7 @@ msgstr[0] "" msgstr[1] "" "Följande paket har installerats automatiskt och är inte längre nödvändiga:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1116,19 +1116,19 @@ msgstr[0] "" msgstr[1] "" "%lu paket blev installerade automatiskt och är inte längre nödvändiga.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Använd \"apt-get autoremove\" för att ta bort dem." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Internt fel, AllUpgrade förstörde nÃ¥got" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Du bör köra \"apt-get -f install\" för att korrigera dessa:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1136,7 +1136,7 @@ msgstr "" "Otillfredsställda beroenden. Prova med \"apt-get -f install\" utan paket " "(eller ange en lösning)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1148,73 +1148,73 @@ msgstr "" "att nÃ¥gra nödvändiga paket ännu inte har skapats eller flyttats\n" "ut frÃ¥n \"Incoming\"." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Trasiga paket" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Följande ytterligare paket kommer att installeras:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Föreslagna paket:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Rekommenderade paket:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Kunde inte hitta paketet %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s är satt till automatiskt installerad.\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Beräknar uppgradering... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Misslyckades" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Färdig" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Internt fel, problemlösaren förstörde nÃ¥gonting" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Kunde inte lÃ¥sa hämtningskatalogen" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Du mÃ¥ste ange minst ett paket att hämta källkod för" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Kunde inte hitta nÃ¥got källkodspaket för %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1224,7 +1224,7 @@ msgstr "" "pÃ¥:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1235,78 +1235,94 @@ msgstr "" "bzr get %s\n" "för att hämta senaste (möjligen inte utgivna) uppdateringar av paketet.\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Hoppar över redan hämtade filen \"%s\"\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Du har inte tillräckligt mycket ledigt utrymme i %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Behöver hämta %sB/%sB källkodsarkiv.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Behöver hämta %sB källkodsarkiv.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Hämtar källkoden %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Misslyckades med att hämta vissa arkiv." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Packar inte upp redan uppackad källkod i %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Uppackningskommandot \"%s\" misslyckades.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Försäkra dig om att paketet \"dpkg-dev\" är installerat.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Byggkommandot \"%s\" misslyckades.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Barnprocessen misslyckades" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "Du mÃ¥ste ange minst ett paket att kontrollera byggberoenden för" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Kunde inte hämta information om byggberoenden för %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s har inga byggberoenden.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"%s-beroendet pÃ¥ %s kan inte tillfredsställas eftersom paketet %s inte kan " +"hittas" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1315,47 +1331,56 @@ msgstr "" "%s-beroendet pÃ¥ %s kan inte tillfredsställas eftersom paketet %s inte kan " "hittas" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Misslyckades med att tillfredsställa %s-beroendet för %s: Det installerade " +"paketet %s är för nytt" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "%s-beroendet pÃ¥ %s kan inte tillfredsställas eftersom inga tillgängliga " "versioner av paketet %s tillfredsställer versionskraven" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Misslyckades med att tillfredsställa %s-beroendet för %s: Det installerade " -"paketet %s är för nytt" +"%s-beroendet pÃ¥ %s kan inte tillfredsställas eftersom paketet %s inte kan " +"hittas" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Misslyckades med att tillfredsställa %s-beroendet för %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Byggberoenden för %s kunde inte tillfredsställas." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Misslyckades med att behandla byggberoenden" # Felmeddelande för misslyckad chdir -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Ansluter till %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Moduler som stöds:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1443,7 +1468,7 @@ msgstr "" "för mer information och flaggor.\n" " Denna APT har Speciella Ko-Krafter.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1762,8 +1787,8 @@ msgstr "Filen %s/%s skriver över den i paketet %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1795,7 +1820,7 @@ msgstr "Katalogerna info och temp mÃ¥ste vara pÃ¥ samma filsystem" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Läser paketlistor" @@ -2169,37 +2194,31 @@ msgstr "NÃ¥got konstigt hände när \"%s:%s\" slogs upp (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Kunde inte ansluta till %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Ingen nyckelring installerad i %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Internt fel: Korrekt signatur men kunde inte fastställa nyckelns " "fingeravtryck?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Minst en ogiltig signatur träffades pÃ¥." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Kunde inte köra \"gpgv\" för att verifiera signatur (är gpgv installerad?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Okänt fel vid körning av gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Följande signaturer är ogiltiga:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2360,57 +2379,57 @@ msgstr "%lis" msgid "Selection %s not found" msgstr "Valet %s hittades inte" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Okänd typförkortning: \"%c\"" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Öppnar konfigurationsfilen %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntaxfel %s:%u: Block börjar utan namn." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntaxfel %s:%u: Felformat märke" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntaxfel %s:%u: Överflödigt skräp efter värde" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Syntaxfel %s:%u: Direktiv kan endast utföras pÃ¥ toppnivÃ¥n" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntaxfel %s:%u: För mÃ¥nga nästlade inkluderingar" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntaxfel %s:%u: Inkluderad härifrÃ¥n" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntaxfel %s:%u: Direktivet \"%s\" stöds inte" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "Syntaxfel %s:%u: clear-direktivet kräver ett flaggträd som argument" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntaxfel %s:%u: Överflödigt skräp vid filens slut" @@ -2555,7 +2574,7 @@ msgstr "Underprocessen %s svarade med en felkod (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Underprocessen %s avslutades oväntat" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Kunde inte öppna filen %s" @@ -2785,7 +2804,7 @@ msgstr "Rad %u i källistan %s har fel format (typ)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Typ \"%s\" är inte känd pÃ¥ rad %u i listan över källor %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2794,7 +2813,7 @@ msgstr "" "Kunde inte genomföra omedelbar konfiguration pÃ¥ \"%s\". Se man 5 apt.conf " "under APT::Immediate-Configure för information. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2806,7 +2825,7 @@ msgstr "" "Detta är oftast en dÃ¥lig idé, men om du verkligen vill göra det kan du " "aktivera flaggan \"APT::Force-LoopBreak\"." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2839,7 +2858,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Kunde inte korrigera problemen, du har hÃ¥llit tillbaka trasiga paket." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2891,13 +2910,13 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" "Mata in skivan med etiketten \"%s\" i enheten \"%s\" och tryck pÃ¥ Enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Paketsystemet \"%s\" stöds inte" # -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Kunde inte fastställa en lämplig paketsystemstyp" @@ -2922,18 +2941,25 @@ msgstr "Du kan möjligen rätta till problemet genom att köra \"apt-get update\ msgid "The list of sources could not be read." msgstr "Listan över källor kunde inte läsas." +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + # "Package" är en sträng i konfigurationsfilen -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Ogiltig post i konfigurationsfilen %s, \"Package\"-rubriken saknas" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Förstod inte nÃ¥ltypen %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Prioritet ej angiven (eller noll) för nÃ¥l" @@ -3025,7 +3051,7 @@ msgstr "Kunde inte ta status pÃ¥ källkodspaketlistan %s" msgid "Collecting File Provides" msgstr "Samlar filtillhandahÃ¥llningar" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "In-/utfel vid lagring av källcache" @@ -3038,8 +3064,8 @@ msgstr "namnbyte misslyckades, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "MD5-kontrollsumman stämmer inte" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hash-kontrollsumman stämmer inte" @@ -3059,20 +3085,19 @@ msgstr "Kunde inte tolka \"Release\"-filen %s" msgid "There is no public key available for the following key IDs:\n" msgstr "Det finns ingen öppen nyckel tillgänglig för följande nyckel-id:n:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Release-filen har gÃ¥tt ut, ignorerar %s (ogiltig sedan %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Konflikt i distribution: %s (förväntade %s men fick %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3083,12 +3108,12 @@ msgstr "" "%s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "GPG-fel: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3097,7 +3122,7 @@ msgstr "" "Jag kunde inte hitta nÃ¥gon fil för paketet %s. Detta kan betyda att du " "manuellt mÃ¥ste reparera detta paket (pÃ¥ grund av saknad arkitektur)." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3106,13 +3131,13 @@ msgstr "" "Jag kunde inte hitta nÃ¥gon fil för paketet %s. Detta kan betyda att du " "manuellt mÃ¥ste reparera detta paket." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "Paketindexfilerna är skadede. Inget \"Filename:\"-fält för paketet %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Storleken stämmer inte" @@ -3236,22 +3261,22 @@ msgstr "Skriver ny källista\n" msgid "Source list entries for this disc are:\n" msgstr "Poster i källistan för denna skiva:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Skrev %i poster.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Skrev %i poster med %i saknade filer.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Skrev %i poster med %i filer som inte stämmer\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "Skrev %i poster med %i saknade filer och %i filer som inte stämmer\n" @@ -3271,6 +3296,17 @@ msgstr "Kan inte hitta autentiseringspost för: %s" msgid "Hash mismatch for: %s" msgstr "Hash-kontrollsumman stämmer inte för: %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Ingen nyckelring installerad i %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3530,6 +3566,9 @@ msgstr "Anslutningen stängdes i förtid" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Internt fel, gruppen \"%s\" har inget installerbart pseudo-paket" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Release-filen har gÃ¥tt ut, ignorerar %s (ogiltig sedan %s)" + #~ msgid "E: Too many keyrings should be passed to gpgv. Exiting." #~ msgstr "F: För mÃ¥nga nyckelringar skulle skickas till gpgv. Avslutar." @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2008-11-06 15:54+0700\n" "Last-Translator: Theppitak Karoonboonyanan <thep@linux.thai.net>\n" "Language-Team: Thai <thai-l10n@googlegroups.com>\n" @@ -156,7 +156,7 @@ msgstr " ตารางรุ่น:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s สำหรับ %s คà¸à¸¡à¹„พล์เมื่ภ%s %s\n" @@ -825,7 +825,7 @@ msgstr "ไม่สามารถติดตั้ง %s ซ้ำได้ à msgid "%s is already the newest version.\n" msgstr "%s เป็นรุ่นใหม่ล่าสุดà¸à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "à¸à¸³à¸«à¸™à¸” %s ให้เป็นà¸à¸²à¸£à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¹€à¸¥à¸·à¸à¸à¹€à¸à¸‡à¹à¸¥à¹‰à¸§\n" @@ -937,8 +937,8 @@ msgstr "หลังจาà¸à¸à¸²à¸£à¸à¸£à¸°à¸—ำนี้ ต้à¸à¸‡à¹ƒà¸ msgid "After this operation, %sB disk space will be freed.\n" msgstr "หลังจาà¸à¸à¸²à¸£à¸à¸£à¸°à¸—ำนี้ เนื้à¸à¸—ี่บนดิสà¸à¹Œà¸ˆà¸°à¸§à¹ˆà¸²à¸‡à¹€à¸žà¸´à¹ˆà¸¡à¸à¸µà¸ %sB\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "ไม่สามารถคำนวณพื้นที่ว่างใน %s" @@ -975,7 +975,7 @@ msgstr "เลิà¸à¸—ำ" msgid "Do you want to continue [Y/n]? " msgstr "คุณต้à¸à¸‡à¸à¸²à¸£à¸ˆà¸°à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸à¹„ปหรืà¸à¹„ม่ [Y/n]?" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "ไม่สามารถดาวน์โหลด %s %s\n" @@ -984,7 +984,7 @@ msgstr "ไม่สามารถดาวน์โหลด %s %s\n" msgid "Some files failed to download" msgstr "ดาวน์โหลดบางà¹à¸Ÿà¹‰à¸¡à¹„ม่สำเร็จ" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "ดาวน์โหลดสำเร็จà¹à¸¥à¹‰à¸§ à¹à¸¥à¸°à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¹‚หมดดาวน์โหลดà¸à¸¢à¹ˆà¸²à¸‡à¹€à¸”ียว" @@ -1022,31 +1022,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "ไม่สามารถ stat รายà¸à¸²à¸£à¹à¸žà¸à¹€à¸à¸ˆà¸‹à¸à¸£à¹Œà¸ª %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "คำสั่ง update ไม่รับà¸à¸²à¸£à¹Œà¸à¸´à¸§à¹€à¸¡à¸™à¸•à¹Œà¹€à¸žà¸´à¹ˆà¸¡" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "apt ถูà¸à¸à¸³à¸«à¸™à¸”ไม่ให้มีà¸à¸²à¸£à¸¥à¸šà¹ƒà¸”ๆ จึงไม่สามารถดำเนินà¸à¸²à¸£à¸–à¸à¸”ถà¸à¸™à¸à¸±à¸•à¹‚นมัติได้" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1064,15 +1064,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "ข้à¸à¸¡à¸¹à¸¥à¸•à¹ˆà¸à¹„ปนี้à¸à¸²à¸ˆà¸Šà¹ˆà¸§à¸¢à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¹„ด้:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาดภายใน: AutoRemover ทำความเสียหาย" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1082,7 +1082,7 @@ msgid_plural "" msgstr[0] "à¹à¸žà¸à¹€à¸à¸ˆà¸•à¹ˆà¸à¹„ปนี้ถูà¸à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¸à¸±à¸•à¹‚นมัติไว้ à¹à¸¥à¸°à¹„ม่ต้à¸à¸‡à¹ƒà¸Šà¹‰à¸à¸µà¸à¸•à¹ˆà¸à¹„ปà¹à¸¥à¹‰à¸§:" msgstr[1] "à¹à¸žà¸à¹€à¸à¸ˆà¸•à¹ˆà¸à¹„ปนี้ถูà¸à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¸à¸±à¸•à¹‚นมัติไว้ à¹à¸¥à¸°à¹„ม่ต้à¸à¸‡à¹ƒà¸Šà¹‰à¸à¸µà¸à¸•à¹ˆà¸à¹„ปà¹à¸¥à¹‰à¸§:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1090,19 +1090,19 @@ msgid_plural "" msgstr[0] "à¹à¸žà¸à¹€à¸à¸ˆà¸•à¹ˆà¸à¹„ปนี้ถูà¸à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¸à¸±à¸•à¹‚นมัติไว้ à¹à¸¥à¸°à¹„ม่ต้à¸à¸‡à¹ƒà¸Šà¹‰à¸à¸µà¸à¸•à¹ˆà¸à¹„ปà¹à¸¥à¹‰à¸§:" msgstr[1] "à¹à¸žà¸à¹€à¸à¸ˆà¸•à¹ˆà¸à¹„ปนี้ถูà¸à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¸à¸±à¸•à¹‚นมัติไว้ à¹à¸¥à¸°à¹„ม่ต้à¸à¸‡à¹ƒà¸Šà¹‰à¸à¸µà¸à¸•à¹ˆà¸à¹„ปà¹à¸¥à¹‰à¸§:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "ใช้ 'apt-get autoremove' เพื่à¸à¸¥à¸šà¹à¸žà¸à¹€à¸à¸ˆà¸”ังà¸à¸¥à¹ˆà¸²à¸§à¹„ด้" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาดภายใน: AllUpgrade ทำความเสียหาย" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "คุณà¸à¸²à¸ˆà¹€à¸£à¸µà¸¢à¸ 'apt-get -f install' เพื่à¸à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¸™à¸µà¹‰à¹„ด้:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1110,7 +1110,7 @@ msgstr "" "มีปัà¸à¸«à¸²à¸„วามขึ้นต่à¸à¸à¸±à¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¹à¸žà¸à¹€à¸à¸ˆ à¸à¸£à¸¸à¸“าลà¸à¸‡à¹ƒà¸Šà¹‰ 'apt-get -f install' โดยไม่ระบุà¹à¸žà¸à¹€à¸à¸ˆ " "(หรืà¸à¸ˆà¸°à¸£à¸°à¸šà¸¸à¸—างà¹à¸à¹‰à¸à¹‡à¹„ด้)" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1121,80 +1121,80 @@ msgstr "" "หรืà¸à¸–้าคุณà¸à¸³à¸¥à¸±à¸‡à¹ƒà¸Šà¹‰à¸£à¸¸à¹ˆà¸™ unstable à¸à¹‡à¹€à¸›à¹‡à¸™à¹„ปได้ว่าà¹à¸žà¸à¹€à¸à¸ˆà¸—ี่จำเป็นบางรายà¸à¸²à¸£\n" "ยังไม่ถูà¸à¸ªà¸£à¹‰à¸²à¸‡à¸‚ึ้น หรืà¸à¸–ูà¸à¸¢à¹‰à¸²à¸¢à¸à¸à¸à¸ˆà¸²à¸ Incoming" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "à¹à¸žà¸à¹€à¸à¸ˆà¸¡à¸µà¸›à¸±à¸à¸«à¸²" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "จะติดตั้งà¹à¸žà¸à¹€à¸à¸ˆà¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•à¸´à¸¡à¸•à¹ˆà¸à¹„ปนี้:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่à¹à¸™à¸°à¸™à¸³:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่ควรใช้ร่วมà¸à¸±à¸™:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "ไม่พบà¹à¸žà¸à¹€à¸à¸ˆ %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "à¸à¸³à¸«à¸™à¸” %s ให้เป็นà¸à¸²à¸£à¸•à¸´à¸”ตั้งà¹à¸šà¸šà¹€à¸¥à¸·à¸à¸à¹€à¸à¸‡à¹à¸¥à¹‰à¸§\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "à¸à¸³à¸¥à¸±à¸‡à¸„ำนวณà¸à¸²à¸£à¸›à¸£à¸±à¸šà¸£à¸¸à¹ˆà¸™... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "ล้มเหลว" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "เสร็จà¹à¸¥à¹‰à¸§" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาดภายใน: à¸à¸¥à¹„à¸à¸à¸²à¸£à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¸—ำความเสียหาย" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "ไม่สามารถล็à¸à¸„ไดเรà¸à¸—à¸à¸£à¸µà¸”าวน์โหลด" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "ต้à¸à¸‡à¸£à¸°à¸šà¸¸à¹à¸žà¸à¹€à¸à¸ˆà¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢à¸«à¸™à¸¶à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่จะดาวน์โหลดซà¸à¸£à¹Œà¸ªà¹‚ค้ด" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "ไม่พบà¹à¸žà¸à¹€à¸à¸ˆà¸‹à¸à¸£à¹Œà¸ªà¹‚ค้ดสำหรับ %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1202,122 +1202,143 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "จะข้ามà¹à¸Ÿà¹‰à¸¡ '%s' ที่ดาวน์โหลดไว้à¹à¸¥à¹‰à¸§\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "คุณมีพื้นที่ว่างเหลืà¸à¹„ม่พà¸à¹ƒà¸™ %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "ต้à¸à¸‡à¸”าวน์โหลดซà¸à¸£à¹Œà¸ªà¹‚ค้ด %sB/%sB\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "ต้à¸à¸‡à¸”าวน์โหลดซà¸à¸£à¹Œà¸ªà¹‚ค้ด %sB\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "ดาวน์โหลดซà¸à¸£à¹Œà¸ª %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "ไม่สามารถดาวน์โหลดบางà¹à¸Ÿà¹‰à¸¡" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "จะข้ามà¸à¸²à¸£à¹à¸•à¸à¸‹à¸à¸£à¹Œà¸ªà¸‚à¸à¸‡à¸‹à¸à¸£à¹Œà¸ªà¸—ี่à¹à¸•à¸à¹„ว้à¹à¸¥à¹‰à¸§à¹ƒà¸™ %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "คำสั่งà¹à¸•à¸à¹à¸Ÿà¹‰à¸¡ '%s' ล้มเหลว\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "à¸à¸£à¸¸à¸“าตรวจสà¸à¸šà¸§à¹ˆà¸²à¹„ด้ติดตั้งà¹à¸žà¸à¹€à¸à¸ˆ 'dpkg-dev' à¹à¸¥à¹‰à¸§\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "คำสั่ง build '%s' ล้มเหลว\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "โพรเซสลูà¸à¸¥à¹‰à¸¡à¹€à¸«à¸¥à¸§" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "ต้à¸à¸‡à¸£à¸°à¸šà¸¸à¹à¸žà¸à¹€à¸à¸ˆà¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢à¸«à¸™à¸¶à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่จะตรวจสà¸à¸šà¸ªà¸´à¹ˆà¸‡à¸—ี่ต้à¸à¸‡à¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£ build" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "ไม่สามารถà¸à¹ˆà¸²à¸™à¸‚้à¸à¸¡à¸¹à¸¥à¸ªà¸´à¹ˆà¸‡à¸—ี่ต้à¸à¸‡à¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£ build ขà¸à¸‡ %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s ไม่ต้à¸à¸‡à¸à¸²à¸£à¸ªà¸´à¹ˆà¸‡à¹ƒà¸”สำหรับ build\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "ไม่สามารถติดตั้งสิ่งเชื่à¸à¸¡à¹‚ยง %s สำหรับ %s ได้ เพราะไม่พบà¹à¸žà¸à¹€à¸à¸ˆ %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "ไม่สามารถติดตั้งสิ่งเชื่à¸à¸¡à¹‚ยง %s สำหรับ %s ได้ เพราะไม่พบà¹à¸žà¸à¹€à¸à¸ˆ %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "ไม่สามารถติดตั้งสิ่งเชื่à¸à¸¡à¹‚ยง %s สำหรับ %s ได้: à¹à¸žà¸à¹€à¸à¸ˆ %s ที่ติดตั้งไว้ใหม่เà¸à¸´à¸™à¹„ป" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "ไม่สามารถติดตั้งสิ่งเชื่à¸à¸¡à¹‚ยง %s สำหรับ %s ได้ เพราะไม่มีà¹à¸žà¸à¹€à¸à¸ˆ %s " "รุ่นที่จะสà¸à¸”คล้à¸à¸‡à¸à¸±à¸šà¸„วามต้à¸à¸‡à¸à¸²à¸£à¸£à¸¸à¹ˆà¸™à¸‚à¸à¸‡à¹à¸žà¸à¹€à¸à¸ˆà¹„ด้" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "ไม่สามารถติดตั้งสิ่งเชื่à¸à¸¡à¹‚ยง %s สำหรับ %s ได้: à¹à¸žà¸à¹€à¸à¸ˆ %s ที่ติดตั้งไว้ใหม่เà¸à¸´à¸™à¹„ป" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "ไม่สามารถติดตั้งสิ่งเชื่à¸à¸¡à¹‚ยง %s สำหรับ %s ได้ เพราะไม่พบà¹à¸žà¸à¹€à¸à¸ˆ %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "ไม่สามารถติดตั้งสิ่งเชื่à¸à¸¡à¹‚ยง %s สำหรับ %s ได้: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "ไม่สามารถติดตั้งสิ่งที่จำเป็นสำหรับà¸à¸²à¸£ build ขà¸à¸‡ %s ได้" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "ติดตั้งสิ่งที่จำเป็นสำหรับà¸à¸²à¸£ build ไม่สำเร็จ" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "เชื่à¸à¸¡à¸•à¹ˆà¸à¹„ปยัง %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "มà¸à¸”ูลที่รà¸à¸‡à¸£à¸±à¸š:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1403,7 +1424,7 @@ msgstr "" "à¹à¸¥à¸° apt.conf(5)\n" " APT นี้มีพลังขà¸à¸‡ Super Cow\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1711,8 +1732,8 @@ msgstr "à¹à¸Ÿà¹‰à¸¡ %s/%s เขียนทับà¹à¸Ÿà¹‰à¸¡à¹ƒà¸™à¹à¸žà¸à¹ #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1744,7 +1765,7 @@ msgstr "ไดเรà¸à¸—à¸à¸£à¸µ info à¹à¸¥à¸° temp ต้à¸à¸‡à¸à¸¢à¸¹à¹ˆ #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "à¸à¸³à¸¥à¸±à¸‡à¸à¹ˆà¸²à¸™à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸à¹à¸žà¸à¹€à¸à¸ˆ" @@ -2108,35 +2129,29 @@ msgstr "เà¸à¸´à¸”ปัà¸à¸«à¸²à¸£à¹‰à¸²à¸¢à¹à¸£à¸‡à¸šà¸²à¸‡à¸à¸¢à¹ˆà¸²à¸‡ msgid "Unable to connect to %s:%s:" msgstr "ไม่สามารถเชื่à¸à¸¡à¸•à¹ˆà¸à¹„ปยัง %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "จะล้มเลิà¸à¸à¸²à¸£à¸•à¸´à¸”ตั้ง" - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "ข้à¸à¸œà¸´à¸”พลาดภายใน: ลายเซ็นใช้à¸à¸²à¸£à¹„ด้ à¹à¸•à¹ˆà¹„ม่สามารถระบุลายนิ้วมืà¸à¸‚à¸à¸‡à¸à¸¸à¸à¹à¸ˆ?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "พบลายเซ็นที่ใช้à¸à¸²à¸£à¹„ม่ได้à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢à¸«à¸™à¸¶à¹ˆà¸‡à¸£à¸²à¸¢à¸à¸²à¸£" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "ไม่สามารถเรียภ'%s' เพื่à¸à¸•à¸£à¸§à¸ˆà¸ªà¸à¸šà¸¥à¸²à¸¢à¹€à¸‹à¹‡à¸™ (ได้ติดตั้ง gpgv ไว้หรืà¸à¹„ม่?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาดไม่ทราบสาเหตุขณะเรียภgpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "ลายเซ็นต่à¸à¹„ปนี้ใช้à¸à¸²à¸£à¹„ม่ได้:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2291,57 +2306,57 @@ msgstr "" msgid "Selection %s not found" msgstr "ไม่พบรายà¸à¸²à¸£à¹€à¸¥à¸·à¸à¸ %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "พบตัวย่à¸à¸‚à¸à¸‡à¸Šà¸™à¸´à¸”ที่ข้à¸à¸¡à¸¹à¸¥à¹„ม่รู้จัà¸: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "ขณะเปิดà¹à¸Ÿà¹‰à¸¡à¸„่าตั้ง %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: เริ่มบล็à¸à¸„โดยไม่มีชื่à¸" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: à¹à¸—็à¸à¸œà¸´à¸”รูปà¹à¸šà¸š" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: มีขยะเà¸à¸´à¸™à¸«à¸¥à¸±à¸‡à¸„่า" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: สามารถใช้ directive ที่ระดับบนสุดได้เท่านั้น" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: ใช้ include ซ้à¸à¸™à¸à¸±à¸™à¸¡à¸²à¸à¹€à¸à¸´à¸™à¹„ป" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: include จาà¸à¸—ี่นี่" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: พบ directive '%s' ที่ไม่รà¸à¸‡à¸£à¸±à¸š" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: สามารถใช้ directive ที่ระดับบนสุดได้เท่านั้น" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "ไวยาà¸à¸£à¸“์ผิดพลาด %s:%u: มีขยะเà¸à¸´à¸™à¸«à¸¥à¸±à¸‡à¸ˆà¸šà¹à¸Ÿà¹‰à¸¡" @@ -2484,7 +2499,7 @@ msgstr "โพรเซสย่à¸à¸¢ %s คืนค่าข้à¸à¸œà¸´à¸”ภmsgid "Sub-process %s exited unexpectedly" msgstr "โพรเซสย่à¸à¸¢ %s จบà¸à¸²à¸£à¸—ำงานà¸à¸£à¸°à¸—ันหัน" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "ไม่สามารถเปิดà¹à¸Ÿà¹‰à¸¡ %s" @@ -2711,14 +2726,14 @@ msgstr "บรรทัด %u ในà¹à¸Ÿà¹‰à¸¡à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸à¹à¸«à¸¥à¹ msgid "Type '%s' is not known on line %u in source list %s" msgstr "ไม่รู้จัà¸à¸Šà¸™à¸´à¸” '%s' ที่บรรทัด %u ในà¹à¸Ÿà¹‰à¸¡à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸à¹à¸«à¸¥à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆ %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2730,7 +2745,7 @@ msgstr "" "ซึ่งà¹à¸žà¸à¹€à¸à¸ˆà¸”ังà¸à¸¥à¹ˆà¸²à¸§à¹€à¸›à¹‡à¸™à¹à¸žà¸à¹€à¸à¸ˆà¸—ี่จำเป็นสำหรับระบบ à¸à¸²à¸£à¸¥à¸šà¸”ังà¸à¸¥à¹ˆà¸²à¸§à¸¡à¸±à¸à¹€à¸›à¹‡à¸™à¸à¸±à¸™à¸•à¸£à¸²à¸¢ " "à¹à¸•à¹ˆà¸–้าคุณต้à¸à¸‡à¸à¸²à¸£à¸—ำเช่นนั้นจริงๆ à¸à¹‡à¹ƒà¸«à¹‰à¹€à¸›à¸´à¸”ตัวเลืà¸à¸ APT::Force-LoopBreak" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2760,7 +2775,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "ไม่สามารถà¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¹„ด้ คุณได้คงรุ่นà¹à¸žà¸à¹€à¸à¸ˆà¸—ี่เสียà¸à¸¢à¸¹à¹ˆà¹„ว้" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2809,12 +2824,12 @@ msgstr "ไม่สามารถเรียà¸à¸—ำงานวิธีภmsgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "à¸à¸£à¸¸à¸“าใส่à¹à¸œà¹ˆà¸™à¸Šà¸·à¹ˆà¸: '%s' ลงในไดรว์ '%s' à¹à¸¥à¹‰à¸§à¸à¸” enter" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "ไม่รà¸à¸‡à¸£à¸±à¸šà¸£à¸°à¸šà¸šà¹à¸žà¸à¹€à¸à¸ˆ '%s'" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "ไม่สามารถระบุชนิดขà¸à¸‡à¸£à¸°à¸šà¸šà¹à¸žà¸à¹€à¸à¸ˆà¸—ี่เหมาะสมได้" @@ -2839,17 +2854,24 @@ msgstr "คุณà¸à¸²à¸ˆà¹€à¸£à¸µà¸¢à¸ `apt-get update' เพื่à¸à¹à¸ msgid "The list of sources could not be read." msgstr "ไม่สามารถà¸à¹ˆà¸²à¸™à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸à¹à¸«à¸¥à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆà¹„ด้" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "ระเบียนผิดรูปà¹à¸šà¸šà¹ƒà¸™à¹à¸Ÿà¹‰à¸¡à¸„่าปรับà¹à¸•à¹ˆà¸‡: ไม่มีข้à¸à¸¡à¸¹à¸¥à¸ªà¹ˆà¸§à¸™à¸«à¸±à¸§ 'Package'" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "ไม่เข้าใจชนิดà¸à¸²à¸£à¸•à¸£à¸¶à¸‡ %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "ไม่ได้ระบุลำดับความสำคัภ(หรืà¸à¸„่าศูนย์) สำหรับà¸à¸²à¸£à¸•à¸£à¸¶à¸‡" @@ -2938,7 +2960,7 @@ msgstr "ไม่สามารถ stat รายà¸à¸²à¸£à¹à¸žà¸à¹€à¸à¸ˆà¸‹ msgid "Collecting File Provides" msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸à¹‡à¸šà¸‚้à¸à¸¡à¸¹à¸¥à¹à¸Ÿà¹‰à¸¡à¸—ี่ตระเตรียมให้" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "เà¸à¸´à¸”ข้à¸à¸œà¸´à¸”พลาด IO ขณะบันทึà¸à¹à¸„ชขà¸à¸‡à¸‹à¸à¸£à¹Œà¸ª" @@ -2951,8 +2973,8 @@ msgstr "เปลี่ยนชื่à¸à¹„ม่สำเร็จ: %s (%s -> msgid "MD5Sum mismatch" msgstr "MD5Sum ไม่ตรงà¸à¸±à¸™" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "ผลรวมà¹à¸®à¸Šà¹„ม่ตรงà¸à¸±à¸™" @@ -2972,20 +2994,19 @@ msgstr "ไม่สามารถà¹à¸ˆà¸‡à¹à¸Ÿà¹‰à¸¡à¹à¸žà¸à¹€à¸à¸ˆ %s (1 msgid "There is no public key available for the following key IDs:\n" msgstr "ไม่มีà¸à¸¸à¸à¹à¸ˆà¸ªà¸²à¸˜à¸²à¸£à¸“ะสำหรับà¸à¸¸à¸à¹à¸ˆà¸«à¸¡à¸²à¸¢à¹€à¸¥à¸‚ต่à¸à¹„ปนี้:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -2993,32 +3014,32 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package. (due to missing arch)" msgstr "ไม่พบà¹à¸Ÿà¹‰à¸¡à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸à¹€à¸à¸ˆ %s คุณà¸à¸²à¸ˆà¸•à¹‰à¸à¸‡à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¹à¸žà¸à¹€à¸à¸ˆà¸™à¸µà¹‰à¹€à¸à¸‡ (ไม่มี arch)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package." msgstr "ไม่พบà¹à¸Ÿà¹‰à¸¡à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸žà¸à¹€à¸à¸ˆ %s คุณà¸à¸²à¸ˆà¸•à¹‰à¸à¸‡à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¹à¸žà¸à¹€à¸à¸ˆà¸™à¸µà¹‰à¹€à¸à¸‡" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "à¹à¸Ÿà¹‰à¸¡à¸”ัชนีà¹à¸žà¸à¹€à¸à¸ˆà¹€à¸ªà¸µà¸¢à¸«à¸²à¸¢ ไม่มีข้à¸à¸¡à¸¹à¸¥ Filename: (ชื่à¸à¹à¸Ÿà¹‰à¸¡) สำหรับà¹à¸žà¸à¹€à¸à¸ˆ %s" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "ขนาดไม่ตรงà¸à¸±à¸™" @@ -3140,22 +3161,22 @@ msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸‚ียนรายชื่à¸à¹à¸«à¸¥à¹ˆà¸‡à¹à¸ž msgid "Source list entries for this disc are:\n" msgstr "บรรทัดรายชื่à¸à¹à¸«à¸¥à¹ˆà¸‡à¹à¸žà¸à¹€à¸à¸ˆà¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸œà¹ˆà¸™à¸™à¸µà¹‰à¸„ืà¸:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "เขียนà¹à¸¥à¹‰à¸§ %i ระเบียน\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "เขียนà¹à¸¥à¹‰à¸§ %i ระเบียน โดยมีà¹à¸Ÿà¹‰à¸¡à¸‚าดหาย %i à¹à¸Ÿà¹‰à¸¡\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "เขียนà¹à¸¥à¹‰à¸§ %i ระเบียน โดยมีà¹à¸Ÿà¹‰à¸¡à¸œà¸´à¸”ขนาด %i à¹à¸Ÿà¹‰à¸¡\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "เขียนà¹à¸¥à¹‰à¸§ %i ระเบียน โดยมีà¹à¸Ÿà¹‰à¸¡à¸‚าดหาย %i à¹à¸Ÿà¹‰à¸¡ à¹à¸¥à¸°à¹à¸Ÿà¹‰à¸¡à¸œà¸´à¸”ขนาด %i à¹à¸Ÿà¹‰à¸¡\n" @@ -3175,6 +3196,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "ผลรวมà¹à¸®à¸Šà¹„ม่ตรงà¸à¸±à¸™" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "จะล้มเลิà¸à¸à¸²à¸£à¸•à¸´à¸”ตั้ง" + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2007-03-29 21:36+0800\n" "Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n" "Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n" @@ -161,7 +161,7 @@ msgstr " Talaang Bersyon:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s para sa %s %s kinompile noong %s %s\n" @@ -846,7 +846,7 @@ msgstr "Ang pagluklok muli ng %s ay hindi maaari, hindi ito makuha.\n" msgid "%s is already the newest version.\n" msgstr "%s ay pinakabagong bersyon na.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "ngunit ang %s ay iluluklok" @@ -965,8 +965,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "Matapos magbuklat ay %sB na puwang sa disk ang mapapalaya.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Hindi matantsa ang libreng puwang sa %s" @@ -1003,7 +1003,7 @@ msgstr "Abort." msgid "Do you want to continue [Y/n]? " msgstr "Nais niyo bang magpatuloy [O/h]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Bigo sa pagkuha ng %s %s\n" @@ -1012,7 +1012,7 @@ msgstr "Bigo sa pagkuha ng %s %s\n" msgid "Some files failed to download" msgstr "May mga talaksang hindi nakuha" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Kumpleto ang pagkakuha ng mga talaksan sa modong pagkuha lamang" @@ -1050,31 +1050,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Hindi ma-stat ang talaan ng pagkukunan ng pakete %s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Ang utos na update ay hindi tumatanggap ng mga argumento" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1090,17 +1090,17 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "" "Ang sumusunod na impormasyon ay maaaring makatulong sa pag-ayos ng problema:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "Error na internal, may nasira ang problem resolver" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1110,7 +1110,7 @@ msgid_plural "" msgstr[0] "Ang sumusunod na mga paketeng BAGO ay iluluklok:" msgstr[1] "Ang sumusunod na mga paketeng BAGO ay iluluklok:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1118,20 +1118,20 @@ msgid_plural "" msgstr[0] "Ang sumusunod na mga paketeng BAGO ay iluluklok:" msgstr[1] "Ang sumusunod na mga paketeng BAGO ay iluluklok:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Internal error, nakasira ng bagay-bagay ang AllUpgrade" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "Maaaring patakbuhin niyo ang 'apt-get -f install' upang ayusin ang mga ito:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1139,7 +1139,7 @@ msgstr "" "May mga dependensiyang kulang. Subukan ang 'apt-get -f install' na walang " "mga pakete (o magtakda ng solusyon)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1150,80 +1150,80 @@ msgstr "" "o kung kayo'y gumagamit ng pamudmod na unstable ay may ilang mga paketeng\n" "kailangan na hindi pa nalikha o linipat mula sa Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Sirang mga pakete" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Ang mga sumusunod na extra na pakete ay luluklokin:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Mga paketeng mungkahi:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Mga paketeng rekomendado:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Hindi mahanap ang paketeng %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "ngunit ang %s ay iluluklok" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Sinusuri ang pag-upgrade... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Bigo" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Tapos" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Error na internal, may nasira ang problem resolver" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Hindi maaldaba ang directory ng download" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Kailangang magtakda ng kahit isang pakete na kunan ng source" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Hindi mahanap ang paketeng source para sa %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1231,78 +1231,94 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Linaktawan ang nakuha na na talaksan '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Kulang kayo ng libreng puwang sa %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Kailangang kumuha ng %sB/%sB ng arkibong source.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Kailangang kumuha ng %sB ng arkibong source.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Kunin ang Source %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Bigo sa pagkuha ng ilang mga arkibo." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Linaktawan ang pagbuklat ng nabuklat na na source sa %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Bigo ang utos ng pagbuklat '%s'.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Paki-siguro na nakaluklok ang paketeng 'dpkg-dev'.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Utos na build '%s' ay bigo.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Bigo ang prosesong anak" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "Kailangang magtakda ng kahit isang pakete na susuriin ang builddeps" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Hindi makuha ang impormasyong build-dependency para sa %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "Walang build depends ang %s.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"Dependensiyang %s para sa %s ay hindi mabuo dahil ang paketeng %s ay hindi " +"mahanap" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1311,46 +1327,55 @@ msgstr "" "Dependensiyang %s para sa %s ay hindi mabuo dahil ang paketeng %s ay hindi " "mahanap" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Bigo sa pagbuo ng dependensiyang %s para sa %s: Ang naka-instol na paketeng " +"%s ay bagong-bago pa lamang." + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "Dependensiyang %s para sa %s ay hindi mabuo dahil walang magamit na bersyon " "ng paketeng %s na tumutugon sa kinakailangang bersyon" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Bigo sa pagbuo ng dependensiyang %s para sa %s: Ang naka-instol na paketeng " -"%s ay bagong-bago pa lamang." +"Dependensiyang %s para sa %s ay hindi mabuo dahil ang paketeng %s ay hindi " +"mahanap" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Bigo sa pagbuo ng dependensiyang %s para sa %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Hindi mabuo ang build-dependencies para sa %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Bigo sa pagproseso ng build dependencies" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Kumokonekta sa %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Suportadong mga Module:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1435,7 +1460,7 @@ msgstr "" "para sa karagdagang impormasyon at mga option.\n" " Ang APT na ito ay may Kapangyarihan Super Kalabaw.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1747,8 +1772,8 @@ msgstr "Ang talaksang %s/%s ay pumapatong sa isang talaksan sa paketeng %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1780,7 +1805,7 @@ msgstr "Ang info at temp directory ay kailangang nasa parehong filesystem" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Binabasa ang Listahan ng mga Pakete" @@ -2149,38 +2174,32 @@ msgstr "May naganap na kababalaghan sa pagresolba ng '%s:%s' (%i)" msgid "Unable to connect to %s:%s:" msgstr "Hindi maka-konekta sa %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "Ina-abort ang pag-instol." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Error na internal: Tanggap na lagda, ngunit hindi malaman ang key " "fingerprint?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Hindi kukulang sa isang hindi tanggap na lagda ang na-enkwentro." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Hindi maitakbo ang '%s' upang maberipika ang lagda (nakaluklok ba ang gpgv?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Hindi kilalang error sa pag-execute ng gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Ang sumusunod na mga lagda ay imbalido:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2338,59 +2357,59 @@ msgstr "" msgid "Selection %s not found" msgstr "Piniling %s ay hindi nahanap" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Hindi kilalang katagang uri: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Binubuksan ang talaksang pagsasaayos %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Syntax error %s:%u: Nag-umpisa ang block na walang pangalan." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Syntax error %s:%u: Maling anyo ng Tag" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Syntax error %s:%u: May basura matapos ng halaga" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "Syntax error %s:%u: Maaari lamang gawin ang mga direktiba sa tuktok na antas" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Syntax error %s:%u: Labis ang pagkaka-nest ng mga include" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Syntax error %s:%u: Sinama mula dito" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Syntax error %s:%u: Di suportadong direktiba '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Syntax error %s:%u: Maaari lamang gawin ang mga direktiba sa tuktok na antas" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Syntax error %s:%u: May basura sa dulo ng talaksan" @@ -2538,7 +2557,7 @@ msgstr "Naghudyat ang sub-process %s ng error code (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Ang sub-process %s ay lumabas ng di inaasahan" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Hindi mabuksan ang talaksang %s" @@ -2766,14 +2785,14 @@ msgstr "Maling anyo ng linyang %u sa talaksang pagkukunan %s (uri)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "Hindi kilalang uri '%s' sa linyang %u sa talaksan ng pagkukunan %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2785,7 +2804,7 @@ msgstr "" "loop. Madalas ay masama ito, ngunit kung nais niyo talagang gawin ito, i-" "activate ang APT::Force-LoopBreak na option." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2818,7 +2837,7 @@ msgid "Unable to correct problems, you have held broken packages." msgstr "" "Hindi maayos ang mga problema, mayroon kayong sirang mga pakete na naka-hold." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2870,12 +2889,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" "Ikasa ang disk na may pangalang: '%s' sa drive '%s' at pindutin ang enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Hindi suportado ang sistema ng paketeng '%s'" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Hindi matuklasan ang akmang uri ng sistema ng pakete " @@ -2903,17 +2922,24 @@ msgstr "" msgid "The list of sources could not be read." msgstr "Hindi mabasa ang talaan ng pagkukunan (sources)." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Di tanggap na record sa talaksang pagtatangi, walang Package header" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Hindi naintindihan ang uri ng pin %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Walang prioridad (o sero) na nakatakda para sa pin" @@ -3005,7 +3031,7 @@ msgstr "Hindi ma-stat ang talaan ng pagkukunan ng pakete %s" msgid "Collecting File Provides" msgstr "Kinukuha ang Talaksang Provides" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "IO Error sa pag-imbak ng source cache" @@ -3018,8 +3044,8 @@ msgstr "pagpalit ng pangalan ay bigo, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "Di tugmang MD5Sum" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 #, fuzzy msgid "Hash Sum mismatch" msgstr "Di tugmang MD5Sum" @@ -3040,20 +3066,19 @@ msgstr "Hindi ma-parse ang talaksang pakete %s (1)" msgid "There is no public key available for the following key IDs:\n" msgstr "Walang public key na magamit para sa sumusunod na key ID:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3061,12 +3086,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3075,7 +3100,7 @@ msgstr "" "Hindi ko mahanap ang talaksan para sa paketeng %s. Maaaring kailanganin " "niyong ayusin ng de kamay ang paketeng ito. (dahil sa walang arch)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3084,7 +3109,7 @@ msgstr "" "Hindi ko mahanap ang talaksan para sa paketeng %s. Maaaring kailanganin " "niyong ayusin ng de kamay ang paketeng ito." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3092,7 +3117,7 @@ msgstr "" "Sira ang talaksang index ng mga pakete. Walang Filename: field para sa " "paketeng %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Di tugmang laki" @@ -3215,22 +3240,22 @@ msgstr "Sinusulat ang bagong listahan ng pagkukunan\n" msgid "Source list entries for this disc are:\n" msgstr "Mga nakatala sa Listahan ng Source para sa Disc na ito ay:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Nagsulat ng %i na record.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Nagsulat ng %i na record na may %i na talaksang kulang.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Nagsulat ng %i na record na may %i na talaksang mismatch\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3252,6 +3277,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Di tugmang MD5Sum" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "Ina-abort ang pag-instol." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-all\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2006-07-29 15:57+0300\n" "Last-Translator: Artem Bondarenko <artem.brz@gmail.com>\n" "Language-Team: УкраїнÑька <uk@li.org>\n" @@ -157,7 +157,7 @@ msgstr " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð²ÐµÑ€Ñій:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, fuzzy, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s Ð´Ð»Ñ %s %s Ñкомпільовано %s %s\n" @@ -847,7 +847,7 @@ msgstr "ПеревÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s неможливе, бо він не msgid "%s is already the newest version.\n" msgstr "Вже вÑтановлена найновіша верÑÑ–Ñ %s.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, fuzzy, c-format msgid "%s set to manually installed.\n" msgstr "але %s буде вÑтановлений" @@ -964,8 +964,8 @@ msgid "After this operation, %sB disk space will be freed.\n" msgstr "" "ПіÑÐ»Ñ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±'єм зайнÑтого диÑкового проÑтору зменшитьÑÑ Ð½Ð° %sB.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ вільного міÑÑ†Ñ Ð² %s" @@ -1004,7 +1004,7 @@ msgstr "Перервано." msgid "Do you want to continue [Y/n]? " msgstr "Бажаєте продовжити [Т/н]? " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ %s %s\n" @@ -1013,7 +1013,7 @@ msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ %s %s\n" msgid "Some files failed to download" msgstr "ДеÑкі файли не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Вказано режим \"тільки завантаженнÑ\", Ñ– Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¾" @@ -1051,31 +1051,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ атрибути переліку вихідних текÑтів%s" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Команді update не потрібні аргументи" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1093,16 +1093,16 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "ÐаÑтупна Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ допоможе Вам:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 #, fuzzy msgid "Internal Error, AutoRemover broke stuff" msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, вирішувач проблем вÑе поламав" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1112,7 +1112,7 @@ msgid_plural "" msgstr[0] "ÐОВІ пакунки були вÑтановлені автоматично Ñ– більше не потрібні:" msgstr[1] "ÐОВІ пакунки були вÑтановлені автоматично Ñ– більше не потрібні:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1120,21 +1120,21 @@ msgid_plural "" msgstr[0] "ÐОВІ пакунки були вÑтановлені автоматично Ñ– більше не потрібні:" msgstr[1] "ÐОВІ пакунки були вÑтановлені автоматично Ñ– більше не потрібні:" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "ВикориÑтовуйте 'apt-get autoremove' щоб видалити Ñ—Ñ…." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, AllUpgrade вÑе поламав" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" "Можливо, Ð´Ð»Ñ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ð¸Ñ… помилок Ви захочете ÑкориÑтатиÑÑ 'apt-get -f " "install':" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1142,7 +1142,7 @@ msgstr "" "Ðезадоволені залежноÑÑ‚Ñ–. Спробуйте виконати 'apt-get -f install', не " "вказуючи імені пакунка (або знайдіть інше рішеннÑ)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1153,82 +1153,82 @@ msgstr "" "або ж викориÑтаєте неÑтабільний диÑтрибутив, Ñ– запитані Вами пакунки\n" "ще не Ñтворені або були вилучені з Incoming." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Зламані пакунки" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Будуть вÑтановлені наÑтупні додаткові пакунки:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Пропоновані пакунки:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Рекомендовані пакунки:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Ðе можу знайти пакунок %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "але %s буде вÑтановлений" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "ОбчиÑÐ»ÐµÐ½Ð½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½ÑŒ... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Ðевдача" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Виконано" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°, вирішувач проблем вÑе поламав" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Ðеможливо заблокувати теку Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "" "Вкажіть Ñк мінімум один пакунок, Ð´Ð»Ñ Ñкого необхідно завантажити вихідні " "текÑти" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Ðеможливо знайти пакунок з вихідними текÑтами Ð´Ð»Ñ %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1236,82 +1236,97 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "ПропуÑкаємо вже завантажений файл '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "ÐедоÑтатньо міÑÑ†Ñ Ð² %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Ðеобхідно завантажити %sB/%sB з архівів вихідних текÑтів.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Потрібно завантажити %sB архівів з вихідними текÑтами.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… текÑтів %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "ДеÑкі архіви не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" "Ð Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ñ…Ñ–Ð´Ð½Ð¸Ñ… текÑтів пропущено, тому що в %s вже перебувають " "розпаковані вихідні текÑти\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Команда Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ '%s' завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Перевірте, чи вÑтановлений пакунок 'dpkg-dev'.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Команда побудови '%s' закінчилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Породжений Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð²ÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ залежноÑтей Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ необхідно вказати Ñк мінімум один " "пакунок" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Ðеможливо одержати інформацію про залежноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s не має залежноÑтей Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "" +"ЗалежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ %s не може бути задоволена, бо пакунок %s не знайдено" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " @@ -1319,46 +1334,54 @@ msgid "" msgstr "" "ЗалежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ %s не може бути задоволена, бо пакунок %s не знайдено" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Ðе вдалоÑÑ Ð·Ð°Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ залежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° %s: Ð’Ñтановлений " +"пакунок %s новіше, аніж треба" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "ЗалежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ %s не може бути задоволена, бо ні одна з верÑій " "пакунка %s не задовольнÑÑ” умови" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" msgstr "" -"Ðе вдалоÑÑ Ð·Ð°Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ залежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° %s: Ð’Ñтановлений " -"пакунок %s новіше, аніж треба" +"ЗалежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ %s не може бути задоволена, бо пакунок %s не знайдено" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Ðеможливо задовольнити залежніÑÑ‚ÑŒ типу %s Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° %s: %s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "ЗалежноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ %s не можуть бути задоволені." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Обробка залежноÑтей Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ закінчилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "З'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Підтримувані модулі:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1447,7 +1470,7 @@ msgstr "" "міÑÑ‚ÑÑ‚ÑŒ більше інформації.\n" " This APT has Super Cow Powers.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1761,8 +1784,8 @@ msgstr "Файл %s/%s перезапиÑує інший з пакету %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1794,7 +1817,7 @@ msgstr "Теки info Ñ– temp повинні бути на тій Ñамій Ñ„Ð #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ»Ñ–ÐºÑ–Ð² пакетів" @@ -2167,37 +2190,31 @@ msgstr "СталоÑÑ Ñ‰Ð¾ÑÑŒ дивне при Ñпробі отримати msgid "Unable to connect to %s:%s:" msgstr "Ðе можливо під'єднатиÑÑ Ð´Ð¾ %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "ПерериваєтьÑÑ Ð²ÑтановленнÑ." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "" "Ð’Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: Вірний Ð¿Ñ–Ð´Ð¿Ð¸Ñ (signature), але не можливо визначити його " "відбиток?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Знайдено Ñк мінімум один невірний підпиÑ." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "Ðеможливо виконати '%s' Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ підпиÑу, gpgv вÑтановлено?" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Ðевідома помилка Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Слідуючі підпиÑи були невірними:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2357,61 +2374,61 @@ msgstr "" msgid "Selection %s not found" msgstr "Вибір %s не знайдено" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Ðерозпізнаваний тип абревіатури: '%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "ВідкриваєтьÑÑ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð¸Ð¹ файл %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "СинтакÑова помилка %s:%u: Блок починаєтьÑÑ Ð±ÐµÐ· назви." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "СинтакÑова помилка %s:%u: Ñпотворений тег" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "СинтакÑова помилка %s:%u: зайві Ñимволи піÑÐ»Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð¸" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, fuzzy, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" "СинтакÑова помилка %s:%u: Директиви можуть бути виконані тільки на " "найвищому рівні" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "СинтакÑова помилка %s:%u: Забагато вмонтованих включень" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "СинтакÑова помилка %s:%u: Включена звідÑи" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "СинтакÑова помилка %s:%u: Директива '%s' не підтримуєтьÑÑ" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "СинтакÑова помилка %s:%u: Директиви можуть бути виконані тільки на " "найвищому рівні" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "СинтакÑова помилка %s:%u: зайві Ñимволи в кінці файла" @@ -2558,7 +2575,7 @@ msgstr "ÐŸÑ–Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s повернув код помилки (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "ÐŸÑ–Ð´Ð¿Ñ€Ð¾Ñ†ÐµÑ %s раптово завершивÑÑ" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Ðе можливо відкрити файл %s" @@ -2789,14 +2806,14 @@ msgstr "Спотворена Ð»Ñ–Ð½Ñ–Ñ %u у переліку джерел %s ( msgid "Type '%s' is not known on line %u in source list %s" msgstr "Ðевідомий тип '%s' в лінії %u в переліку джерел %s" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2808,7 +2825,7 @@ msgstr "" "погано, але Ñкщо Ви дійÑно бажаєте зробити це, активуйте параметр APT::Force-" "LoopBreak." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2840,7 +2857,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Ðеможливо уÑунути проблеми, Ви маєте поламані зафікÑовані пакунки." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2892,12 +2909,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" "Будь-лаÑка, вÑтавте диÑк з поміткою: '%s' в CD привід '%s' Ñ– натиÑніть Enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "СиÑтема Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ '%s' не підтримуєтьÑÑ" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Ðеможливо визначити тип необхідної ÑиÑтеми Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ " @@ -2922,17 +2939,24 @@ msgstr "Можливо, Ð´Ð»Ñ Ð²Ð¸Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ð¸Ñ… помилок Ви msgid "The list of sources could not be read." msgstr "Ðеможливо прочитати перелік джерел." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "Ðевірний Ð·Ð°Ð¿Ð¸Ñ Ð² preferences файлі, відÑутній заголовок Package" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Ðе зрозумів тип %s Ð´Ð»Ñ pin" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "Ðе вÑтановлено пріоритету (або вÑтановлено 0) Ð´Ð»Ñ pin" @@ -3023,7 +3047,7 @@ msgstr "Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ атрибути переліку msgid "Collecting File Provides" msgstr "Ð—Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— про файлів " -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Помилка IO під Ñ‡Ð°Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð¶ÐµÑ€ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ кешу" @@ -3036,8 +3060,8 @@ msgstr "Ðе вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸, %s (%s -> %s)." msgid "MD5Sum mismatch" msgstr "ÐевідповідніÑÑ‚ÑŒ MD5Sum" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 #, fuzzy msgid "Hash Sum mismatch" msgstr "ÐевідповідніÑÑ‚ÑŒ MD5Sum" @@ -3059,20 +3083,19 @@ msgstr "Ðеможливо обробити файл %s пакунку (1)" msgid "There is no public key available for the following key IDs:\n" msgstr "ВідÑутній публічний ключ Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ñ… ID ключа:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3080,12 +3103,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3094,7 +3117,7 @@ msgstr "" "Я не можу знайти файл Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÑƒ %s. Можливо, Ви захочете влаÑноруч " "виправити цей пакунок. (due to missing arch)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3103,14 +3126,14 @@ msgstr "" "Я не можу знайти файл Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÑƒ %s. Можливо, Ви захочете влаÑноруч " "виправити цей пакунок." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "" "ІндекÑні файли пакунків пошкоджені. Ðемає Ð¿Ð¾Ð»Ñ Filename Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÑƒ %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "ÐевідповідніÑÑ‚ÑŒ розміру" @@ -3231,22 +3254,22 @@ msgstr "ЗапиÑуєтьÑÑ Ð½Ð¾Ð²Ð¸Ð¹ перелік джерел\n" msgid "Source list entries for this disc are:\n" msgstr "Перелік джерел Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ диÑку:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "ЗапиÑано %i запиÑів.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "ЗапиÑано %i запиÑів з %i відÑутніми файлами.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "ЗапиÑано %i запиÑів з %i невідповідними файлам\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "ЗапиÑано %i запиÑів з %i відÑутніми Ñ– %i невідповідними файлами\n" @@ -3266,6 +3289,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "ÐевідповідніÑÑ‚ÑŒ MD5Sum" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "ПерериваєтьÑÑ Ð²ÑтановленнÑ." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.0~pre1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-09-29 21:36+0930\n" "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" @@ -155,7 +155,7 @@ msgstr " Bảng phiên bản:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s cho %s được biên dịch trên %s %s\n" @@ -858,7 +858,7 @@ msgstr "Không thể cà i đặt lại %s vì không thể tải vá» nó.\n" msgid "%s is already the newest version.\n" msgstr "%s là phiên bản mÆ¡i nhất.\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s được đặt thà nh « được cà i đặt bằng tay ».\n" @@ -973,8 +973,8 @@ msgstr "Sau thao tác nà y, %sB sức chứa Ä‘Ä©a thêm sẽ được chiếm.\ msgid "After this operation, %sB disk space will be freed.\n" msgstr "Sau thao tác nà y, %sB sức chứa Ä‘Ä©a thêm sẽ được giải phóng.\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "Không thể quyết định chá»— rảnh trong %s" @@ -1012,7 +1012,7 @@ msgstr "Hủy bá»." msgid "Do you want to continue [Y/n]? " msgstr "Bạn có muốn tiếp tục không? [C/k] " -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "Việc lấy %s bị lá»—i %s\n" @@ -1021,7 +1021,7 @@ msgstr "Việc lấy %s bị lá»—i %s\n" msgid "Some files failed to download" msgstr "Má»™t số táºp tin không tải vỠđược" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "Má»›i tải vá» xong và trong chế Ä‘á»™ chỉ tải vá»" @@ -1062,31 +1062,31 @@ msgstr[0] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "Ghi chú : thay đổi nà y được tá»± Ä‘á»™ng là m bởi dpkg." -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "Bá» qua bản phát hà nh Ä‘Ãch không sẵn sà ng « %s » của gói « %s »" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "Äang chá»n « %s » là m gói nguồn, thay cho « %s »\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "Bá» qua phiên bản không sẵn sà ng « %s » của gói « %s »" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "Lệnh cáºp nháºt không chấp nháºn đối số" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "Không nên xoá gì thì không thể khởi chạy Bá»™ Gỡ bá» Tá»± Ä‘á»™ng" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1104,15 +1104,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "Có lẽ thông tin theo đây sẽ giúp đỡ quyết định trÆ°á»ng hợp:" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "Lá»—i ná»™i bá»™ : Bá»™ Gỡ bá» Tá»± Ä‘á»™ng đã là m hÆ° gì." -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1121,26 +1121,26 @@ msgid_plural "" msgstr[0] "" "Gói nà o theo đây đã được tá»± Ä‘á»™ng cà i đặt nên không còn cần thiết lại:" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" "%lu packages were automatically installed and are no longer required.\n" msgstr[0] "%lu gói đã được tá»± Ä‘á»™ng cà i đặt nên không còn cần thiết lại.\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "Hãy sá» dụng lệnh « apt-get autoremove » để gỡ bá» chúng." -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "Lá»—i ná»™i bá»™: AllUpgrade (toà n bá»™ nâng cấp) đã ngắt gì" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "Có lẽ bạn hãy chạy lênh « apt-get -f install » để sá»a hết:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1148,7 +1148,7 @@ msgstr "" "Gói còn phụ thuá»™c và o phần má»m chÆ°a có. Hãy cố chạy lệnh « apt-get -f " "install » mà không có gói nà o (hoặc ghi rõ cách quyết định)." -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1160,73 +1160,73 @@ msgstr "" "bất định, có lẽ chÆ°a tạo má»™t số gói cần thiết,\n" "hoặc chÆ°a di chuyển chúng ra phần Incoming (Äến)." -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "Gói bị há»ng" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "Những gói thêm theo đây sẽ được cà i đặt:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "Gói Ä‘á» nghị:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "Gói khuyến khÃch:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "Không tìm thấy gói %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s được láºp thà nh « được tá»± Ä‘á»™ng cà i đặt ».\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "Äang tÃnh bÆ°á»›c nâng cấp... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "Bị lá»—i" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "Hoà n tất" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "Lá»—i ná»™i bá»™ : bá»™ tháo gỡ vấn đỠđã ngắt gì" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "Không thể khoá thÆ° mục tải vá»" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "Phải ghi rõ Ãt nhất má»™t gói cho đó cần lấy mã nguồn" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "Không tìm thấy gói nguồn cho %s" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1236,7 +1236,7 @@ msgstr "" "bản « %s » tại:\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1247,124 +1247,145 @@ msgstr "" "bzr get %s\n" "để lấy các bản cáºp nháºt gói má»›i nhất (có thể là chÆ°a phát hà nh).\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "Äang bá» qua táºp tin đã được tải vỠ« %s »\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "Không đủ sức chứa còn rảnh trong %s" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "Cần phải lấy %sB/%sB kho nguồn.\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "Cần phải lấy %sB kho nguồn.\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "Lấy nguồn %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "Việc lấy má»™t số kho bị lá»—i." -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "Äang bá» qua giải nén nguồn đã giải nén trong %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "Lệnh giải nén « %s » bị lá»—i.\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "Hãy kiểm tra xem gói « dpkg-dev » có được cà i đặt chÆ°a.\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "Lệnh xây dụng « %s » bị lá»—i.\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "Tiến trình con bị lá»—i" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "" "Phải ghi rõ Ãt nhất má»™t gói cần kiểm tra cách phụ thuá»™c khi xây dụng cho nó" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "Không thể lấy thông tin vá» cách phụ thuá»™c khi xây dụng cho %s" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s không phụ thuá»™c và o gì khi xây dụng.\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "cách phụ thuá»™c %s cho %s không thể được thá»a vì không tìm thấy gá»i %s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "cách phụ thuá»™c %s cho %s không thể được thá»a vì không tìm thấy gá»i %s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "" +"Việc cố thá»a cách phụ thuá»™c %s cho %s bị lá»—i vì gói đã cà i đặt %s quá má»›i" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "cách phụ thuá»™c %s cho %s không thể được thá»a vì không có phiên bản sẵn sà ng " "của gói %s có thể thá»a Ä‘iá»u kiện phiên bản." -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "" -"Việc cố thá»a cách phụ thuá»™c %s cho %s bị lá»—i vì gói đã cà i đặt %s quá má»›i" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "cách phụ thuá»™c %s cho %s không thể được thá»a vì không tìm thấy gá»i %s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "Việc cố thá»a cách phụ thuá»™c %s cho %s bị lá»—i: %s." -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "Không thể thá»a cách phụ thuá»™c khi xây dụng cho %s." -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "Việc xá» lý cách phụ thuá»™c khi xây dụng bị lá»—i" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "Äang kết nối đến %s (%s)..." -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "Mô-Ä‘un đã há»— trợ :" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1460,7 +1481,7 @@ msgstr "" "sources.list(5) và apt.conf(5).\n" " Trình APT nà y có năng lá»±c của siêu bò.\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1774,8 +1795,8 @@ msgstr "Táºp tin %s/%s ghi đè lên Ä‘iá»u trong gói %s" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1809,7 +1830,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "Äang Ä‘á»c các danh sách gói..." @@ -2179,35 +2200,29 @@ msgstr "Gặp lá»—i nghiệm trá»ng khi tháo gỡ « %s:%s » (%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "Không thể kết nối đến %s: %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "Không có vòng khoá nà o được cà i đặt và o %s." - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "Lá»—i ná»™i bá»™ : chữ ký đúng, nhÆ°ng không thể quyết định vân tay khóa ?!" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "Gặp Ãt nhất má»™t chữ ký không hợp lệ." -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "" "Không thể thá»±c hiện « gpgv » để thẩm tra chữ ký (gpgv có được cà i đặt chÆ°a?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "Gặp lá»—i không rõ khi thá»±c hiện gpgv" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "Những chữ ký theo đây vẫn không hợp lệ:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2370,58 +2385,58 @@ msgstr "%ligiây" msgid "Selection %s not found" msgstr "Không tìm thấy vùng chá»n %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "Không nháºn biết viết tắt kiểu: « %c »" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "Äang mở táºp tin cấu hình %s..." -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "Gặp lá»—i cú pháp %s:%u: khối bắt đầu không có tên." -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "Gặp lá»—i cú pháp %s:%u: thẻ dạng sai" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "Gặp lá»—i cú pháp %s:%u: có rác thêm sau giá trị" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "Gặp lá»—i cú pháp %s:%u: có thể thá»±c hiện chỉ thị chỉ tại mức đầu" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "Gặp lá»—i cú pháp %s:%u: quá nhiá»u Ä‘iá»u bao gồm lồng nhau" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "Gặp lá»—i cú pháp %s:%u: đã bao gồm từ đây" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "Gặp lá»—i cú pháp %s:%u: chÆ°a há»— trợ chỉ thị « %s »" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" "Gặp lá»—i cú pháp %s:%u: chỉ thị rõ thì yêu cầu má»™t cây tuỳ chá»n là m đối số" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "Gặp lá»—i cú pháp %s:%u: gặp rác thêm tại kết thúc táºp tin" @@ -2564,7 +2579,7 @@ msgstr "Tiến trình phụ %s đã trả lá»i mã lá»—i (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "Tiến trình phụ %s đã thoát bất thÆ°á»ng" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "Không thể mở táºp tin %s" @@ -2801,7 +2816,7 @@ msgstr "Gặp dòng dạng sai %u trong danh sách nguồn %s (kiểu)." msgid "Type '%s' is not known on line %u in source list %s" msgstr "Không biết kiểu « %s » trên dòng %u trong danh sách nguồn %s." -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2810,7 +2825,7 @@ msgstr "" "Không thể thá»±c hiện ngay láºp tức tiến trình cấu hình « %s ». Xem « man 5 apt." "conf » dÆ°á»›i « APT::Immediate-Configure » để tìm chi tiết. (%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2822,7 +2837,7 @@ msgstr "" "bạn tháºt sá»± muốn tiếp tục, có thể hoạt hóa tuy chá»n « APT::Force-LoopBreak " "» (buá»™c ngắt vòng lặp)." -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2854,7 +2869,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "Không thể sá»a vấn Ä‘á», bạn đã giữ lại má»™t số gói bị ngắt." -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2905,12 +2920,12 @@ msgstr "PhÆ°Æ¡ng pháp %s đã không bắt đầu cho đúng." msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "Hãy nạp Ä‘Ä©a có nhãn « %s » và o ổ « %s » và bấm nút Enter." -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "Không há»— trợ hệ thống đóng gói « %s »" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "Không thể quyết định kiểu hệ thống đóng gói thÃch hợp" @@ -2938,18 +2953,25 @@ msgstr "" msgid "The list of sources could not be read." msgstr "Không thể Ä‘á»c danh sách nguồn." -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" "Gặp mục ghi sai trong táºp tin tùy thÃch %s: không có dòng đầu Package (Gói)." -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "Không hiểu kiểu ghim %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "ChÆ°a ghi rõ Æ°u tiên (hay số không) cho ghim" @@ -3040,7 +3062,7 @@ msgstr "Không thể lấy các thông tin vá» danh sách gói nguồn %s" msgid "Collecting File Provides" msgstr "Äang táºp hợp các trÆ°á»ng hợp « táºp tin miá»…n là »" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "Lá»—i nháºp/xuất khi lÆ°u bá»™ nhá»› tạm nguồn" @@ -3053,8 +3075,8 @@ msgstr "việc thay đổi tên bị lá»—i, %s (%s → %s)." msgid "MD5Sum mismatch" msgstr "Sai khá»›p MD5Sum (tổng kiểm)" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Sai khá»›p tổng chuá»—i duy nhất (hash sum)" @@ -3074,20 +3096,19 @@ msgstr "Không thể phân tÃch cú pháp của táºp tin Phát hà nh %s" msgid "There is no public key available for the following key IDs:\n" msgstr "Không có khóa công sẵn sà ng cho những mã số khoá theo đây:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Táºp tin phát hà nh đã hết hạn nên bá» qua %s (không hợp lệ kể từ %s)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "Bản phát hà nh xung Ä‘á»™t: %s (mong đợi %s còn nháºn %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3098,12 +3119,12 @@ msgstr "" "Lá»—i GPG: %s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "Lá»—i GPG: %s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3112,7 +3133,7 @@ msgstr "" "Không tìm thấy táºp tin liên quan đến gói %s. Có lẽ bạn cần phải tá»± sá»a gói " "nà y, do thiếu kiến trúc." -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3121,7 +3142,7 @@ msgstr "" "Không tìm thấy táºp tin liên quan đến gói %s. Có lẽ bạn cần phải tá»± sá»a gói " "nà y." -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." @@ -3129,7 +3150,7 @@ msgstr "" "Các táºp tin chỉ mục của gói nà y bị há»ng. Không có trÆ°á»ng Filename: (Tên táºp " "tin:) cho gói %s." -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "Sai khá»›p kÃch cỡ" @@ -3255,22 +3276,22 @@ msgstr "Äang ghi danh sách nguồn má»›i\n" msgid "Source list entries for this disc are:\n" msgstr "Các mục nháºp danh sách nguồn cho Ä‘Ä©a nà y:\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "Má»›i ghi %i mục ghi.\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "Má»›i ghi %i mục ghi vá»›i %i táºp tin còn thiếu.\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "Má»›i ghi %i mục ghi vá»›i %i táºp tin không khá»›p vá»›i nhau\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" @@ -3292,6 +3313,17 @@ msgstr "Không tìm thấy mục ghi xác thá»±c cho : %s" msgid "Hash mismatch for: %s" msgstr "Sai khá»›p chuá»—i duy nhất cho : %s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "Không có vòng khoá nà o được cà i đặt và o %s." + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3541,3 +3573,6 @@ msgstr "Kết nối bị đóng quá sá»›m." #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "Gặp lá»—i ná»™i bá»™, nhóm « %s » không có gói giả có thể cà i đặt" + +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Táºp tin phát hà nh đã hết hạn nên bá» qua %s (không hợp lệ kể từ %s)" diff --git a/po/zh_CN.po b/po/zh_CN.po index c1888ac03..0ae36fef2 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.0~pre1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2010-08-26 14:42+0800\n" "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" @@ -156,7 +156,7 @@ msgstr " 版本列表:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s,用于 %s 构架,编译于 %s %s\n" @@ -828,7 +828,7 @@ msgstr "ä¸èƒ½é‡æ–°å®‰è£… %sï¼Œå› ä¸ºæ— æ³•ä¸‹è½½å®ƒã€‚\n" msgid "%s is already the newest version.\n" msgstr "%s å·²ç»æ˜¯æœ€æ–°çš„版本了。\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s 被设置为手动安装。\n" @@ -940,8 +940,8 @@ msgstr "解压缩åŽä¼šæ¶ˆè€—掉 %sB çš„é¢å¤–空间。\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "解压缩åŽå°†ä¼šç©ºå‡º %sB 的空间。\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "æ— æ³•èŽ·çŸ¥æ‚¨åœ¨ %s 上的å¯ç”¨ç©ºé—´" @@ -978,7 +978,7 @@ msgstr "ä¸æ¢æ‰§è¡Œã€‚" msgid "Do you want to continue [Y/n]? " msgstr "您希望继ç»æ‰§è¡Œå—?[Y/n]" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "æ— æ³•ä¸‹è½½ %s %s\n" @@ -987,7 +987,7 @@ msgstr "æ— æ³•ä¸‹è½½ %s %s\n" msgid "Some files failed to download" msgstr "æœ‰ä¸€äº›æ–‡ä»¶æ— æ³•ä¸‹è½½" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "下载完毕,目å‰æ˜¯â€œä»…下载â€æ¨¡å¼" @@ -1024,31 +1024,31 @@ msgstr[0] "ä»¥ä¸‹è½¯ä»¶åŒ…å› ä¸ºæ–‡ä»¶å·²è¢«å…¶ä»–è½¯ä»¶åŒ…è¦†ç›–è€Œæ¶ˆå¤±ï¼š" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "注æ„:这是自动被 dpkg 有æ„完æˆçš„。" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "忽略ä¸å¯ç”¨çš„软件包 %2$s çš„ç›®æ ‡å‘行版本 %1$s" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "选择 %s 作为æºä»£ç åŒ…è€Œéž %s\n" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "忽略ä¸å¯ç”¨çš„ %2$s 软件包的 %1$s 版" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr " update 命令ä¸éœ€è¦å‚æ•°" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "我们ä¸åº”è¯¥è¿›è¡Œåˆ é™¤ï¼Œæ— æ³•å¯åŠ¨è‡ªåŠ¨åˆ 除器" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1064,15 +1064,15 @@ msgstr "似乎自动å¸è½½å·¥å…·æŸå了一些软件,这ä¸åº”该å‘生。请 #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "下列信æ¯å¯èƒ½ä¼šå¯¹è§£å†³é—®é¢˜æœ‰æ‰€å¸®åŠ©ï¼š" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "内部错误,自动å¸è½½å·¥å…·å事了" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -1080,26 +1080,26 @@ msgid_plural "" "required:" msgstr[0] "下列软件包是自动安装的并且现在ä¸éœ€è¦äº†ï¼š" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" "%lu packages were automatically installed and are no longer required.\n" msgstr[0] "%lu 个自动安装的的软件包现在已ä¸å†éœ€è¦äº†ã€‚\n" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "使用'apt-get autoremove'æ¥å¸è½½å®ƒä»¬" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "内部错误,全部å‡çº§å·¥å…·å事了" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "您å¯èƒ½éœ€è¦è¿è¡Œâ€œapt-get -f installâ€æ¥çº æ£ä¸‹åˆ—错误:" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1107,7 +1107,7 @@ msgstr "" "有未能满足的ä¾èµ–关系。请å°è¯•ä¸æŒ‡æ˜Žè½¯ä»¶åŒ…çš„åå—æ¥è¿è¡Œâ€œapt-get -f installâ€(也å¯" "以指定一个解决办法)。" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1118,73 +1118,73 @@ msgstr "" "å› ä¸ºç³»ç»Ÿæ— æ³•è¾¾åˆ°æ‚¨è¦æ±‚的状æ€é€ æˆçš„。该版本ä¸å¯èƒ½ä¼šæœ‰ä¸€äº›æ‚¨éœ€è¦çš„软件\n" "包尚未被创建或是它们已被从新到(Incoming)目录移出。" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "ç ´æŸçš„软件包" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "将会安装下列é¢å¤–的软件包:" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "建议安装的软件包:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "推è安装的软件包:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "æ— æ³•æ‰¾åˆ°è½¯ä»¶åŒ… %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "%s 被设置为手动安装。\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "æ£åœ¨å¯¹å‡çº§è¿›è¡Œè®¡ç®—... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "失败" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "完æˆ" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "内部错误,问题解决工具å事了" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "æ— æ³•é”定下载目录" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "è¦ä¸‹è½½æºä»£ç ,必须指定至少一个对应的软件包" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "æ— æ³•æ‰¾åˆ°ä¸Ž %s 对应的æºä»£ç 包" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" @@ -1193,7 +1193,7 @@ msgstr "" "æ示:%s 的打包工作被维护于以下ä½ç½®çš„ %s 版本控制系统ä¸ï¼š\n" "%s\n" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1204,122 +1204,143 @@ msgstr "" "bzr get %s\n" "获得该软件包的最近更新(å¯èƒ½å°šæœªæ£å¼å‘布)。\n" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "忽略已下载过的文件“%sâ€\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "您在 %s 上没有足够的å¯ç”¨ç©ºé—´" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "需è¦ä¸‹è½½ %sB/%sB çš„æºä»£ç 包。\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "需è¦ä¸‹è½½ %sB çš„æºä»£ç 包。\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "下载æºä»£ç %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "æœ‰ä¸€äº›åŒ…æ–‡ä»¶æ— æ³•ä¸‹è½½ã€‚" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "忽略已ç»è¢«è§£åŒ…到 %s 目录的æºä»£ç 包\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "è¿è¡Œè§£åŒ…的命令“%sâ€å‡ºé”™ã€‚\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "请检查是å¦å®‰è£…了“dpkg-devâ€è½¯ä»¶åŒ…。\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "æ‰§è¡Œæž„é€ è½¯ä»¶åŒ…å‘½ä»¤â€œ%sâ€å¤±è´¥ã€‚\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "å进程出错" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "è¦æ£€æŸ¥ç”Ÿæˆè½¯ä»¶åŒ…的构建ä¾èµ–关系,必须指定至少一个软件包" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "æ— æ³•èŽ·å¾— %s 的构建ä¾èµ–关系信æ¯" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr " %s 没有构建ä¾èµ–关系信æ¯ã€‚\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "ç”±äºŽæ— æ³•æ‰¾åˆ°è½¯ä»¶åŒ… %3$s ï¼Œå› æ¤ä¸èƒ½æ»¡è¶³ %2$s 所è¦æ±‚çš„ %1$s ä¾èµ–关系" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "ç”±äºŽæ— æ³•æ‰¾åˆ°è½¯ä»¶åŒ… %3$s ï¼Œå› æ¤ä¸èƒ½æ»¡è¶³ %2$s 所è¦æ±‚çš„ %1$s ä¾èµ–关系" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "æ— æ³•æ»¡è¶³ %2$s 所è¦æ±‚ %1$s ä¾èµ–关系:已安装的软件包 %3$s 太新" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "ç”±äºŽæ— æ³•æ‰¾åˆ°ç¬¦åˆè¦æ±‚的软件包 %3$s çš„å¯ç”¨ç‰ˆæœ¬ï¼Œå› æ¤ä¸èƒ½æ»¡è¶³ %2$s 所è¦æ±‚çš„ " "%1$s ä¾èµ–关系" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "æ— æ³•æ»¡è¶³ %2$s 所è¦æ±‚ %1$s ä¾èµ–关系:已安装的软件包 %3$s 太新" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "ç”±äºŽæ— æ³•æ‰¾åˆ°è½¯ä»¶åŒ… %3$s ï¼Œå› æ¤ä¸èƒ½æ»¡è¶³ %2$s 所è¦æ±‚çš„ %1$s ä¾èµ–关系" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "æ— æ³•æ»¡è¶³ %2$s 所è¦æ±‚ %1$s ä¾èµ–关系:%3$s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "ä¸èƒ½æ»¡è¶³è½¯ä»¶åŒ… %s 所è¦æ±‚的构建ä¾èµ–关系。" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "æ— æ³•å¤„ç†æž„建ä¾èµ–关系" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "æ£åœ¨è¿žæŽ¥ %s (%s)" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "支æŒçš„模å—:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1407,7 +1428,7 @@ msgstr "" "以获å–更多信æ¯å’Œé€‰é¡¹ã€‚\n" " 本 APT 具有超级牛力。\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1716,8 +1737,8 @@ msgstr "文件 %s/%s 会覆盖属于软件包 %s ä¸çš„åŒå文件" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1749,7 +1770,7 @@ msgstr "info å’Œ temp 目录è¦æ±‚处于åŒä¸€æ–‡ä»¶ç³»ç»Ÿä¹‹ä¸‹" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "æ£åœ¨è¯»å–软件包列表" @@ -2115,34 +2136,28 @@ msgstr "解æžâ€œ%s:%sâ€æ—¶ï¼Œå‡ºçŽ°äº†æŸäº›æ•…éšœ(%i - %s)" msgid "Unable to connect to %s:%s:" msgstr "ä¸èƒ½è¿žæŽ¥åˆ° %s:%s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, c-format -msgid "No keyring installed in %s." -msgstr "%s ä¸æ²¡æœ‰å®‰è£…密钥环。" - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "内部错误:ç¾åæ£ç¡®æ— è¯¯ï¼Œä½†æ˜¯æ— æ³•ç¡®è®¤å¯†é’¥æŒ‡çº¹ï¼Ÿï¼" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "至少å‘çŽ°ä¸€ä¸ªæ— æ•ˆçš„ç¾å。" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "æ— æ³•è¿è¡Œ gpgv 以验è¯ç¾å(您安装了 gpgv å—?)" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "è¿è¡Œ gpgv æ—¶å‘生未知错误" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "下列ç¾åæ— æ•ˆï¼š\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2297,57 +2312,57 @@ msgstr "%li秒" msgid "Selection %s not found" msgstr "找ä¸åˆ°æ‚¨é€‰åˆ™çš„ %s" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "æ— æ³•è¯†åˆ«çš„ç±»åž‹ç¼©å†™ï¼šâ€œ%câ€" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "æ£åœ¨æ‰“å¼€é…置文件 %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "è¯æ³•é”™è¯¯ %s:%u:é…ç½®å°èŠ‚没有以åå—开头" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "è¯æ³•é”™è¯¯ %s:%uï¼šæ ‡ç¾æ ¼å¼æœ‰è¯¯" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "è¯æ³•é”™è¯¯ %s:%u:é…置值åŽæœ‰å¤šä½™çš„æ— æ„义数æ®" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "è¯æ³•é”™è¯¯ %s:%u:åªèƒ½åœ¨é¡¶å±‚é…置文件ä¸ä½¿ç”¨æŒ‡ç¤º" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "è¯æ³•é”™è¯¯ %s:%u:太多的嵌套 include 命令" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "è¯æ³•é”™è¯¯ %s:%u:Included from here" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "è¯æ³•é”™è¯¯ %s:%u:ä¸æ”¯æŒçš„指令“%sâ€" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "è¯æ³•é”™è¯¯ %s:%u:clean 指令需è¦ä¸€ä¸ªé€‰é¡¹æ ‘作为å‚æ•°" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "è¯æ³•é”™è¯¯ %s:%uï¼šæ–‡ä»¶å°¾éƒ¨æœ‰å¤šä½™çš„æ— æ„义的数æ®" @@ -2490,7 +2505,7 @@ msgstr "å进程 %s è¿”å›žäº†ä¸€ä¸ªé”™è¯¯å· (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "å进程 %s 异常退出" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "æ— æ³•æ‰“å¼€æ–‡ä»¶ %s" @@ -2717,7 +2732,7 @@ msgstr "在æºåˆ—表 %2$s ä¸ç¬¬ %1$u è¡Œçš„æ ¼å¼æœ‰è¯¯(类型)" msgid "Type '%s' is not known on line %u in source list %s" msgstr "æ— æ³•è¯†åˆ«åœ¨æºåˆ—表 %3$s 里,第 %2$u è¡Œä¸çš„软件包类别“%1$sâ€" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " @@ -2726,7 +2741,7 @@ msgstr "" "æ— æ³•ç«‹å³å¯¹ %s 进行é…置。请查看 man 5 apt.conf ä¸çš„ APT::Immediate-Configure " "(%d)" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2737,7 +2752,7 @@ msgstr "" "少的软件包 %s。通常并ä¸å»ºè®®è¿™æ ·åšï¼Œä½†æ˜¯å¦‚果您确实希望如æ¤ï¼Œå¯ä»¥æ‰“å¼€ APT::" "Force-LoopBreak 选项。" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2771,7 +2786,7 @@ msgstr "" "æ— æ³•ä¿®æ£é”™è¯¯ï¼Œå› 为您è¦æ±‚æŸäº›è½¯ä»¶åŒ…ä¿æŒçŽ°çŠ¶ï¼Œå°±æ˜¯å®ƒä»¬ç ´å了软件包间的ä¾èµ–å…³" "系。" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2821,12 +2836,12 @@ msgstr "获å–è½¯ä»¶åŒ…çš„æ¸ é“ %s 所需的驱动程åºæ²¡æœ‰æ£å¸¸å¯åŠ¨ã€‚" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "è¯·æŠŠæ ‡æœ‰â€œ%sâ€çš„盘片æ’入驱动器“%sâ€å†æŒ‰å›žè½¦é”®ã€‚" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "ä¸æ”¯æŒâ€œ%sâ€æ‰“包系统" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "æ— æ³•ç¡®å®šé€‚åˆçš„打包系统类型" @@ -2851,17 +2866,24 @@ msgstr "您å¯èƒ½éœ€è¦è¿è¡Œ apt-get update æ¥è§£å†³è¿™äº›é—®é¢˜" msgid "The list of sources could not be read." msgstr "æ— æ³•è¯»å–æºåˆ—表。" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "首选项文件 %s ä¸å‘çŽ°æœ‰æ— æ•ˆçš„è®°å½•ï¼Œæ— Package å—段头" -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "æ— æ³•è¯†åˆ«é”定的类型 %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "没有为版本é”定指定优先级(或为零)" @@ -2950,7 +2972,7 @@ msgstr "æ— æ³•èŽ·å–æºè½¯ä»¶åŒ…列表 %s 的状æ€" msgid "Collecting File Provides" msgstr "æ£åœ¨æ”¶é›†æ–‡ä»¶æ‰€æ供的软件包" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "æ— æ³•è¯»å–或写入软件æºç¼“å˜" @@ -2963,8 +2985,8 @@ msgstr "æ— æ³•é‡å‘½å文件,%s (%s -> %s)。" msgid "MD5Sum mismatch" msgstr "MD5 æ ¡éªŒå’Œä¸ç¬¦" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hash æ ¡éªŒå’Œä¸ç¬¦" @@ -2984,20 +3006,19 @@ msgstr "æ— æ³•è§£æžè½¯ä»¶åŒ…仓库 Release 文件 %s" msgid "There is no public key available for the following key IDs:\n" msgstr "以下 ID 的密钥没有å¯ç”¨çš„公钥:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 +#: apt-pkg/acquire-item.cc:1477 #, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Release 文件已过期,忽略 %s (从 %s èµ·æ— æ•ˆ)" +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "冲çªçš„å‘行版:%s (期望 %s 但得到 %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -3006,12 +3027,12 @@ msgstr "" "æ ¡éªŒç¾å出错。æ¤ä»“库未被更新,ä»ç„¶ä½¿ç”¨ä»¥å‰çš„索引文件。GPG 错误:%s: %s\n" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "GPG 错误:%s: %s" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3020,7 +3041,7 @@ msgstr "" "æˆ‘æ— æ³•æ‰¾åˆ°ä¸€ä¸ªå¯¹åº” %s 软件包的文件。在这ç§æƒ…况下å¯èƒ½éœ€è¦æ‚¨æ‰‹åŠ¨ä¿®æ£è¿™ä¸ªè½¯ä»¶" "包。(缘于架构缺失)" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3028,13 +3049,13 @@ msgid "" msgstr "" "æˆ‘æ— æ³•æ‰¾åˆ°å¯¹åº” %s 软件包的文件。在这ç§æƒ…况下您å¯èƒ½éœ€è¦æ‰‹åŠ¨ä¿®æ£è¿™ä¸ªè½¯ä»¶åŒ…。" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "软件包的索引文件已æŸå。找ä¸åˆ°å¯¹åº”软件包 %s çš„ Filename: å—段。" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "大å°ä¸ç¬¦" @@ -3158,22 +3179,22 @@ msgstr "æ£åœ¨å†™å…¥æ–°çš„æºåˆ—表\n" msgid "Source list entries for this disc are:\n" msgstr "对应于该盘片的软件æºè®¾ç½®é¡¹æ˜¯ï¼š\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "已写入 %i æ¡è®°å½•ã€‚\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "已写入 %i æ¡è®°å½•ï¼Œå¹¶æœ‰ %i 个文件缺失。\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "已写入 %i æ¡è®°å½•ï¼Œå¹¶æœ‰ %i 个文件ä¸åŒ¹é…\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "已写入 %i æ¡è®°å½•ï¼Œå¹¶æœ‰ %i ä¸ªç¼ºå¤±ï¼Œä»¥åŠ %i 个文件ä¸åŒ¹é…\n" @@ -3193,6 +3214,17 @@ msgstr "æ— æ³•æ‰¾åˆ°è®¤è¯è®°å½•ï¼š%s" msgid "Hash mismatch for: %s" msgstr "Hash æ ¡éªŒå’Œä¸ç¬¦ï¼š%s" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, c-format +msgid "No keyring installed in %s." +msgstr "%s ä¸æ²¡æœ‰å®‰è£…密钥环。" + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3428,6 +3460,9 @@ msgstr "连接被永久关é—" #~ msgid "Internal error, group '%s' has no installable pseudo package" #~ msgstr "内部错误,组 %s 没有å¯å®‰è£…çš„ pseudo 软件包" +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Release 文件已过期,忽略 %s (从 %s èµ·æ— æ•ˆ)" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "错误:Acquire::gpgv::Options çš„å‚数列表太长。结æŸè¿è¡Œã€‚" diff --git a/po/zh_TW.po b/po/zh_TW.po index f664e8ee1..dcac41019 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.5.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-05 13:23+0100\n" +"POT-Creation-Date: 2011-07-26 12:05+0200\n" "PO-Revision-Date: 2009-01-28 10:41+0800\n" "Last-Translator: Tetralet <tetralet@gmail.com>\n" "Language-Team: Debian-user in Chinese [Big5] <debian-chinese-big5@lists." @@ -157,7 +157,7 @@ msgstr " 版本列表:" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3122 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "%s %s 是用於 %s 並在 %s %s 上編è¯çš„\n" @@ -828,7 +828,7 @@ msgstr "無法é‡æ–°å®‰è£ %sï¼Œå› ç‚ºå®ƒç„¡æ³•ä¸‹è¼‰ã€‚\n" msgid "%s is already the newest version.\n" msgstr "%s 已經是最新版本了。\n" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "%s 被è¨å®šç‚ºæ‰‹å‹•å®‰è£ã€‚\n" @@ -940,8 +940,8 @@ msgstr "æ¤æ“作完æˆä¹‹å¾Œï¼Œæœƒå¤šä½”用 %sB çš„ç£ç¢Ÿç©ºé–“。\n" msgid "After this operation, %sB disk space will be freed.\n" msgstr "æ¤æ“作完æˆä¹‹å¾Œï¼Œæœƒç©ºå‡º %sB çš„ç£ç¢Ÿç©ºé–“。\n" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 -#: cmdline/apt-get.cc:2495 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 +#: cmdline/apt-get.cc:2502 #, c-format msgid "Couldn't determine free space in %s" msgstr "ç„¡æ³•ç¢ºèª %s 的未使用空間" @@ -978,7 +978,7 @@ msgstr "放棄執行。" msgid "Do you want to continue [Y/n]? " msgstr "是å¦ç¹¼çºŒé€²è¡Œ [Y/n]?" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1410 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "無法å–å¾— %s,%s\n" @@ -987,7 +987,7 @@ msgstr "無法å–å¾— %s,%s\n" msgid "Some files failed to download" msgstr "有部份檔案無法下載" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 msgid "Download complete and in download only mode" msgstr "下載完æˆï¼Œä¸”這是『僅下載ã€æ¨¡å¼" @@ -1025,31 +1025,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1497 +#: cmdline/apt-get.cc:1505 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1529 +#: cmdline/apt-get.cc:1537 #, fuzzy, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "無法å–得來æºå¥—件列表 %s 的狀態" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1567 +#: cmdline/apt-get.cc:1575 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1583 +#: cmdline/apt-get.cc:1591 msgid "The update command takes no arguments" msgstr "update 指令ä¸éœ€ä»»ä½•åƒæ•¸" -#: cmdline/apt-get.cc:1645 +#: cmdline/apt-get.cc:1653 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "我們沒有計劃è¦åˆªé™¤ä»»ä½•æ±è¥¿ï¼Œç„¡æ³•å•Ÿå‹• AutoRemover" -#: cmdline/apt-get.cc:1740 +#: cmdline/apt-get.cc:1748 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -1067,15 +1067,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 +#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 msgid "The following information may help to resolve the situation:" msgstr "以下的資訊或許有助於解決當å‰çš„情æ³ï¼š" -#: cmdline/apt-get.cc:1747 +#: cmdline/apt-get.cc:1755 msgid "Internal Error, AutoRemover broke stuff" msgstr "內部錯誤,AutoRemover 處ç†å¤±æ•—" -#: cmdline/apt-get.cc:1754 +#: cmdline/apt-get.cc:1762 #, fuzzy msgid "" "The following package was automatically installed and is no longer required:" @@ -1085,7 +1085,7 @@ msgid_plural "" msgstr[0] "以下套件是被自動安è£é€²ä¾†çš„,且已ä¸å†æœƒè¢«ç”¨åˆ°äº†ï¼š" msgstr[1] "以下套件是被自動安è£é€²ä¾†çš„,且已ä¸å†æœƒè¢«ç”¨åˆ°äº†ï¼š" -#: cmdline/apt-get.cc:1758 +#: cmdline/apt-get.cc:1766 #, fuzzy, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -1093,19 +1093,19 @@ msgid_plural "" msgstr[0] "以下套件是被自動安è£é€²ä¾†çš„,且已ä¸å†æœƒè¢«ç”¨åˆ°äº†ï¼š" msgstr[1] "以下套件是被自動安è£é€²ä¾†çš„,且已ä¸å†æœƒè¢«ç”¨åˆ°äº†ï¼š" -#: cmdline/apt-get.cc:1760 +#: cmdline/apt-get.cc:1768 msgid "Use 'apt-get autoremove' to remove them." msgstr "使用 'apt-get autoremove' 來將其移除。" -#: cmdline/apt-get.cc:1779 +#: cmdline/apt-get.cc:1787 msgid "Internal error, AllUpgrade broke stuff" msgstr "內部錯誤,AllUpgrade é€ æˆäº†æ壞" -#: cmdline/apt-get.cc:1878 +#: cmdline/apt-get.cc:1886 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "您也許得執行 'apt-get -f install' 以修æ£é€™äº›å•é¡Œï¼š" -#: cmdline/apt-get.cc:1882 +#: cmdline/apt-get.cc:1890 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." @@ -1113,7 +1113,7 @@ msgstr "" "未能滿足相ä¾é—œä¿‚。請試著ä¸æŒ‡å®šå¥—件來執行 'apt-get -f install'(或採å–其它的解" "決方案)。" -#: cmdline/apt-get.cc:1898 +#: cmdline/apt-get.cc:1906 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1123,80 +1123,80 @@ msgstr "" "有些套件無法安è£ã€‚這å¯èƒ½æ„謂著您的è¦æ±‚難以解決,或是若您使用的是\n" "unstable 發行版,å¯èƒ½æœ‰äº›å¿…è¦çš„套件尚未建立,或是被移出 Incoming 了。" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1924 msgid "Broken packages" msgstr "æ毀的套件" -#: cmdline/apt-get.cc:1942 +#: cmdline/apt-get.cc:1950 msgid "The following extra packages will be installed:" msgstr "下列的é¡å¤–套件將被安è£ï¼š" -#: cmdline/apt-get.cc:2032 +#: cmdline/apt-get.cc:2040 msgid "Suggested packages:" msgstr "建è°å¥—件:" -#: cmdline/apt-get.cc:2033 +#: cmdline/apt-get.cc:2041 msgid "Recommended packages:" msgstr "推薦套件:" -#: cmdline/apt-get.cc:2075 +#: cmdline/apt-get.cc:2083 #, c-format msgid "Couldn't find package %s" msgstr "無法找到套件 %s" -#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 #, fuzzy, c-format msgid "%s set to automatically installed.\n" msgstr "%s 被è¨å®šç‚ºæ‰‹å‹•å®‰è£ã€‚\n" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 msgid "" "This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' " "instead." msgstr "" -#: cmdline/apt-get.cc:2106 +#: cmdline/apt-get.cc:2114 msgid "Calculating upgrade... " msgstr "籌備å‡ç´šä¸... " -#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "失敗" -#: cmdline/apt-get.cc:2114 +#: cmdline/apt-get.cc:2122 msgid "Done" msgstr "完æˆ" -#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 +#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 msgid "Internal error, problem resolver broke stuff" msgstr "內部錯誤,å•é¡ŒæŽ’é™¤å™¨é€ æˆäº†æ壞" -#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 +#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 msgid "Unable to lock the download directory" msgstr "無法鎖定下載目錄" -#: cmdline/apt-get.cc:2297 +#: cmdline/apt-get.cc:2305 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2353 +#: cmdline/apt-get.cc:2361 msgid "Must specify at least one package to fetch source for" msgstr "在å–å¾—åŽŸå§‹ç¢¼æ™‚å¿…é ˆè‡³å°‘æŒ‡å®šä¸€å€‹å¥—ä»¶" -#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 +#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 #, c-format msgid "Unable to find a source package for %s" msgstr "無法找到 %s 的原始碼套件" -#: cmdline/apt-get.cc:2411 +#: cmdline/apt-get.cc:2418 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2416 +#: cmdline/apt-get.cc:2423 #, c-format msgid "" "Please use:\n" @@ -1204,121 +1204,142 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2469 +#: cmdline/apt-get.cc:2476 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "ç•¥éŽå·²ä¸‹è¼‰çš„檔案 '%s'\n" -#: cmdline/apt-get.cc:2506 +#: cmdline/apt-get.cc:2513 #, c-format msgid "You don't have enough free space in %s" msgstr "在 %s è£¡æ²’æœ‰è¶³å¤ çš„çš„æœªä½¿ç”¨ç©ºé–“" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2515 +#: cmdline/apt-get.cc:2522 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "需è¦ä¸‹è¼‰ %sB/%sB 的原始套件檔。\n" #. TRANSLATOR: The required space between number and unit is already included #. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB -#: cmdline/apt-get.cc:2520 +#: cmdline/apt-get.cc:2527 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "需è¦ä¸‹è¼‰ %sB 的原始套件檔。\n" -#: cmdline/apt-get.cc:2526 +#: cmdline/apt-get.cc:2533 #, c-format msgid "Fetch source %s\n" msgstr "å–得原始碼 %s\n" -#: cmdline/apt-get.cc:2564 +#: cmdline/apt-get.cc:2571 msgid "Failed to fetch some archives." msgstr "無法å–å¾—æŸäº›å¥—件檔。" -#: cmdline/apt-get.cc:2595 +#: cmdline/apt-get.cc:2602 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "ä¸è§£é–‹ï¼Œå› 原始碼已解開至 %s\n" -#: cmdline/apt-get.cc:2607 +#: cmdline/apt-get.cc:2614 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "解開指令 '%s' 失敗。\n" -#: cmdline/apt-get.cc:2608 +#: cmdline/apt-get.cc:2615 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "請檢查是å¦å·²å®‰è£äº† 'dpkg-dev' 套件。\n" -#: cmdline/apt-get.cc:2625 +#: cmdline/apt-get.cc:2637 #, c-format msgid "Build command '%s' failed.\n" msgstr "ç·¨è¯æŒ‡ä»¤ '%s' 失敗。\n" -#: cmdline/apt-get.cc:2645 +#: cmdline/apt-get.cc:2657 msgid "Child process failed" msgstr "å程åºå¤±æ•—" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2676 msgid "Must specify at least one package to check builddeps for" msgstr "在檢查編è¯ç›¸ä¾é—œä¿‚æ™‚å¿…é ˆè‡³å°‘æŒ‡å®šä¸€å€‹å¥—ä»¶" -#: cmdline/apt-get.cc:2695 +#: cmdline/apt-get.cc:2701 +#, c-format +msgid "" +"No architecture information available for %s. See apt.conf(5) APT::" +"Architectures for setup" +msgstr "" + +#: cmdline/apt-get.cc:2718 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "無法å–å¾— %s çš„ç·¨è¯ç›¸ä¾é—œä¿‚資訊" -#: cmdline/apt-get.cc:2715 +#: cmdline/apt-get.cc:2738 #, c-format msgid "%s has no build depends.\n" msgstr "%s 沒有編è¯ç›¸ä¾é—œä¿‚。\n" -#: cmdline/apt-get.cc:2766 +#: cmdline/apt-get.cc:2868 +#, fuzzy, c-format +msgid "" +"%s dependency for %s can't be satisfied because %s is not allowed on '%s' " +"packages" +msgstr "無法滿足 %2$s 所è¦æ±‚çš„ %1$s 相ä¾é—œä¿‚ï¼Œå› ç‚ºæ‰¾ä¸åˆ°å¥—件 %3$s" + +#: cmdline/apt-get.cc:2889 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "無法滿足 %2$s 所è¦æ±‚çš„ %1$s 相ä¾é—œä¿‚ï¼Œå› ç‚ºæ‰¾ä¸åˆ°å¥—件 %3$s" -#: cmdline/apt-get.cc:2819 +#: cmdline/apt-get.cc:2912 #, c-format +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" +msgstr "無法滿足 %2$s 的相ä¾é—œä¿‚ %1$s:已安è£çš„套件 %3$s 太新了" + +#: cmdline/apt-get.cc:2951 +#, fuzzy, c-format msgid "" -"%s dependency for %s cannot be satisfied because no available versions of " -"package %s can satisfy version requirements" +"%s dependency for %s cannot be satisfied because candidate version of " +"package %s can't satisfy version requirements" msgstr "" "無法滿足 %2$s 所è¦æ±‚çš„ %1$s 相ä¾é—œä¿‚ï¼Œå› ç‚ºå¥—ä»¶ %3$s 沒有版本符åˆå…¶ç‰ˆæœ¬éœ€æ±‚" -#: cmdline/apt-get.cc:2855 -#, c-format -msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" -msgstr "無法滿足 %2$s 的相ä¾é—œä¿‚ %1$s:已安è£çš„套件 %3$s 太新了" +#: cmdline/apt-get.cc:2957 +#, fuzzy, c-format +msgid "" +"%s dependency for %s cannot be satisfied because package %s has no candidate " +"version" +msgstr "無法滿足 %2$s 所è¦æ±‚çš„ %1$s 相ä¾é—œä¿‚ï¼Œå› ç‚ºæ‰¾ä¸åˆ°å¥—件 %3$s" -#: cmdline/apt-get.cc:2882 +#: cmdline/apt-get.cc:2980 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "無法滿足 %2$s 的相ä¾é—œä¿‚ %1$s:%3$s" -#: cmdline/apt-get.cc:2898 +#: cmdline/apt-get.cc:2996 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "無法滿足套件 %s çš„ç·¨è¯ç›¸ä¾é—œä¿‚。" -#: cmdline/apt-get.cc:2903 +#: cmdline/apt-get.cc:3001 msgid "Failed to process build dependencies" msgstr "無法處ç†ç·¨è¯ç›¸ä¾é—œä¿‚" -#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 +#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 #, fuzzy, c-format msgid "Changelog for %s (%s)" msgstr "æ£å’Œ %s (%s) 連線" -#: cmdline/apt-get.cc:3127 +#: cmdline/apt-get.cc:3225 msgid "Supported modules:" msgstr "已支æ´æ¨¡çµ„:" -#: cmdline/apt-get.cc:3168 +#: cmdline/apt-get.cc:3266 #, fuzzy msgid "" "Usage: apt-get [options] command\n" @@ -1404,7 +1425,7 @@ msgstr "" "以å–得更多資訊和é¸é …。\n" " 該 APT 有著超級牛力。\n" -#: cmdline/apt-get.cc:3330 +#: cmdline/apt-get.cc:3429 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1711,8 +1732,8 @@ msgstr "檔案 %s/%s 覆寫了套件 %s ä¸çš„相åŒæª”案" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:100 -#: apt-pkg/init.cc:108 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 +#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1744,7 +1765,7 @@ msgstr "資料目錄與暫å˜ç›®éŒ„需ä½æ–¼åŒä¸€æª”案系統ä¸" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1304 +#: apt-pkg/pkgcachegen.cc:1320 msgid "Reading package lists" msgstr "æ£åœ¨è®€å–套件清單" @@ -2109,35 +2130,29 @@ msgstr "åœ¨è§£æž '%s:%s' (%i) 時出了怪事" msgid "Unable to connect to %s:%s:" msgstr "無法連線至 %s %s:" -#. TRANSLATOR: %s is the trusted keyring parts directory -#: methods/gpgv.cc:71 -#, fuzzy, c-format -msgid "No keyring installed in %s." -msgstr "放棄安è£ã€‚" - -#: methods/gpgv.cc:163 +#: methods/gpgv.cc:166 msgid "" "Internal error: Good signature, but could not determine key fingerprint?!" msgstr "å…§éƒ¨éŒ¯èª¤ï¼šç°½ç« ç„¡èª¤ï¼Œä½†å»ç„¡æ³•è¾¨è˜å¯†é‘°çš„指紋碼?ï¼" -#: methods/gpgv.cc:168 +#: methods/gpgv.cc:171 msgid "At least one invalid signature was encountered." msgstr "至少發ç¾ä¸€å€‹ç„¡æ•ˆçš„ç°½ç« ã€‚" -#: methods/gpgv.cc:172 +#: methods/gpgv.cc:175 #, fuzzy msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)" msgstr "無法執行 '%s' 來驗è‰ç°½ç« (gpgv 是å¦å®‰è£äº†ï¼Ÿï¼‰" -#: methods/gpgv.cc:177 +#: methods/gpgv.cc:180 msgid "Unknown error executing gpgv" msgstr "在執行 gpgv 時發生未知的錯誤" -#: methods/gpgv.cc:211 methods/gpgv.cc:218 +#: methods/gpgv.cc:214 methods/gpgv.cc:221 msgid "The following signatures were invalid:\n" msgstr "以下簽å無效:\n" -#: methods/gpgv.cc:225 +#: methods/gpgv.cc:228 msgid "" "The following signatures couldn't be verified because the public key is not " "available:\n" @@ -2294,57 +2309,57 @@ msgstr "" msgid "Selection %s not found" msgstr "é¸é … %s 找ä¸åˆ°" -#: apt-pkg/contrib/configuration.cc:452 +#: apt-pkg/contrib/configuration.cc:465 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "無法辨è˜çš„縮寫類型:'%c'" -#: apt-pkg/contrib/configuration.cc:510 +#: apt-pkg/contrib/configuration.cc:523 #, c-format msgid "Opening configuration file %s" msgstr "é–‹å•Ÿè¨å®šæª” %s" -#: apt-pkg/contrib/configuration.cc:678 +#: apt-pkg/contrib/configuration.cc:691 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "語法錯誤 %s:%u:å€å¡Šé–‹é 沒有å稱。" -#: apt-pkg/contrib/configuration.cc:697 +#: apt-pkg/contrib/configuration.cc:710 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "語法錯誤 %s:%uï¼šæ¨™ç±¤æ ¼å¼éŒ¯èª¤" -#: apt-pkg/contrib/configuration.cc:714 +#: apt-pkg/contrib/configuration.cc:727 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "語法錯誤 %s:%u:數值後有多餘的垃圾" -#: apt-pkg/contrib/configuration.cc:754 +#: apt-pkg/contrib/configuration.cc:767 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "語法錯誤 %s:%u:指令åªèƒ½æ–¼æœ€é«˜å±¤ç´šåŸ·è¡Œ" -#: apt-pkg/contrib/configuration.cc:761 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "語法錯誤 %s:%u: 太多巢狀引入檔" -#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 +#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "語法錯誤 %s:%u:從æ¤å¼•å…¥" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:787 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "語法錯誤 %s:%u:ä¸æ”¯æ´çš„指令 '%s'" -#: apt-pkg/contrib/configuration.cc:777 +#: apt-pkg/contrib/configuration.cc:790 #, fuzzy, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "語法錯誤 %s:%u:指令åªèƒ½æ–¼æœ€é«˜å±¤ç´šåŸ·è¡Œ" -#: apt-pkg/contrib/configuration.cc:827 +#: apt-pkg/contrib/configuration.cc:840 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "語法錯誤 %s:%u:在檔案çµå°¾æœ‰å¤šé¤˜çš„垃圾" @@ -2487,7 +2502,7 @@ msgstr "åç¨‹åº %s 傳回錯誤碼 (%u)" msgid "Sub-process %s exited unexpectedly" msgstr "åç¨‹åº %s ä¸é 期得çµæŸ" -#: apt-pkg/contrib/fileutl.cc:764 +#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673 #, c-format msgid "Could not open file %s" msgstr "無法開啟檔案 %s" @@ -2714,14 +2729,14 @@ msgstr "來æºåˆ—表 %2$s ä¸çš„第 %1$u è¡Œçš„æ ¼å¼éŒ¯èª¤ï¼ˆé¡žåž‹ï¼‰" msgid "Type '%s' is not known on line %u in source list %s" msgstr "未知的類型 '%1$s',ä½æ–¼åœ¨ä¾†æºåˆ—表 %3$s ä¸çš„第 %2$u è¡Œ" -#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:733 +#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623 #, c-format msgid "" "Could not perform immediate configuration on '%s'. Please see man 5 apt.conf " "under APT::Immediate-Configure for details. (%d)" msgstr "" -#: apt-pkg/packagemanager.cc:548 +#: apt-pkg/packagemanager.cc:456 #, c-format msgid "" "This installation run will require temporarily removing the essential " @@ -2731,7 +2746,7 @@ msgstr "" "æ¤å®‰è£å› è¡çªæˆ–é 先相ä¾é—œä¿‚,需暫時刪除 %s 這個基本套件。這通常ä¸æ˜¯å¥½ä¸»æ„,但" "若您執æ„進行,請è¨å®š APT::Force-LoopBreak é¸é …。" -#: apt-pkg/packagemanager.cc:596 +#: apt-pkg/packagemanager.cc:501 #, c-format msgid "" "Could not perform immediate configuration on already unpacked '%s'. Please " @@ -2761,7 +2776,7 @@ msgstr "" msgid "Unable to correct problems, you have held broken packages." msgstr "無法修æ£å•é¡Œï¼Œæ‚¨ä¿ç•™ (hold) 了æ毀的套件。" -#: apt-pkg/algorithms.cc:1436 apt-pkg/algorithms.cc:1438 +#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466 #, fuzzy msgid "" "Some index files failed to download. They have been ignored, or old ones " @@ -2810,12 +2825,12 @@ msgstr "安è£æ–¹å¼ %s 沒有æ£ç¢ºå•Ÿå‹•" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "請把標籤為 '%s' 的光碟放入 '%s' è£ç½®ä¸ï¼Œç„¶å¾ŒæŒ‰ä¸‹ [Enter] éµã€‚" -#: apt-pkg/init.cc:143 +#: apt-pkg/init.cc:147 #, c-format msgid "Packaging system '%s' is not supported" msgstr "ä¸æ”¯æ´çš„套件包è£ç³»çµ± '%s'" -#: apt-pkg/init.cc:159 +#: apt-pkg/init.cc:163 msgid "Unable to determine a suitable packaging system type" msgstr "無法確èªåˆé©çš„套件包è£ç³»çµ±é¡žåž‹" @@ -2840,17 +2855,24 @@ msgstr "您也許得執行 apt-get update 以修æ£é€™äº›å•é¡Œ" msgid "The list of sources could not be read." msgstr "無法讀å–來æºåˆ—表。" -#: apt-pkg/policy.cc:375 +#: apt-pkg/policy.cc:71 +#, c-format +msgid "" +"The value '%s' is invalid for APT::Default-Release as such a release is not " +"available in the sources" +msgstr "" + +#: apt-pkg/policy.cc:389 #, fuzzy, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "個人è¨å®šæª”ä¸æœ‰äº›ä¸æ£ç¢ºè³‡æ–™ï¼Œæ²’有以 Package é–‹é " -#: apt-pkg/policy.cc:397 +#: apt-pkg/policy.cc:411 #, c-format msgid "Did not understand pin type %s" msgstr "無法分æžéŽ–定類型 %s" -#: apt-pkg/policy.cc:405 +#: apt-pkg/policy.cc:419 msgid "No priority (or zero) specified for pin" msgstr "éŠ·å®šä¸¦æ²’æœ‰å„ªå…ˆé †åºä¹‹åˆ†ï¼ˆæˆ–零)" @@ -2939,7 +2961,7 @@ msgstr "無法å–得來æºå¥—件列表 %s 的狀態" msgid "Collecting File Provides" msgstr "æ£åœ¨æ”¶é›†æª”案æ供者" -#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 +#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 msgid "IO Error saving source cache" msgstr "在儲å˜ä¾†æºå¿«å–時 IO 錯誤" @@ -2952,8 +2974,8 @@ msgstr "無法é‡æ–°å‘½å,%s (%s -> %s)。" msgid "MD5Sum mismatch" msgstr "MD5Sum ä¸ç¬¦" -#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1846 -#: apt-pkg/acquire-item.cc:1989 +#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848 +#: apt-pkg/acquire-item.cc:1991 msgid "Hash Sum mismatch" msgstr "Hash Sum ä¸ç¬¦" @@ -2973,20 +2995,19 @@ msgstr "無法辨別 Release 檔 %s" msgid "There is no public key available for the following key IDs:\n" msgstr "無法å–得以下的密鑰 ID 的公鑰:\n" -#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is -#. the time since then the file is invalid - formated in the same way as in -#. the download progress display (e.g. 7d 3h 42min 1s) -#: apt-pkg/acquire-item.cc:1476 -#, fuzzy, c-format -msgid "Release file expired, ignoring %s (invalid since %s)" -msgstr "Release 檔已éŽæœŸï¼Œç•¥éŽ %sï¼ˆæœ‰æ•ˆæœŸé™ %s)" +#: apt-pkg/acquire-item.cc:1477 +#, c-format +msgid "" +"Release file for %s is expired (invalid since %s). Updates for this " +"repository will not be applied." +msgstr "" -#: apt-pkg/acquire-item.cc:1497 +#: apt-pkg/acquire-item.cc:1499 #, c-format msgid "Conflicting distribution: %s (expected %s but got %s)" msgstr "發行版本è¡çªï¼š%s(應當是 %s 但å»å¾—到 %s)" -#: apt-pkg/acquire-item.cc:1530 +#: apt-pkg/acquire-item.cc:1532 #, c-format msgid "" "A error occurred during the signature verification. The repository is not " @@ -2994,12 +3015,12 @@ msgid "" msgstr "" #. Invalid signature file, reject (LP: #346386) (Closes: #627642) -#: apt-pkg/acquire-item.cc:1540 apt-pkg/acquire-item.cc:1545 +#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547 #, c-format msgid "GPG error: %s: %s" msgstr "" -#: apt-pkg/acquire-item.cc:1637 +#: apt-pkg/acquire-item.cc:1639 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " @@ -3008,20 +3029,20 @@ msgstr "" "找ä¸åˆ° %s 套件的æŸå€‹æª”案。這æ„味著您å¯èƒ½è¦æ‰‹å‹•ä¿®å¾©é€™å€‹å¥—ä»¶ã€‚ï¼ˆå› ç‚ºæ‰¾ä¸åˆ°å¹³" "å°ï¼‰" -#: apt-pkg/acquire-item.cc:1696 +#: apt-pkg/acquire-item.cc:1698 #, c-format msgid "" "I wasn't able to locate a file for the %s package. This might mean you need " "to manually fix this package." msgstr "找ä¸åˆ° %s 套件的æŸå€‹æª”案。這æ„味著您å¯èƒ½è¦æ‰‹å‹•ä¿®å¾©é€™å€‹å¥—件。" -#: apt-pkg/acquire-item.cc:1751 +#: apt-pkg/acquire-item.cc:1753 #, c-format msgid "" "The package index files are corrupted. No Filename: field for package %s." msgstr "這個套件的索引檔æ壞了。沒有套件 %s çš„ Filename: 欄ä½ã€‚" -#: apt-pkg/acquire-item.cc:1838 +#: apt-pkg/acquire-item.cc:1840 msgid "Size mismatch" msgstr "大å°ä¸ç¬¦" @@ -3141,22 +3162,22 @@ msgstr "æ£åœ¨å¯«å…¥æ–°çš„來æºåˆ—表\n" msgid "Source list entries for this disc are:\n" msgstr "該碟片的來æºåˆ—è¡¨é …ç›®ç‚ºï¼š\n" -#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909 +#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928 #, c-format msgid "Wrote %i records.\n" msgstr "寫入 %i ç†ç´€éŒ„。\n" -#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911 +#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "寫入 %i ç†ç´€ç¶ ,其ä¸æœ‰ %i 個檔案éºå¤±äº†ã€‚\n" -#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914 +#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "寫入 %i ç†ç´€ç¶ ,其ä¸æœ‰ %i 個檔案ä¸ç¬¦\n" -#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917 +#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "寫入 %i ç†ç´€ç¶ ,其ä¸æœ‰ %i 個檔案éºå¤±äº†ï¼Œæœ‰ %i 個檔案ä¸ç¬¦\n" @@ -3176,6 +3197,17 @@ msgstr "" msgid "Hash mismatch for: %s" msgstr "Hash Sum ä¸ç¬¦" +#: apt-pkg/indexcopy.cc:677 +#, c-format +msgid "File %s doesn't start with a clearsigned message" +msgstr "" + +#. TRANSLATOR: %s is the trusted keyring parts directory +#: apt-pkg/indexcopy.cc:708 +#, fuzzy, c-format +msgid "No keyring installed in %s." +msgstr "放棄安è£ã€‚" + #: apt-pkg/cacheset.cc:337 #, c-format msgid "Release '%s' for '%s' was not found" @@ -3408,6 +3440,10 @@ msgstr "連線çªç„¶çµ‚æ¢" #~ msgid "Internal error, could not locate member" #~ msgstr "內部錯誤:無法找到æˆå“¡" +#, fuzzy +#~ msgid "Release file expired, ignoring %s (invalid since %s)" +#~ msgstr "Release 檔已éŽæœŸï¼Œç•¥éŽ %sï¼ˆæœ‰æ•ˆæœŸé™ %s)" + #~ msgid "E: Argument list from Acquire::gpgv::Options too long. Exiting." #~ msgstr "錯誤:Acquire::gpgv::Options çš„åƒæ•¸åˆ—表éŽé•·ã€‚çµæŸåŸ·è¡Œã€‚" diff --git a/test/Makefile b/test/Makefile new file mode 100644 index 000000000..da0a49b0c --- /dev/null +++ b/test/Makefile @@ -0,0 +1,16 @@ +# -*- make -*- + +# This is the top level test makefile for APT, it recurses to each lower +# level make file and runs it with the proper target +ifndef NOISY +.SILENT: +endif + +.PHONY: headers library clean veryclean all binary program doc test +all clean veryclean binary program dirs test: + $(MAKE) -C libapt $@ + $(MAKE) -C interactive-helper $@ + +# Some very common aliases +.PHONY: maintainer-clean dist-clean distclean pristine sanity +maintainer-clean dist-clean distclean pristine sanity: veryclean diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages deleted file mode 100644 index 3e7265438..000000000 --- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages +++ /dev/null @@ -1,25 +0,0 @@ -Package: libglib2.0-data -Priority: optional -Section: misc -Installed-Size: 2288 -Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com> -Original-Maintainer: Loic Minier <lool@dooz.org> -Architecture: all -Source: glib2.0 -Version: 2.13.6-1ubuntu1 -Replaces: libglib1.3, libglib1.3-data -Depends: libglib2.0-0 (>= 2.13.6-1ubuntu1) -Conflicts: libglib1.3-data -Filename: ./libglib2.0-data_2.13.6-1ubuntu1_all.deb -Size: 958 -MD5sum: 803fc5e2e31a4345b3e9c771e1eae49f -SHA1: 75b2c62b21bae60c58e694dd40ed6d4df946e304 -SHA256: 142d8466eac252f06bc957d76fe1bb87f86f2d3512b99c8d4b08c1ad79fbe59e -Description: Common files for GLib library - GLib is a library containing many useful C routines for things such - as trees, hashes, lists, and strings. It is a useful general-purpose - C library used by projects such as GTK+, GIMP, and GNOME. - . - This package is needed for the runtime libraries to display messages in - languages other than English. - diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release deleted file mode 100644 index 7ecd4cd19..000000000 --- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release +++ /dev/null @@ -1,13 +0,0 @@ -Date: Fri, 27 Jul 2007 14:39:41 UTC -MD5Sum: - 4672dadea6a144839f823c9f3d5fd44b 934 Packages - 82ebcf09a8d78a2b9cf7759349da4936 603 Packages.gz - d41d8cd98f00b204e9800998ecf8427e 0 Release -SHA1: - fa0f294aa30789529371066b10e9497be1284d26 934 Packages - f4032808663b2810d87b4a4dab6f5ae4a1e8fa8e 603 Packages.gz - da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release -SHA256: - 92c9b605480dc74e6be79c0ddc24738bfcbd6dd3148af531acd68717de528049 934 Packages - 659ccc0d07ff21f0247f9fa5abe149221c90d5e17da52c7afddb035b93c23d39 603 Packages.gz - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg deleted file mode 100644 index 85c356e6f..000000000 --- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.6 (GNU/Linux) - -iD8DBQBGqgOwliSD4VZixzQRAs6jAJ9p7Aiob9gzkUNCtoW8UPrBo0E/YwCdEaz0 -CQJszU6fRYX5jGWXSWzfc5c= -=ugH0 ------END PGP SIGNATURE----- diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages deleted file mode 100644 index 3e7265438..000000000 --- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages +++ /dev/null @@ -1,25 +0,0 @@ -Package: libglib2.0-data -Priority: optional -Section: misc -Installed-Size: 2288 -Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com> -Original-Maintainer: Loic Minier <lool@dooz.org> -Architecture: all -Source: glib2.0 -Version: 2.13.6-1ubuntu1 -Replaces: libglib1.3, libglib1.3-data -Depends: libglib2.0-0 (>= 2.13.6-1ubuntu1) -Conflicts: libglib1.3-data -Filename: ./libglib2.0-data_2.13.6-1ubuntu1_all.deb -Size: 958 -MD5sum: 803fc5e2e31a4345b3e9c771e1eae49f -SHA1: 75b2c62b21bae60c58e694dd40ed6d4df946e304 -SHA256: 142d8466eac252f06bc957d76fe1bb87f86f2d3512b99c8d4b08c1ad79fbe59e -Description: Common files for GLib library - GLib is a library containing many useful C routines for things such - as trees, hashes, lists, and strings. It is a useful general-purpose - C library used by projects such as GTK+, GIMP, and GNOME. - . - This package is needed for the runtime libraries to display messages in - languages other than English. - diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release deleted file mode 100644 index 7ecd4cd19..000000000 --- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release +++ /dev/null @@ -1,13 +0,0 @@ -Date: Fri, 27 Jul 2007 14:39:41 UTC -MD5Sum: - 4672dadea6a144839f823c9f3d5fd44b 934 Packages - 82ebcf09a8d78a2b9cf7759349da4936 603 Packages.gz - d41d8cd98f00b204e9800998ecf8427e 0 Release -SHA1: - fa0f294aa30789529371066b10e9497be1284d26 934 Packages - f4032808663b2810d87b4a4dab6f5ae4a1e8fa8e 603 Packages.gz - da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release -SHA256: - 92c9b605480dc74e6be79c0ddc24738bfcbd6dd3148af531acd68717de528049 934 Packages - 659ccc0d07ff21f0247f9fa5abe149221c90d5e17da52c7afddb035b93c23d39 603 Packages.gz - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg deleted file mode 100644 index 85c356e6f..000000000 --- a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.6 (GNU/Linux) - -iD8DBQBGqgOwliSD4VZixzQRAs6jAJ9p7Aiob9gzkUNCtoW8UPrBo0E/YwCdEaz0 -CQJszU6fRYX5jGWXSWzfc5c= -=ugH0 ------END PGP SIGNATURE----- diff --git a/test/authReliability/sources.list.failure b/test/authReliability/sources.list.failure deleted file mode 100644 index 110f31884..000000000 --- a/test/authReliability/sources.list.failure +++ /dev/null @@ -1,2 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-broken/ / - diff --git a/test/authReliability/sources.list.good b/test/authReliability/sources.list.good deleted file mode 100644 index 2e9a4458a..000000000 --- a/test/authReliability/sources.list.good +++ /dev/null @@ -1,2 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-ok/ / - diff --git a/test/conf.cc b/test/conf.cc deleted file mode 100644 index 340647b5f..000000000 --- a/test/conf.cc +++ /dev/null @@ -1,37 +0,0 @@ -#include <apt-pkg/configuration.h> -#include <apt-pkg/error.h> - -using namespace std; - -int main(int argc,const char *argv[]) -{ - Configuration Cnf; - - ReadConfigFile(Cnf,argv[1],true); - - // Process 'simple-key' type sections - const Configuration::Item *Top = Cnf.Tree("simple-key"); - for (Top = (Top == 0?0:Top->Child); Top != 0; Top = Top->Next) - { - Configuration Block(Top); - - string VendorID = Top->Tag; - string FingerPrint = Block.Find("Fingerprint"); - string Name = Block.Find("Name"); // Description? - - if (FingerPrint.empty() == true || Name.empty() == true) - _error->Error("Block %s is invalid",VendorID.c_str()); - - cout << VendorID << ' ' << FingerPrint << ' ' << Name << endl; - } - - // Print any errors or warnings found during parsing - if (_error->empty() == false) - { - bool Errors = _error->PendingError(); - _error->DumpErrors(); - return Errors == true?100:0; - } - - return 0; -} diff --git a/test/conf_clear.cc b/test/conf_clear.cc deleted file mode 100644 index 259aa0f39..000000000 --- a/test/conf_clear.cc +++ /dev/null @@ -1,23 +0,0 @@ -#include <apt-pkg/configuration.h> -#include <apt-pkg/error.h> - -using namespace std; - -int main(int argc,const char *argv[]) -{ - Configuration Cnf; - - cout << "adding elements" << endl; - Cnf.Set("APT::Keep-Fds::",28); - Cnf.Set("APT::Keep-Fds::",17); - Cnf.Set("APT::Keep-Fds::",47); - Cnf.Dump(); - - cout << "Removing elements" << endl; - Cnf.Clear("APT::Keep-Fds",17); - Cnf.Clear("APT::Keep-Fds",28); - Cnf.Clear("APT::Keep-Fds",47); - Cnf.Dump(); - - return 0; -} diff --git a/test/fake-status b/test/fake-status deleted file mode 100644 index 9e6366d5b..000000000 --- a/test/fake-status +++ /dev/null @@ -1,16 +0,0 @@ -Package: libglib2.0-0 -Status: install ok installed -Priority: optional -Section: libs -Installed-Size: 1376 -Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com> -Architecture: all -Source: glib2.0 -Version: 2.13.7-1ubuntu1 -Description: The GLib library of C routines - GLib is a library containing many useful C routines for things such - as trees, hashes, lists, and strings. It is a useful general-purpose - C library used by projects such as GTK+, GIMP, and GNOME. - . - This package contains the shared libraries. -Original-Maintainer: Loic Minier <lool@dooz.org> diff --git a/test/hash.cc b/test/hash.cc deleted file mode 100644 index cfdb4ea9d..000000000 --- a/test/hash.cc +++ /dev/null @@ -1,70 +0,0 @@ -#include <apt-pkg/md5.h> -#include <apt-pkg/sha1.h> -#include <apt-pkg/sha256.h> -#include <apt-pkg/strutl.h> -#include <iostream> - -using namespace std; - -template <class T> void Test(const char *In,const char *Out) -{ - T Sum; - Sum.Add(In); - cout << Sum.Result().Value() << endl; - if (stringcasecmp(Sum.Result().Value(),Out) != 0) - abort(); -} - -template <class T> void TestMill(const char *Out) -{ - T Sum; - - const unsigned char As[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; - unsigned Count = 1000000; - for (; Count != 0;) - { - if (Count >= 64) - { - Sum.Add(As,64); - Count -= 64; - } - else - { - Sum.Add(As,Count); - Count = 0; - } - } - - cout << Sum.Result().Value() << endl; - if (stringcasecmp(Sum.Result().Value(),Out) != 0) - abort(); -} - -int main() -{ - // From FIPS PUB 180-1 - Test<SHA1Summation>("abc","A9993E364706816ABA3E25717850C26C9CD0D89D"); - Test<SHA1Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - "84983E441C3BD26EBAAE4AA1F95129E5E54670F1"); - TestMill<SHA1Summation>("34AA973CD4C4DAA4F61EEB2BDBAD27316534016F"); - - // MD5 tests from RFC 1321 - Test<MD5Summation>("","d41d8cd98f00b204e9800998ecf8427e"); - Test<MD5Summation>("a","0cc175b9c0f1b6a831c399e269772661"); - Test<MD5Summation>("abc","900150983cd24fb0d6963f7d28e17f72"); - Test<MD5Summation>("message digest","f96b697d7cb7938d525a2f31aaf161d0"); - Test<MD5Summation>("abcdefghijklmnopqrstuvwxyz","c3fcd3d76192e4007dfb496cca67e13b"); - Test<MD5Summation>("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - "d174ab98d277d9f5a5611c2c9f419d9f"); - Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890", - "57edf4a22be3c955ac49da2e2107b67a"); - - // SHA-256, From FIPS 180-2 - Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1"); - - - return 0; -} - - diff --git a/test/integration/Packages-hashsum-verification b/test/integration/Packages-hashsum-verification new file mode 100644 index 000000000..29a385f4f --- /dev/null +++ b/test/integration/Packages-hashsum-verification @@ -0,0 +1,18 @@ +Package: apt +Version: 0.7.25.3 +Architecture: i386 +Maintainer: APT Development Team <deity@lists.debian.org> +Installed-Size: 5244 +Replaces: libapt-pkg-dev (<< 0.3.7), libapt-pkg-doc (<< 0.3.7) +Provides: libapt-pkg-libc6.9-6-4.8 +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Filename: apt.deb +Size: 0 +MD5sum: d41d8cd98f00b204e9800998ecf8427e +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 cc5af798c..a2e71760e 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -1,16 +1,19 @@ #!/bin/sh -- # no runable script, just for vi # we all like colorful messages -CERROR="[1;31m" # red -CWARNING="[1;33m" # yellow -CMSG="[1;32m" # green -CINFO="[1;96m" # light blue -CDEBUG="[1;94m" # blue -CNORMAL="[0;39m" # default system console color -CDONE="[1;32m" # green -CPASS="[1;32m" # green -CFAIL="[1;31m" # red -CCMD="[1;35m" # pink +if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null && \ + expr match "$(readlink -f /proc/$$/fd/2)" '/dev/pts/[0-9]\+' > /dev/null; then + CERROR="[1;31m" # red + CWARNING="[1;33m" # yellow + CMSG="[1;32m" # green + CINFO="[1;96m" # light blue + CDEBUG="[1;94m" # blue + CNORMAL="[0;39m" # default system console color + CDONE="[1;32m" # green + CPASS="[1;32m" # green + CFAIL="[1;31m" # red + CCMD="[1;35m" # pink +fi msgdie() { echo "${CERROR}E: $1${CNORMAL}" >&2; exit 1; } msgwarn() { echo "${CWARNING}W: $1${CNORMAL}" >&2; } @@ -42,7 +45,11 @@ if [ $MSGLEVEL -le 2 ]; then msgtest() { true; } msgpass() { echo -n " ${CPASS}P${CNORMAL}" >&2; } msgskip() { echo -n " ${CWARNING}S${CNORMAL}" >&2; } - msgfail() { echo -n " ${CFAIL}FAIL${CNORMAL}" >&2; } + if [ -n "$CFAIL" ]; then + msgfail() { echo -n " ${CFAIL}FAIL${CNORMAL}" >&2; } + else + msgfail() { echo -n " ###FAILED###" >&2; } + fi fi if [ $MSGLEVEL -le 3 ]; then msginfo() { true; } @@ -151,6 +158,7 @@ setupenvironment() { configarchitecture() { local CONFFILE=rootdir/etc/apt/apt.conf.d/01multiarch.conf + rm -f $CONFFILE echo "APT::Architecture \"$1\";" > $CONFFILE shift while [ -n "$1" ]; do @@ -429,6 +437,27 @@ Filename: pool/main/${NAME}/${NAME}_${VERSION}_${arch}.deb" >> $FILE done } +insertsource() { + local RELEASE="$1" + local NAME="$2" + local ARCH="$3" + local VERSION="$4" + local DEPENDENCIES="$5" + local ARCHS="" + local SPATH="aptarchive/dists/${RELEASE}/main/source" + mkdir -p $SPATH + local FILE="${SPATH}/Sources" + echo "Package: $NAME +Binary: $NAME +Version: $VERSION +Maintainer: Joe Sixpack <joe@example.org> +Architecture: $ARCH" >> $FILE + test -z "$DEPENDENCIES" || echo "$DEPENDENCIES" >> $FILE + echo "Files: + d41d8cd98f00b204e9800998ecf8427e 0 ${NAME}_${VERSION}.dsc + d41d8cd98f00b204e9800998ecf8427e 0 ${NAME}_${VERSION}.tar.gz" >> $FILE +} + insertinstalledpackage() { local NAME="$1" local ARCH="$2" @@ -481,25 +510,52 @@ buildaptarchivefromfiles() { generatereleasefiles } +# can be overridden by testcases for their pleasure +getcodenamefromsuite() { echo -n "$1"; } +getreleaseversionfromsuite() { true; } +getlabelfromsuite() { true; } + generatereleasefiles() { + # $1 is the Date header and $2 is the ValidUntil header to be set + # both should be given in notation date/touch can understand msgninfo "\tGenerate Release files… " - local DATE="${1:-now}" if [ -e aptarchive/dists ]; then for dir in $(find ./aptarchive/dists -mindepth 3 -maxdepth 3 -type d -name 'i18n'); do aptftparchive -qq release $dir -o APT::FTPArchive::Release::Patterns::='Translation-*' > $dir/Index done for dir in $(find ./aptarchive/dists -mindepth 1 -maxdepth 1 -type d); do - local CODENAME="$(echo "$dir" | cut -d'/' -f 4)" - aptftparchive -qq release $dir -o APT::FTPArchive::Release::Suite="${CODENAME}" -o APT::FTPArchive::Release::Codename="${CODENAME}" | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference - if [ "$CODENAME" = "experimental" -o "$CODENAME" = "experimental2" ]; then + local SUITE="$(echo "$dir" | cut -d'/' -f 4)" + local CODENAME="$(getcodenamefromsuite $SUITE)" + local VERSION="$(getreleaseversionfromsuite $SUITE)" + local LABEL="$(getlabelfromsuite $SUITE)" + if [ -n "$VERSION" ]; then + VERSION="-o APT::FTPArchive::Release::Version=${VERSION}" + fi + if [ -n "$LABEL" ]; then + LABEL="-o APT::FTPArchive::Release::Label=${LABEL}" + fi + aptftparchive -qq release $dir \ + -o APT::FTPArchive::Release::Suite="${SUITE}" \ + -o APT::FTPArchive::Release::Codename="${CODENAME}" \ + ${LABEL} \ + ${VERSION} \ + | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference + if [ "$SUITE" = "experimental" -o "$SUITE" = "experimental2" ]; then sed -i '/^Date: / a\ NotAutomatic: yes' $dir/Release fi + if [ -n "$1" -a "$1" != "now" ]; then + sed -i "s/^Date: .*$/Date: $(date -d "$1" '+%a, %d %b %Y %H:%M:%S %Z')/" $dir/Release + fi + if [ -n "$2" ]; then + sed -i "/^Date: / a\ +Valid-Until: $(date -d "$2" '+%a, %d %b %Y %H:%M:%S %Z')" $dir/Release + fi done else aptftparchive -qq release ./aptarchive | sed -e '/0 Release$/ d' > aptarchive/Release # remove the self reference fi - if [ "$DATE" != "now" ]; then + if [ -n "$1" -a "$1" != "now" ]; then for release in $(find ./aptarchive -name 'Release'); do touch -d "$1" $release done @@ -573,6 +629,11 @@ changetowebserver() { if which weborf > /dev/null; then weborf -xb aptarchive/ 2>&1 > /dev/null & addtrap "kill $!;" + elif which gatling > /dev/null; then + cd aptarchive + gatling -p 8080 -F -S 2>&1 > /dev/null & + addtrap "kill $!;" + cd - > /dev/null elif which lighttpd > /dev/null; then echo "server.document-root = \"$(readlink -f ./aptarchive)\" server.port = 8080 @@ -708,3 +769,9 @@ testmarkedauto() { fi aptmark showauto 2>&1 | checkdiff $COMPAREFILE - && msgpass || msgfail } + +pause() { + echo "STOPPED execution. Press enter to continue" + local IGNORE + read IGNORE +} diff --git a/test/integration/makefile b/test/integration/makefile new file mode 100644 index 000000000..fb12fe9a8 --- /dev/null +++ b/test/integration/makefile @@ -0,0 +1,10 @@ +# -*- make -*- +BASE=../.. +SUBDIR=test/integration + +# Bring in the default rules +include ../../buildlib/defaults.mak + +.PHONY: test +test: + ./run-tests diff --git a/test/integration/run-tests b/test/integration/run-tests index edac07dbf..75f2ad662 100755 --- a/test/integration/run-tests +++ b/test/integration/run-tests @@ -8,17 +8,30 @@ if [ "$1" = "-q" ]; then elif [ "$1" = "-v" ]; then export MSGLEVEL=4 fi + +if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then + CTEST='\033[1;32m' + CHIGH='\033[1;35m' + CRESET='\033[0m' +elif [ -z "${MSGLEVEL}" ]; then + export MSGLEVEL=2 +fi + +if [ -z "$MSGLEVEL" ]; then + MSGLEVEL=5 +fi + for testcase in $(run-parts --list $DIR | grep '/test-'); do - if [ "$1" = "-q" ]; then - echo -n "\033[1;32mRun Testcase \033[1;35m$(basename ${testcase})\033[0m" + if [ "$MSGLEVEL" -le 2 ]; then + echo -n "${CTEST}Testcase ${CHIGH}$(basename ${testcase})${CRESET}: " else - echo "\033[1;32mRun Testcase \033[1;35m$(basename ${testcase})\033[0m" + echo "${CTEST}Run Testcase ${CHIGH}$(basename ${testcase})${CRESET}" fi if ! ${testcase}; then FAIL=$((FAIL+1)) echo "$(basename $testcase) ... FAIL" fi - if [ "$1" = "-q" ]; then + if [ "$MSGLEVEL" -le 2 ]; then echo fi done diff --git a/test/integration/test-bug-254770-segfault-if-cache-not-buildable b/test/integration/test-bug-254770-segfault-if-cache-not-buildable index b9f45b131..8fa337ccc 100755 --- a/test/integration/test-bug-254770-segfault-if-cache-not-buildable +++ b/test/integration/test-bug-254770-segfault-if-cache-not-buildable @@ -12,7 +12,6 @@ trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM chmod a-x rootdir/var/lib/dpkg testsegfault() { - rm -f rootdir/var/cache/apt/*.bin msgtest "No segfault in" "$*" local TEST="$($* 2>&1 | grep -v 'E:')" if [ -z "$TEST" ]; then diff --git a/test/integration/test-bug-407511-fail-invalid-default-release b/test/integration/test-bug-407511-fail-invalid-default-release new file mode 100755 index 000000000..d0a73af7d --- /dev/null +++ b/test/integration/test-bug-407511-fail-invalid-default-release @@ -0,0 +1,47 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'cool' 'all' '1.0-1' + +getcodenamefromsuite() { + if [ "$SUITE" = 'unstable' ]; then + echo -n 'sid' + else + echo -n "$SUITE" + fi +} +getreleaseversionfromsuite() { + if [ "$SUITE" = 'unstable' ]; then + echo -n '42.0' + else + echo -n '0.8.15' + fi +} + +setupaptarchive + +passdist() { + msgtest "Test that target-release is accepted" $1 + aptget dist-upgrade -t $1 -qq && msgpass || msgfail +} + +faildist() { + msgtest "Test that target-release is refused" $1 + aptget dist-upgrade -t $1 -qq 2> /dev/null && msgfail || msgpass +} + +passdist unstable +passdist sid +faildist sidd +faildist stable +passdist 42.0 +passdist 42.* +passdist 42* +passdist 4*.0 +faildist 21.0 +faildist 21* 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 0f6493948..645e86d7d 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 @@ -25,7 +25,6 @@ MD5sum: 8489687ce10e656babd467c9ee389349 Description-de: Verschiedene Dateien für das Basis-System von Debian" predependsgawk() { - rm rootdir/var/cache/apt/*.bin cp $TESTDIR/$(echo "$(basename $0)" | sed 's/test-/status-/') rootdir/var/lib/dpkg/status echo "$pkgbasefile Pre-Depends: $1 @@ -57,7 +56,6 @@ predependsgawk "awk | aawk" predependsgawk "awk" predependsgawk2() { - rm rootdir/var/cache/apt/*.bin cp $TESTDIR/$(echo "$(basename $0)" | sed 's/test-/status-/') rootdir/var/lib/dpkg/status echo "$pkgbasefile Pre-Depends: $1 diff --git a/test/integration/test-bug-595691-empty-and-broken-archive-files b/test/integration/test-bug-595691-empty-and-broken-archive-files index 11dee0628..5c103da6f 100755 --- a/test/integration/test-bug-595691-empty-and-broken-archive-files +++ b/test/integration/test-bug-595691-empty-and-broken-archive-files @@ -11,7 +11,7 @@ touch aptarchive/Packages setupflataptarchive testaptgetupdate() { - rm -rf rootdir/var/lib/apt rootdir/var/cache/apt + rm -rf rootdir/var/lib/apt aptget update 2>> testaptgetupdate.diff >> testaptgetupdate.diff || true sed -i -e '/^Fetched / d' -e 's#\[[0-9]* [kMGTPY]*B\]#\[\]#' testaptgetupdate.diff GIVEN="$1" diff --git a/test/integration/test-bug-596498-trusted-unsigned-repo b/test/integration/test-bug-596498-trusted-unsigned-repo new file mode 100755 index 000000000..6ebc4a3bb --- /dev/null +++ b/test/integration/test-bug-596498-trusted-unsigned-repo @@ -0,0 +1,47 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +buildsimplenativepackage 'cool' 'i386' '1.0' 'unstable' + +setupaptarchive + +aptgetupdate() { + rm -rf rootdir/var/lib/apt/ rootdir/var/cache/apt/*.bin + aptget update -qq +} + +PKGTEXT="$(aptget install cool --assume-no -d | head -n 7)" +DEBFILE='rootdir/etc/apt/sources.list.d/apt-test-unstable-deb.list' + +testequal "$PKGTEXT +Download complete and in download only mode" aptget install cool --assume-no -d + +sed -i -e 's#deb#deb [trusted=no]#' $DEBFILE +aptgetupdate + +testequal "$PKGTEXT +WARNING: The following packages cannot be authenticated! + cool +Install these packages without verification [y/N]? N +E: Some packages could not be authenticated" aptget install cool --assume-no -d + +find aptarchive/ \( -name 'Release.gpg' -o -name 'InRelease' \) -delete +sed -i -e 's#deb \[trusted=no\]#deb#' $DEBFILE +aptgetupdate + +testequal "$PKGTEXT +WARNING: The following packages cannot be authenticated! + cool +Install these packages without verification [y/N]? N +E: Some packages could not be authenticated" aptget install cool --assume-no -d + +sed -i -e 's#deb#deb [trusted=yes]#' $DEBFILE +aptgetupdate + +testequal "$PKGTEXT +Download complete and in download only mode" aptget install cool --assume-no -d diff --git a/test/integration/test-bug-601016-description-translation b/test/integration/test-bug-601016-description-translation index 2a323a201..44ab91900 100755 --- a/test/integration/test-bug-601016-description-translation +++ b/test/integration/test-bug-601016-description-translation @@ -57,7 +57,7 @@ Description-${LOCALE}: Mächtige Oberfläche für dpkg testrun() { echo "Acquire::Languages { \"${LOCALE}\"; \"en\"; };" > rootdir/etc/apt/apt.conf.d/00languages export LC_ALL="" - rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/ + rm -rf rootdir/var/lib/apt/lists setupaptarchive testequal "$LOCALESTANZA" aptcache show apt -o Test=File-${LOCALE} testequal "$NOLONGSTANZA" aptcache show apt -o Acquire::Languages="ww" -o Test=File-${LOCALE} diff --git a/test/integration/test-bug-618288-multiarch-same-lockstep b/test/integration/test-bug-618288-multiarch-same-lockstep index 7e384e428..7333054cc 100755 --- a/test/integration/test-bug-618288-multiarch-same-lockstep +++ b/test/integration/test-bug-618288-multiarch-same-lockstep @@ -17,7 +17,20 @@ buildsimplenativepackage 'apt2' 'amd64' '2' 'unstable' 'Depends: libsame (= 2)' setupaptarchive -testequal 'Reading package lists... +# order in switch libsame:{amd64,i386} are unpacked is irrelevant, as both are installed - but we need to do it together +testequalor2 'Reading package lists... +Building dependency tree... +The following packages will be upgraded: + apt:i386 apt2 libsame libsame:i386 +4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libsame:i386 [1] (2 unstable [i386]) [libsame:amd64 on libsame:i386] [libsame:i386 on libsame:amd64] [libsame:amd64 apt:i386 ] +Inst libsame [1] (2 unstable [amd64]) [apt2:amd64 apt:i386 ] +Conf libsame:i386 (2 unstable [i386]) [apt2:amd64 apt:i386 ] +Conf libsame (2 unstable [amd64]) [apt2:amd64 apt:i386 ] +Inst apt2 [1] (2 unstable [amd64]) [apt:i386 ] +Conf apt2 (2 unstable [amd64]) [apt:i386 ] +Inst apt:i386 [1] (2 unstable [i386]) +Conf apt:i386 (2 unstable [i386])' 'Reading package lists... Building dependency tree... The following packages will be upgraded: apt:i386 apt2 libsame libsame:i386 diff --git a/test/integration/test-bug-632221-cross-dependency-satisfaction b/test/integration/test-bug-632221-cross-dependency-satisfaction new file mode 100755 index 000000000..4299f052f --- /dev/null +++ b/test/integration/test-bug-632221-cross-dependency-satisfaction @@ -0,0 +1,183 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'amd64' 'armel' + +insertinstalledpackage 'build-essential' 'all' '11.5' + +insertpackage 'unstable' 'doxygen' 'amd64,armel' '1.0' +insertpackage 'unstable' 'libc6' 'amd64,armel' '1.0' 'Multi-Arch: same' +insertpackage 'unstable' 'libc6-dev' 'amd64,armel' '1.0' 'Depends: libc6 +Multi-Arch: same' +insertpackage 'unstable' 'cool' 'amd64,armel' '1.0' 'Multi-Arch: allowed' +insertpackage 'unstable' 'amdboot' 'amd64' '1.0' +insertpackage 'unstable' 'foreigner' 'amd64,armel' '1.0' 'Multi-Arch: foreign' + +insertsource 'unstable' 'apt' 'any' '0.8.15' 'Build-Depends: doxygen, libc6-dev, libc6-dev:native, cool:any, amdboot:amd64, foreigner' + +setupaptarchive + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot cool doxygen foreigner libc6 libc6-dev +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot (1.0 unstable [amd64]) +Inst cool (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [amd64]) +Inst foreigner (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [amd64]) +Inst libc6-dev (1.0 unstable [amd64]) +Conf amdboot (1.0 unstable [amd64]) +Conf cool (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [amd64]) +Conf foreigner (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf libc6-dev (1.0 unstable [amd64])' aptget build-dep apt -s + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot cool doxygen foreigner libc6 libc6:armel libc6-dev libc6-dev:armel +0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot (1.0 unstable [amd64]) +Inst cool (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [amd64]) +Inst foreigner (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [amd64]) +Inst libc6:armel (1.0 unstable [armel]) +Inst libc6-dev (1.0 unstable [amd64]) +Inst libc6-dev:armel (1.0 unstable [armel]) +Conf amdboot (1.0 unstable [amd64]) +Conf cool (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [amd64]) +Conf foreigner (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf libc6:armel (1.0 unstable [armel]) +Conf libc6-dev (1.0 unstable [amd64]) +Conf libc6-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel + +configarchitecture 'armel' 'amd64' + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot:amd64 cool doxygen foreigner libc6 libc6-dev +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot:amd64 (1.0 unstable [amd64]) +Inst cool (1.0 unstable [armel]) +Inst doxygen (1.0 unstable [armel]) +Inst foreigner (1.0 unstable [armel]) +Inst libc6 (1.0 unstable [armel]) +Inst libc6-dev (1.0 unstable [armel]) +Conf amdboot:amd64 (1.0 unstable [amd64]) +Conf cool (1.0 unstable [armel]) +Conf doxygen (1.0 unstable [armel]) +Conf foreigner (1.0 unstable [armel]) +Conf libc6 (1.0 unstable [armel]) +Conf libc6-dev (1.0 unstable [armel])' aptget build-dep apt -s + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot:amd64 cool doxygen foreigner libc6:amd64 libc6 libc6-dev:amd64 + libc6-dev +0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot:amd64 (1.0 unstable [amd64]) +Inst cool (1.0 unstable [armel]) +Inst doxygen (1.0 unstable [armel]) +Inst foreigner (1.0 unstable [armel]) +Inst libc6:amd64 (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [armel]) +Inst libc6-dev:amd64 (1.0 unstable [amd64]) +Inst libc6-dev (1.0 unstable [armel]) +Conf amdboot:amd64 (1.0 unstable [amd64]) +Conf cool (1.0 unstable [armel]) +Conf doxygen (1.0 unstable [armel]) +Conf foreigner (1.0 unstable [armel]) +Conf libc6:amd64 (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [armel]) +Conf libc6-dev:amd64 (1.0 unstable [amd64]) +Conf libc6-dev (1.0 unstable [armel])' aptget build-dep apt -s -a amd64 + +configarchitecture 'amd64' 'armel' + +insertinstalledpackage 'cool' 'amd64' '0.5' +insertinstalledpackage 'foreigner' 'armel' '0.5' + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot doxygen libc6 libc6-dev +0 upgraded, 4 newly installed, 0 to remove and 2 not upgraded. +Inst amdboot (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [amd64]) +Inst libc6-dev (1.0 unstable [amd64]) +Conf amdboot (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf libc6-dev (1.0 unstable [amd64])' aptget build-dep apt -s + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot doxygen libc6 libc6:armel libc6-dev libc6-dev:armel +0 upgraded, 6 newly installed, 0 to remove and 2 not upgraded. +Inst amdboot (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [amd64]) +Inst libc6:armel (1.0 unstable [armel]) +Inst libc6-dev (1.0 unstable [amd64]) +Inst libc6-dev:armel (1.0 unstable [armel]) +Conf amdboot (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf libc6:armel (1.0 unstable [armel]) +Conf libc6-dev (1.0 unstable [amd64]) +Conf libc6-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel + +configarchitecture 'armel' 'amd64' + +# cool 0.5 is not M-A: allowed, so amd64 is not acceptable +testequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + cool:amd64 +The following NEW packages will be installed: + amdboot:amd64 cool doxygen libc6 libc6-dev +0 upgraded, 5 newly installed, 1 to remove and 1 not upgraded. +Remv cool:amd64 [0.5] +Inst amdboot:amd64 (1.0 unstable [amd64]) +Inst cool (1.0 unstable [armel]) +Inst doxygen (1.0 unstable [armel]) +Inst libc6 (1.0 unstable [armel]) +Inst libc6-dev (1.0 unstable [armel]) +Conf amdboot:amd64 (1.0 unstable [amd64]) +Conf cool (1.0 unstable [armel]) +Conf doxygen (1.0 unstable [armel]) +Conf libc6 (1.0 unstable [armel]) +Conf libc6-dev (1.0 unstable [armel])' aptget build-dep apt -s + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot:amd64 doxygen libc6:amd64 libc6 libc6-dev:amd64 libc6-dev +0 upgraded, 6 newly installed, 0 to remove and 2 not upgraded. +Inst amdboot:amd64 (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [armel]) +Inst libc6:amd64 (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [armel]) +Inst libc6-dev:amd64 (1.0 unstable [amd64]) +Inst libc6-dev (1.0 unstable [armel]) +Conf amdboot:amd64 (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [armel]) +Conf libc6:amd64 (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [armel]) +Conf libc6-dev:amd64 (1.0 unstable [amd64]) +Conf libc6-dev (1.0 unstable [armel])' aptget build-dep apt -s -a amd64 + + diff --git a/test/integration/test-bug-633350-do-not-kill-last-char-in-Release b/test/integration/test-bug-633350-do-not-kill-last-char-in-Release new file mode 100755 index 000000000..2aae7cfcc --- /dev/null +++ b/test/integration/test-bug-633350-do-not-kill-last-char-in-Release @@ -0,0 +1,27 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'cool' 'amd64' '1.0' + +setupaptarchive 2> /dev/null + +echo 'NotAutomatic: yes' >> aptarchive/dists/unstable/Release + +signreleasefiles +find aptarchive/dists -name 'InRelease' -delete + +rm -rf rootdir/var/lib/apt/lists + +OUTPUT="$(aptget update 2>&1)" +msgtest 'Check that parsing happens without warnings' 'with missing newline' +if echo "${OUTPUT}" | grep '^W:' > /dev/null; then + msgfail + echo "${OUTPUT}" +else + msgpass +fi diff --git a/test/integration/test-compressed-indexes b/test/integration/test-compressed-indexes index 99943574e..a5e885745 100755 --- a/test/integration/test-compressed-indexes +++ b/test/integration/test-compressed-indexes @@ -10,10 +10,10 @@ configarchitecture "i386" buildsimplenativepackage "testpkg" "i386" "1.0" setupaptarchive -local GOODSHOW="$(aptcache show testpkg) +GOODSHOW="$(aptcache show testpkg) " -local GOODPOLICY="$(aptcache policy testpkg)" -local GOODSHOWSRC="$(aptcache showsrc testpkg) +GOODPOLICY="$(aptcache policy testpkg)" +GOODSHOWSRC="$(aptcache showsrc testpkg) " test $(echo "$GOODSHOW" | grep -e '^Package: testpkg' -e '^Version: 1.0' -e '^Architecture: i386' | wc -l) -eq 3 || msgdie 'show is broken' @@ -51,17 +51,16 @@ testrun() { 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 + rm -f 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 + rm -f 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 + rm -f 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 + aptget clean 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 @@ -100,7 +99,7 @@ testrun "compressed" rm rootdir/etc/apt/apt.conf.d/02compressindex changetowebserver aptget update -qq -local GOODPOLICY="$(aptcache policy testpkg)" +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 diff --git a/test/integration/test-disappearing-packages b/test/integration/test-disappearing-packages index b5d565c2f..82ba9e592 100755 --- a/test/integration/test-disappearing-packages +++ b/test/integration/test-disappearing-packages @@ -12,13 +12,13 @@ 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" +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" +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: @@ -33,9 +33,9 @@ aptget install old-pkg=1.0 --trivial-only -qq 2>&1 > /dev/null testmarkedauto # old-pkg is manual installed -local CMD="aptget dist-upgrade -y -q=0" +CMD="aptget dist-upgrade -y -q=0" msgtest "Test for equality of" "$CMD" -local COMPAREFILE=$(mktemp) +COMPAREFILE=$(mktemp) echo "The following package disappeared from your system as all files have been overwritten by other packages: old-pkg diff --git a/test/integration/test-handling-broken-orgroups b/test/integration/test-handling-broken-orgroups index d88ad0000..20b314074 100755 --- a/test/integration/test-handling-broken-orgroups +++ b/test/integration/test-handling-broken-orgroups @@ -58,7 +58,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: coolstuff-broken : Depends: cool2 but it is not installable or stuff2 but it is not installable -E: Broken packages' aptget install coolstuff-broken -s +E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-broken -s testequal 'Reading package lists... Building dependency tree... @@ -105,4 +105,4 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: coolstuff-provided-broken : Depends: cool2 but it is not installable or stuff-abi-2 -E: Broken packages' aptget install coolstuff-provided-broken -s +E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-provided-broken -s diff --git a/test/integration/test-hashsum-verification b/test/integration/test-hashsum-verification new file mode 100755 index 000000000..3ac9eccfb --- /dev/null +++ b/test/integration/test-hashsum-verification @@ -0,0 +1,81 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework + +setupenvironment +configarchitecture "i386" + +buildaptarchive +setupflataptarchive +changetowebserver + +prepare() { + local DATE="${2:-now}" + if [ "$DATE" = 'now' -a "$1" = "${PKGFILE}-new" ]; then + DATE='now + 6 days' + fi + for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do + touch -d 'now - 6 hours' $release + done + cp $1 aptarchive/Packages + find aptarchive -name 'Release' -delete + cat aptarchive/Packages | gzip > aptarchive/Packages.gz + cat aptarchive/Packages | bzip2 > aptarchive/Packages.bz2 + cat aptarchive/Packages | lzma > aptarchive/Packages.lzma + # create Release file with incorret checksums + cat > aptarchive/Release <<EOF +Date: Fri, 05 Aug 2011 09:22:08 UTC +MD5Sum: + x15c483ac486f5dbe95095c7ec08626f 760 Packages + x0579797df4792164a17305fb0b317e9 546 Packages.bz2 + xc532a82873d2206b4e4503e92d167bd 489 Packages.gz + x4d1d25661377dd4bb95a1736e2624d3 527 Packages.lzma + xf1cc221194edbaa943d2375d6f44a88 572 Packages.xz +SHA1: + x0d3317839cf68cd40c28f0bddca8d2ce5a29cad 760 Packages + xffddf046ad8dfd8338a355d76fb08d143c8b636 546 Packages.bz2 + xa27a3df51ca4474b880a6594c4811957079b613 489 Packages.gz + x9d7bba4e6fa927a34dcd797694c2893c21f1004 527 Packages.lzma + x7d988fe59cf67298828e5299a15d329c0f00f1b 572 Packages.xz +SHA256: + x5a47d72f6b97bfa164b23326b6ad3cb019b5c6cc73769f8c0187616933d1b2b 760 Packages + x617252f5bfe3e9126352c7c2f8122d9c3b2c5e1a6c8a9616d62adc0ed164172 546 Packages.bz2 + xc6abc6fe9a4fcf0758ec5366dfd19bcba90af026a7017c3f6198c59eccd8ef5 489 Packages.gz + xb306e66e5e6a7169c8d281a888539d1fdca9cecc99ae605717df579d5b9c166 527 Packages.lzma + x9585d0e66b74c9385727fbea11fea9ab33c716b18a32f3036f037a2b9b57120 572 Packages.xz +EOF + cp aptarchive/Release aptarchive/InRelease +} + +# fake our downloadable file +touch aptarchive/apt.deb + +PKGFILE="${TESTDIR}/$(echo "$(basename $0)" | sed 's#^test-#Packages-#')" + +runtest() { + prepare ${PKGFILE} + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' + find aptarchive/ -name "$DELETEFILE" -delete + + # test signed release file + msgtest 'apt-get update gets the expected hashsum mismatch' + aptget update 2>&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail + msgtest 'No package from the source available' + [ "$(aptcache show apt 2>&1)" = "E: No packages found" ] && msgpass || msgfail + msgtest 'No Packages file in /var/lib/apt/lists' + [ "$(ls rootdir/var/lib/apt/lists/*Package* 2>/dev/null)" = "" ] && msgpass || msgfail + + # now with the unsigned Release file + rm -rf rootdir/var/lib/apt/lists + rm aptarchive/InRelease aptarchive/Release.gpg + msgtest 'unsigned apt-get update gets the expected hashsum mismatch' + aptget update 2>&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail + + +} + +runtest + diff --git a/test/integration/test-policy-pinning b/test/integration/test-policy-pinning index fa356ed54..6b1473564 100755 --- a/test/integration/test-policy-pinning +++ b/test/integration/test-policy-pinning @@ -30,21 +30,18 @@ testequalpolicy 100 500 testequalpolicy 990 500 -t now sed -i aptarchive/Release -e 1i"NotAutomatic: yes" -rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin aptget update -qq testequalpolicy 100 1 -o Test=NotAutomatic testequalpolicy 990 1 -o Test=NotAutomatic -t now sed -i aptarchive/Release -e 1i"ButAutomaticUpgrades: yes" -rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin aptget update -qq testequalpolicy 100 100 -o Test=ButAutomaticUpgrades testequalpolicy 990 100 -o Test=ButAutomaticUpgrades -t now sed -i aptarchive/Release -e 's#NotAutomatic: yes#NotAutomatic: no#' -e '/ButAutomaticUpgrades: / d' -rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin aptget update -qq testequalpolicy 100 500 -o Test=Automatic @@ -135,7 +132,6 @@ Pin-Priority: -1" > rootdir/etc/apt/preferences rm rootdir/etc/apt/preferences sed -i aptarchive/dists/backports/Release -e 1i"NotAutomatic: yes" signreleasefiles -rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin aptget update -qq testequalpolicycoolstuff "" "1.0" 1 500 0 "" -o Test=NotAutomatic @@ -164,7 +160,6 @@ testequalpolicycoolstuff "" "1.0" 1 990 600 "2.0~bpo1" -o Test=NotAutomatic -t s rm rootdir/etc/apt/preferences sed -i aptarchive/dists/backports/Release -e 1i"ButAutomaticUpgrades: yes" signreleasefiles -rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin aptget update -qq testequalpolicycoolstuff "" "1.0" 100 500 0 "" -o Test=ButAutomaticUpgrades @@ -211,7 +206,6 @@ setupaptarchive sed -i aptarchive/dists/backports/Release -e 1i"NotAutomatic: yes" signreleasefiles -rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin aptget update -qq testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo1" 1 500 0 "" "2.0~bpo2" -o Test=NotAutomatic @@ -220,7 +214,6 @@ testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 990 500 0 "" "2.0~bpo2" -o Test=N sed -i aptarchive/dists/backports/Release -e 1i"ButAutomaticUpgrades: yes" signreleasefiles -rm rootdir/var/cache/apt/srcpkgcache.bin rootdir/var/cache/apt/pkgcache.bin aptget update -qq testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 100 500 0 "" "2.0~bpo2" -o Test=ButAutomaticUpgrades diff --git a/test/integration/test-release-candidate-switching b/test/integration/test-release-candidate-switching index b6dbe99db..0970cb935 100755 --- a/test/integration/test-release-candidate-switching +++ b/test/integration/test-release-candidate-switching @@ -416,4 +416,4 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: uninstallablepkg : Depends: libmtp8 (>= 10:0.20.1) but it is not going to be installed Depends: amarok-utils (= 2.3.2-2+exp) but 2.3.1-1+sid is to be installed -E: Broken packages" aptget install uninstallablepkg/experimental --trivial-only -V -q=0 +E: Unable to correct problems, you have held broken packages." aptget install uninstallablepkg/experimental --trivial-only -V -q=0 diff --git a/test/integration/test-releasefile-valid-until b/test/integration/test-releasefile-valid-until new file mode 100755 index 000000000..680a370cb --- /dev/null +++ b/test/integration/test-releasefile-valid-until @@ -0,0 +1,95 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +insertpackage 'wheezy' 'apt' 'all' '0.8.15' + +getlabelfromsuite() { + echo -n 'Testcases' +} + + +setupaptarchive + +setupreleasefile() { + rm -rf rootdir/var/lib/apt/lists + aptget clean + generatereleasefiles "$1" "$2" + signreleasefiles +} + +aptgetupdate() { + if aptget update $* 2>&1 | grep -q 'is expired'; then + return 1 + else + return 0 + fi +} + +setupreleasefile +msgtest 'Release file is accepted as it has' 'no Until' +aptgetupdate && msgpass || msgfail + +setupreleasefile +msgtest 'Release file is accepted as it has' 'no Until and good Max-Valid' +aptgetupdate -o Acquire::Max-ValidTime=3600 && msgpass || msgfail + +setupreleasefile 'now - 2 days' +msgtest 'Release file is rejected as it has' 'no Until, but bad Max-Valid' +aptgetupdate -o Acquire::Max-ValidTime=3600 && msgfail || msgpass + +setupreleasefile 'now - 3 days' 'now + 1 day' +msgtest 'Release file is accepted as it has' 'good Until' +aptgetupdate && msgpass || msgfail + +setupreleasefile 'now - 7 days' 'now - 4 days' +msgtest 'Release file is rejected as it has' 'bad Until' +aptgetupdate && msgfail || msgpass + +setupreleasefile 'now - 7 days' 'now - 4 days' +msgtest 'Release file is rejected as it has' 'bad Until (ignore good Max-Valid)' +aptgetupdate -o Acquire::Max-ValidTime=1209600 && msgfail || msgpass + +setupreleasefile 'now - 7 days' 'now - 4 days' +msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until)' +aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass + +setupreleasefile 'now - 7 days' 'now + 4 days' +msgtest 'Release file is rejected as it has' 'bad Max-Valid (good Until)' +aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass + +setupreleasefile 'now - 7 days' 'now + 4 days' +msgtest 'Release file is accepted as it has' 'good labeled Max-Valid' +aptgetupdate -o Acquire::Max-ValidTime=86400 -o Acquire::Max-ValidTime::Testcases=1209600 && msgpass || msgfail + +setupreleasefile 'now - 7 days' 'now + 4 days' +msgtest 'Release file is rejected as it has' 'bad labeled Max-Valid' +aptgetupdate -o Acquire::Max-ValidTime=1209600 -o Acquire::Max-ValidTime::Testcases=86400 && msgfail || msgpass + +setupreleasefile 'now - 7 days' 'now + 1 days' +msgtest 'Release file is accepted as it has' 'good Until (good Min-Valid, no Max-Valid)' +aptgetupdate -o Acquire::Min-ValidTime=1209600 && msgpass || msgfail + +setupreleasefile 'now - 7 days' 'now - 4 days' +msgtest 'Release file is accepted as it has' 'good Min-Valid (bad Until, no Max-Valid)' +aptgetupdate -o Acquire::Min-ValidTime=1209600 && msgpass || msgfail + +setupreleasefile 'now - 7 days' 'now - 2 days' +msgtest 'Release file is accepted as it has' 'good Min-Valid (bad Until, good Max-Valid) <' +aptgetupdate -o Acquire::Min-ValidTime=1209600 -o Acquire::Max-ValidTime=2419200 && msgpass || msgfail + +setupreleasefile 'now - 7 days' 'now - 2 days' +msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, good Min-Valid) >' +aptgetupdate -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=2419200 && msgfail || msgpass + +setupreleasefile 'now - 7 days' 'now - 2 days' +msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, bad Min-Valid) <' +aptgetupdate -o Acquire::Min-ValidTime=12096 -o Acquire::Max-ValidTime=241920 && msgfail || msgpass + +setupreleasefile 'now - 7 days' 'now - 2 days' +msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, bad Min-Valid) >' +aptgetupdate -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=241920 && msgfail || msgpass diff --git a/test/integration/test-releasefile-verification b/test/integration/test-releasefile-verification index 961c49895..8bf02a78f 100755 --- a/test/integration/test-releasefile-verification +++ b/test/integration/test-releasefile-verification @@ -19,8 +19,7 @@ prepare() { for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do touch -d 'now - 6 hours' $release done - rm -rf rootdir/var/cache/apt/archives - rm -f rootdir/var/cache/apt/*.bin + aptget clean cp $1 aptarchive/Packages find aptarchive -name 'Release' -delete cat aptarchive/Packages | gzip > aptarchive/Packages.gz diff --git a/test/integration/test-resolve-by-keep-new-recommends b/test/integration/test-resolve-by-keep-new-recommends new file mode 100755 index 000000000..8134b76aa --- /dev/null +++ b/test/integration/test-resolve-by-keep-new-recommends @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture "i386" + +insertinstalledpackage 'foo' 'i386' '1.0' +insertpackage 'unstable' 'foo' 'i386' '2.0' 'Recommends: bar' + +setupaptarchive + +UPGRADE_KEEP="Reading package lists... +Building dependency tree... +The following packages have been kept back: + foo +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded." +testequal "$UPGRADE_KEEP" aptget upgrade -s + diff --git a/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only new file mode 100755 index 000000000..d97011914 --- /dev/null +++ b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'apt' 'i386' '0.8.11' + +setupaptarchive + +rm -rf rootdir/var/lib/apt/lists + +find aptarchive/ -name 'Release.gpg' -delete +find aptarchive/ -name 'InRelease' -exec cp {} {}.old \; + +for RELEASE in $(find aptarchive/ -name 'InRelease'); do + (echo 'Origin: Marvin +Label: Marvin +Suite: experimental +Codename: experimental +MD5Sum: + 65fd410587b6978de2277f2912523f09 9360 Packages + d27b294ed172a1fa9dd5a53949914c5d 4076 Packages.bz2 + 2182897e0a2a0c09e760beaae117a015 2023 Packages.diff/Index + 1b895931853981ad8204d2439821b999 4144 Packages.gz'; echo; cat ${RELEASE}.old;) > ${RELEASE} +done +aptget update -qq > /dev/null 2> starts-with-unsigned.msg +sed -i 's#File .*InRelease#File InRelease#' starts-with-unsigned.msg +testfileequal starts-with-unsigned.msg "W: GPG error: file: unstable InRelease: File InRelease doesn't start with a clearsigned message" diff --git a/test/integration/test-ubuntu-bug-802901-multiarch-early-remove b/test/integration/test-ubuntu-bug-802901-multiarch-early-remove new file mode 100755 index 000000000..bdb4e5e4f --- /dev/null +++ b/test/integration/test-ubuntu-bug-802901-multiarch-early-remove @@ -0,0 +1,24 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'libgl1-mesa-glx' 'amd64' '2.0' 'Multi-Arch: same +Provides: libgl1 +Conflicts: libgl1' +insertpackage 'unstable' 'libgl1-mesa-glx' 'i386,amd64' '2.0' 'Multi-Arch: same +Provides: libgl1 +Conflicts: libgl1' + +setupaptarchive + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libgl1-mesa-glx:i386 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libgl1-mesa-glx:i386 (2.0 unstable [i386]) +Conf libgl1-mesa-glx:i386 (2.0 unstable [i386])' aptget install libgl1-mesa-glx:i386 -s diff --git a/test/integration/test-ubuntu-bug-806274-install-suggests b/test/integration/test-ubuntu-bug-806274-install-suggests new file mode 100755 index 000000000..fb72f0999 --- /dev/null +++ b/test/integration/test-ubuntu-bug-806274-install-suggests @@ -0,0 +1,81 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'apt' 'i386' '0.8.15' 'Depends: foo +Recommends: bar +Suggests: baz' +insertpackage 'unstable' 'foo' 'i386' '1.0' +insertpackage 'unstable' 'bar' 'i386' '1.0' +insertpackage 'unstable' 'baz' 'i386' '1.0' + +setupaptarchive + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + bar foo +Suggested packages: + baz +The following NEW packages will be installed: + apt bar foo +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [i386]) +Conf foo (1.0 unstable [i386]) +Inst apt (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386]) +Inst bar (1.0 unstable [i386]) +Conf bar (1.0 unstable [i386])' aptget install apt -s --install-recommends --no-install-suggests + + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + bar baz foo +The following NEW packages will be installed: + apt bar baz foo +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [i386]) +Conf foo (1.0 unstable [i386]) +Inst apt (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386]) +Inst bar (1.0 unstable [i386]) +Inst baz (1.0 unstable [i386]) +Conf bar (1.0 unstable [i386]) +Conf baz (1.0 unstable [i386])' aptget install apt -s --install-recommends --install-suggests + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + foo +Suggested packages: + baz +Recommended packages: + bar +The following NEW packages will be installed: + apt foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [i386]) +Conf foo (1.0 unstable [i386]) +Inst apt (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386])' aptget install apt -s --no-install-recommends --no-install-suggests + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + baz foo +Recommended packages: + bar +The following NEW packages will be installed: + apt baz foo +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [i386]) +Conf foo (1.0 unstable [i386]) +Inst apt (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386]) +Inst baz (1.0 unstable [i386]) +Conf baz (1.0 unstable [i386])' aptget install apt -s --no-install-recommends --install-suggests diff --git a/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first new file mode 100755 index 000000000..a9a4069cf --- /dev/null +++ b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'libsame' 'i386' '1' +insertinstalledpackage 'apt' 'i386' '1' 'Depends: libsame (= 1)' + +insertpackage 'unstable' 'libsame' 'i386,amd64' '2' 'Multi-Arch: same' +insertpackage 'unstable' 'apt' 'i386' '2' 'Depends: libsame (= 2)' + +setupaptarchive + +testequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + apt:i386 libsame:i386 +The following NEW packages will be installed: + libsame +The following packages will be upgraded: + apt:i386 libsame:i386 +2 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsame:i386 [1] (2 unstable [i386]) [apt:i386 ] +Inst libsame (2 unstable [amd64]) [apt:i386 ] +Conf libsame:i386 (2 unstable [i386]) [apt:i386 ] +Conf libsame (2 unstable [amd64]) [apt:i386 ] +Inst apt:i386 [1] (2 unstable [i386]) +Conf apt:i386 (2 unstable [i386])' aptget install libsame:amd64 -s diff --git a/test/extract-control.cc b/test/interactive-helper/extract-control.cc index 29dcbf371..29dcbf371 100644 --- a/test/extract-control.cc +++ b/test/interactive-helper/extract-control.cc diff --git a/test/makefile b/test/interactive-helper/makefile index 52adb96a2..b96139fda 100644 --- a/test/makefile +++ b/test/interactive-helper/makefile @@ -1,9 +1,9 @@ # -*- make -*- -BASE=.. -SUBDIR=test +BASE=../.. +SUBDIR=test/interactive-helper # Bring in the default rules -include ../buildlib/defaults.mak +include ../../buildlib/defaults.mak # Program for testing methods PROGRAM=mthdcat @@ -11,19 +11,6 @@ SLIBS = SOURCE = mthdcat.cc include $(PROGRAM_H) -# Program for testing methods -PROGRAM=uritest -SLIBS = -lapt-pkg -SOURCE = uri.cc -include $(PROGRAM_H) - -# Scratch program to test incomplete code fragments in -PROGRAM=scratch-test -SLIBS = -lapt-inst -lapt-pkg -LIB_MAKES = apt-pkg/makefile apt-inst/makefile -SOURCE = scratch.cc -include $(PROGRAM_H) - # Version compare tester PROGRAM=testextract SLIBS = -lapt-pkg -lapt-inst @@ -31,18 +18,6 @@ LIB_MAKES = apt-pkg/makefile apt-inst/makefile SOURCE = testextract.cc include $(PROGRAM_H) -# Program for testing the config file parser -PROGRAM=conftest_clear -SLIBS = -lapt-pkg -SOURCE = conf_clear.cc -include $(PROGRAM_H) - -# Program for testing the config file parser -PROGRAM=conftest -SLIBS = -lapt-pkg -SOURCE = conf.cc -include $(PROGRAM_H) - # Program for testing the tar/deb extractor PROGRAM=testdeb SLIBS = -lapt-pkg -lapt-inst @@ -55,12 +30,6 @@ SLIBS = -lapt-pkg -lapt-inst SOURCE = extract-control.cc include $(PROGRAM_H) -# Program for testing hashes -PROGRAM=hash -SLIBS = -lapt-pkg -SOURCE = hash.cc -include $(PROGRAM_H) - # Program for testing udevcdrom PROGRAM=test_udevcdrom SLIBS = -lapt-pkg diff --git a/test/mthdcat.cc b/test/interactive-helper/mthdcat.cc index 25d09a3f5..25d09a3f5 100644 --- a/test/mthdcat.cc +++ b/test/interactive-helper/mthdcat.cc diff --git a/test/networkless-install-fixes/README b/test/interactive-helper/networkless-install-fixes/README index e7ee2b03d..e7ee2b03d 100644 --- a/test/networkless-install-fixes/README +++ b/test/interactive-helper/networkless-install-fixes/README diff --git a/test/networkless-install-fixes/sources.test.list b/test/interactive-helper/networkless-install-fixes/sources.test.list index 380e1804d..380e1804d 100644 --- a/test/networkless-install-fixes/sources.test.list +++ b/test/interactive-helper/networkless-install-fixes/sources.test.list diff --git a/test/networkless-install-fixes/test.sh b/test/interactive-helper/networkless-install-fixes/test.sh index 809d467ba..809d467ba 100755 --- a/test/networkless-install-fixes/test.sh +++ b/test/interactive-helper/networkless-install-fixes/test.sh diff --git a/test/rpmver.cc b/test/interactive-helper/rpmver.cc index 9fc807de8..9fc807de8 100644 --- a/test/rpmver.cc +++ b/test/interactive-helper/rpmver.cc diff --git a/test/test_udevcdrom.cc b/test/interactive-helper/test_udevcdrom.cc index e65c7a297..dc25ab357 100644 --- a/test/test_udevcdrom.cc +++ b/test/interactive-helper/test_udevcdrom.cc @@ -4,14 +4,13 @@ int main() { - int i; pkgUdevCdromDevices c; assert(c.Dlopen()); vector<CdromDevice> l; l = c.Scan(); - assert(l.size() > 0); - for (i=0;i<l.size();i++) + assert(l.empty() == false); + for (size_t i = 0; i < l.size(); ++i) std::cerr << l[i].DeviceName << " " << l[i].Mounted << " " << l[i].MountPath << std::endl; diff --git a/test/testdeb.cc b/test/interactive-helper/testdeb.cc index d28f20114..d28f20114 100644 --- a/test/testdeb.cc +++ b/test/interactive-helper/testdeb.cc diff --git a/test/testextract.cc b/test/interactive-helper/testextract.cc index b790df618..b790df618 100644 --- a/test/testextract.cc +++ b/test/interactive-helper/testextract.cc diff --git a/test/libapt/assert.h b/test/libapt/assert.h index 5da76ae0a..fae9b6c64 100644 --- a/test/libapt/assert.h +++ b/test/libapt/assert.h @@ -1,9 +1,9 @@ #include <iostream> -#define equals(x,y) assertEquals(x, y, __LINE__) +#define equals(x,y) assertEquals(y, x, __LINE__) template < typename X, typename Y > -void OutputAssert(X expect, char const* compare, Y get, unsigned long const &line) { +void OutputAssertEqual(X expect, char const* compare, Y get, unsigned long const &line) { std::cerr << "Test FAILED: »" << expect << "« " << compare << " »" << get << "« at line " << line << std::endl; } @@ -11,11 +11,53 @@ template < typename X, typename Y > void assertEquals(X expect, Y get, unsigned long const &line) { if (expect == get) return; - OutputAssert(expect, "==", get, line); + OutputAssertEqual(expect, "==", get, line); } void assertEquals(unsigned int const &expect, int const &get, unsigned long const &line) { if (get < 0) - OutputAssert(expect, "==", get, line); + OutputAssertEqual(expect, "==", get, line); assertEquals<unsigned int const&, unsigned int const&>(expect, get, line); } + +void assertEquals(int const &expect, unsigned int const &get, unsigned long const &line) { + if (expect < 0) + OutputAssertEqual(expect, "==", get, line); + assertEquals<unsigned int const&, unsigned int const&>(expect, get, line); +} + + +#define equalsOr2(x,y,z) assertEqualsOr2(y, z, x, __LINE__) + +template < typename X, typename Y > +void OutputAssertEqualOr2(X expect1, X expect2, char const* compare, Y get, unsigned long const &line) { + std::cerr << "Test FAILED: »" << expect1 << "« or »" << expect2 << "« " << compare << " »" << get << "« at line " << line << std::endl; +} + +template < typename X, typename Y > +void assertEqualsOr2(X expect1, X expect2, Y get, unsigned long const &line) { + if (expect1 == get || expect2 == get) + return; + OutputAssertEqualOr2(expect1, expect2, "==", get, line); +} + +void assertEqualsOr2(unsigned int const &expect1, unsigned int const &expect2, int const &get, unsigned long const &line) { + if (get < 0) + OutputAssertEqualOr2(expect1, expect2, "==", get, line); + assertEqualsOr2<unsigned int const&, unsigned int const&>(expect1, expect2, get, line); +} + +void assertEqualsOr2(int const &expect1, int const &expect2, unsigned int const &get, unsigned long const &line) { + if (expect1 < 0 && expect2 < 0) + OutputAssertEqualOr2(expect1, expect2, "==", get, line); + assertEqualsOr2<unsigned int const&, unsigned int const&>(expect1, expect2, get, line); +} + + +// simple helper to quickly output a vectors +template < typename X > +void dumpVector(X vec) { + for (typename X::const_iterator v = vec.begin(); + v != vec.end(); ++v) + std::cout << *v << std::endl; +} diff --git a/test/libapt/compareversion_test.cc b/test/libapt/compareversion_test.cc index b6213e84c..fdb1d5674 100644 --- a/test/libapt/compareversion_test.cc +++ b/test/libapt/compareversion_test.cc @@ -63,6 +63,9 @@ void assertVersion(int const &CurLine, string const &A, string const &B, int con bool RunTest(const char *File) { + if (FileExists(File) == false) + return _error->Error("Versiontestfile %s doesn't exist!", File); + ifstream F(File,ios::in); if (!F != 0) return false; @@ -112,8 +115,8 @@ bool RunTest(const char *File) int main(int argc, char *argv[]) { - if (argc <= 1) - RunTest("../versions.lst"); + if (argc != 2) + return 1; else RunTest(argv[1]); diff --git a/test/libapt/configuration_test.cc b/test/libapt/configuration_test.cc new file mode 100644 index 000000000..5b23d17fb --- /dev/null +++ b/test/libapt/configuration_test.cc @@ -0,0 +1,78 @@ +#include <apt-pkg/configuration.h> + +#include <string> +#include <vector> + +#include "assert.h" + +int main(int argc,const char *argv[]) { + Configuration Cnf; + std::vector<std::string> fds; + + Cnf.Set("APT::Keep-Fds::",28); + Cnf.Set("APT::Keep-Fds::",17); + Cnf.Set("APT::Keep-Fds::2",47); + Cnf.Set("APT::Keep-Fds::","broken"); + fds = Cnf.FindVector("APT::Keep-Fds"); + equals(fds[0], "28"); + equals(fds[1], "17"); + equals(fds[2], "47"); + equals(fds[3], "broken"); + equals(fds.size(), 4); + equals(Cnf.Exists("APT::Keep-Fds::2"), true); + equals(Cnf.Find("APT::Keep-Fds::2"), "47"); + equals(Cnf.FindI("APT::Keep-Fds::2"), 47); + equals(Cnf.Exists("APT::Keep-Fds::3"), false); + equals(Cnf.Find("APT::Keep-Fds::3"), ""); + equals(Cnf.FindI("APT::Keep-Fds::3", 56), 56); + equals(Cnf.Find("APT::Keep-Fds::3", "not-set"), "not-set"); + + Cnf.Clear("APT::Keep-Fds::2"); + fds = Cnf.FindVector("APT::Keep-Fds"); + equals(fds[0], "28"); + equals(fds[1], "17"); + equals(fds[2], ""); + equals(fds[3], "broken"); + equals(fds.size(), 4); + equals(Cnf.Exists("APT::Keep-Fds::2"), true); + + Cnf.Clear("APT::Keep-Fds",28); + fds = Cnf.FindVector("APT::Keep-Fds"); + equals(fds[0], "17"); + equals(fds[1], ""); + equals(fds[2], "broken"); + equals(fds.size(), 3); + + Cnf.Clear("APT::Keep-Fds",""); + equals(Cnf.Exists("APT::Keep-Fds::2"), false); + + Cnf.Clear("APT::Keep-Fds",17); + Cnf.Clear("APT::Keep-Fds","broken"); + fds = Cnf.FindVector("APT::Keep-Fds"); + equals(fds.empty(), true); + + Cnf.Set("APT::Keep-Fds::",21); + Cnf.Set("APT::Keep-Fds::",42); + fds = Cnf.FindVector("APT::Keep-Fds"); + equals(fds[0], "21"); + equals(fds[1], "42"); + equals(fds.size(), 2); + + Cnf.Clear("APT::Keep-Fds"); + fds = Cnf.FindVector("APT::Keep-Fds"); + equals(fds.empty(), true); + + Cnf.CndSet("APT::Version", 42); + Cnf.CndSet("APT::Version", "66"); + equals(Cnf.Find("APT::Version"), "42"); + equals(Cnf.FindI("APT::Version"), 42); + equals(Cnf.Find("APT::Version", "33"), "42"); + equals(Cnf.FindI("APT::Version", 33), 42); + equals(Cnf.Find("APT2::Version", "33"), "33"); + equals(Cnf.FindI("APT2::Version", 33), 33); + + //FIXME: Test for configuration file parsing; + // currently only integration/ tests test them implicitly + + return 0; +} diff --git a/test/libapt/getarchitectures_test.cc b/test/libapt/getarchitectures_test.cc index 1500caeed..807469263 100644 --- a/test/libapt/getarchitectures_test.cc +++ b/test/libapt/getarchitectures_test.cc @@ -7,13 +7,6 @@ #include <iostream> -// simple helper to quickly output a vector of strings -void dumpVector(std::vector<std::string> vec) { - for (std::vector<std::string>::const_iterator v = vec.begin(); - v != vec.end(); v++) - std::cout << *v << std::endl; -} - int main(int argc,char *argv[]) { std::vector<std::string> vec; @@ -39,6 +32,12 @@ int main(int argc,char *argv[]) _config->Set("APT::Architecture", "armel"); vec = APT::Configuration::getArchitectures(false); equals(vec.size(), 2); + equals(vec[0], "armel"); + equals(vec[1], "i386"); + + _config->Set("APT::Architectures::2", "armel"); + vec = APT::Configuration::getArchitectures(false); + equals(vec.size(), 2); equals(vec[0], "i386"); equals(vec[1], "armel"); diff --git a/test/libapt/getlanguages_test.cc b/test/libapt/getlanguages_test.cc index 707142aef..f6aa7a697 100644 --- a/test/libapt/getlanguages_test.cc +++ b/test/libapt/getlanguages_test.cc @@ -7,13 +7,6 @@ #include <iostream> -// simple helper to quickly output a vector of strings -void dumpVector(std::vector<std::string> vec) { - for (std::vector<std::string>::const_iterator v = vec.begin(); - v != vec.end(); v++) - std::cout << *v << std::endl; -} - int main(int argc,char *argv[]) { if (argc != 2) { @@ -138,8 +131,8 @@ int main(int argc,char *argv[]) equals(vec[1], "de"); equals(vec[2], "en"); equals(vec[3], "none"); - equals(vec[4], "pt"); - equals(vec[5], "tr"); + equalsOr2(vec[4], "pt", "tr"); + equalsOr2(vec[5], "tr", "pt"); _config->Set("Dir::State::lists", "/non-existing-dir"); _config->Set("Acquire::Languages::1", "none"); diff --git a/test/libapt/getlistoffilesindir_test.cc b/test/libapt/getlistoffilesindir_test.cc index ed8d2dad6..5ee014cca 100644 --- a/test/libapt/getlistoffilesindir_test.cc +++ b/test/libapt/getlistoffilesindir_test.cc @@ -7,13 +7,6 @@ #include <stdio.h> #include <iostream> -// simple helper to quickly output a vector of strings -void dumpVector(std::vector<std::string> vec) { - for (std::vector<std::string>::const_iterator v = vec.begin(); - v != vec.end(); v++) - std::cout << *v << std::endl; -} - #define P(x) string(argv[1]).append("/").append(x) int main(int argc,char *argv[]) diff --git a/test/libapt/globalerror_test.cc b/test/libapt/globalerror_test.cc index 7d933f5a8..5d27414f9 100644 --- a/test/libapt/globalerror_test.cc +++ b/test/libapt/globalerror_test.cc @@ -101,7 +101,7 @@ int main(int argc,char *argv[]) longText.clear(); for (size_t i = 0; i < 50; ++i) longText.append("РезийбёбAZ"); - equals(_error->Warning(longText.c_str()), false); + equals(_error->Warning("%s", longText.c_str()), false); equals(_error->PopMessage(text), false); equals(text, longText); diff --git a/test/libapt/hashsums_test.cc b/test/libapt/hashsums_test.cc new file mode 100644 index 000000000..2cb71cc38 --- /dev/null +++ b/test/libapt/hashsums_test.cc @@ -0,0 +1,156 @@ +#include <apt-pkg/md5.h> +#include <apt-pkg/sha1.h> +#include <apt-pkg/sha2.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/hashes.h> +#include <iostream> + +#include <stdio.h> + +#include "assert.h" + +template <class T> void Test(const char *In,const char *Out) +{ + T Sum; + Sum.Add(In); + equals(Sum.Result().Value(), Out); +} + +template <class T> void TestMill(const char *Out) +{ + T Sum; + + const unsigned char As[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; + unsigned Count = 1000000; + for (; Count != 0;) + { + if (Count >= 64) + { + Sum.Add(As,64); + Count -= 64; + } + else + { + Sum.Add(As,Count); + Count = 0; + } + } + + if (stringcasecmp(Sum.Result().Value(), Out) != 0) + abort(); +} + +int main(int argc, char** argv) +{ + // From FIPS PUB 180-1 + Test<SHA1Summation>("","da39a3ee5e6b4b0d3255bfef95601890afd80709"); + Test<SHA1Summation>("abc","a9993e364706816aba3e25717850c26c9cd0d89d"); + Test<SHA1Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + "84983e441c3bd26ebaae4aa1f95129e5e54670f1"); + TestMill<SHA1Summation>("34aa973cd4c4daa4f61eeb2bdbad27316534016f"); + + // MD5 tests from RFC 1321 + Test<MD5Summation>("","d41d8cd98f00b204e9800998ecf8427e"); + Test<MD5Summation>("a","0cc175b9c0f1b6a831c399e269772661"); + Test<MD5Summation>("abc","900150983cd24fb0d6963f7d28e17f72"); + Test<MD5Summation>("message digest","f96b697d7cb7938d525a2f31aaf161d0"); + Test<MD5Summation>("abcdefghijklmnopqrstuvwxyz","c3fcd3d76192e4007dfb496cca67e13b"); + Test<MD5Summation>("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", + "d174ab98d277d9f5a5611c2c9f419d9f"); + Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890", + "57edf4a22be3c955ac49da2e2107b67a"); + + // SHA-256, From FIPS 180-2 + Test<SHA256Summation>("", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"); + Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1"); + + // SHA-512 + Test<SHA512Summation>("", + "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce" + "47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"); + Test<SHA512Summation>( + "abc", + "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a" + "2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f"); + + + Test<MD5Summation>("The quick brown fox jumps over the lazy dog", "9e107d9d372bb6826bd81d3542a419d6"); + Test<MD5Summation>("The quick brown fox jumps over the lazy dog.", "e4d909c290d0fb1ca068ffaddf22cbd0"); + Test<SHA1Summation>("The quick brown fox jumps over the lazy dog", "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"); + Test<SHA1Summation>("The quick brown fox jumps over the lazy cog", "de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3"); + Test<SHA256Summation>("The quick brown fox jumps over the lazy dog", "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592"); + Test<SHA256Summation>("The quick brown fox jumps over the lazy dog.", "ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c"); + Test<SHA512Summation>("The quick brown fox jumps over the lazy dog", "07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb64" + "2e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6"); + Test<SHA512Summation>("The quick brown fox jumps over the lazy dog.", "91ea1245f20d46ae9a037a989f54f1f790f0a47607eeb8a14d12890cea77a1bb" + "c6c7ed9cf205e67b7f2b8fd4c7dfd3a7a8617e45f3c463d481c7e586c39ac1ed"); + + FILE* fd = fopen(argv[1], "r"); + if (fd == NULL) { + std::cerr << "Can't open file for 1. testing: " << argv[1] << std::endl; + return 1; + } + { + Hashes hashes; + hashes.AddFD(fileno(fd)); + equals(argv[2], hashes.MD5.Result().Value()); + equals(argv[3], hashes.SHA1.Result().Value()); + equals(argv[4], hashes.SHA256.Result().Value()); + equals(argv[5], hashes.SHA512.Result().Value()); + } + fseek(fd, 0L, SEEK_END); + unsigned long sz = ftell(fd); + fseek(fd, 0L, SEEK_SET); + { + Hashes hashes; + hashes.AddFD(fileno(fd), sz); + equals(argv[2], hashes.MD5.Result().Value()); + equals(argv[3], hashes.SHA1.Result().Value()); + equals(argv[4], hashes.SHA256.Result().Value()); + equals(argv[5], hashes.SHA512.Result().Value()); + } + fseek(fd, 0L, SEEK_SET); + { + MD5Summation md5; + md5.AddFD(fileno(fd)); + equals(argv[2], md5.Result().Value()); + } + fseek(fd, 0L, SEEK_SET); + { + SHA1Summation sha1; + sha1.AddFD(fileno(fd)); + equals(argv[3], sha1.Result().Value()); + } + fseek(fd, 0L, SEEK_SET); + { + SHA256Summation sha2; + sha2.AddFD(fileno(fd)); + equals(argv[4], sha2.Result().Value()); + } + fseek(fd, 0L, SEEK_SET); + { + SHA512Summation sha2; + sha2.AddFD(fileno(fd)); + equals(argv[5], sha2.Result().Value()); + } + fclose(fd); + + // test HashString code + { + HashString sha2("SHA256", argv[4]); + equals(sha2.VerifyFile(argv[1]), true); + } + { + HashString sha2("SHA512", argv[5]); + equals(sha2.VerifyFile(argv[1]), true); + } + { + HashString sha2("SHA256:"+string(argv[4])); + equals(sha2.VerifyFile(argv[1]), true); + } + + return 0; +} + + diff --git a/test/libapt/makefile b/test/libapt/makefile index 50058262e..d3dddaeed 100644 --- a/test/libapt/makefile +++ b/test/libapt/makefile @@ -6,6 +6,10 @@ BASENAME=_libapt_test # Bring in the default rules include ../../buildlib/defaults.mak +.PHONY: test +test: + ./run-tests + # Program for testing getLanguageCode PROGRAM = getLanguages${BASENAME} SLIBS = -lapt-pkg @@ -46,3 +50,27 @@ PROGRAM = GlobalError${BASENAME} SLIBS = -lapt-pkg SOURCE = globalerror_test.cc include $(PROGRAM_H) + +# test the different Hashsum classes +PROGRAM = HashSums${BASENAME} +SLIBS = -lapt-pkg +SOURCE = hashsums_test.cc +include $(PROGRAM_H) + +# test the strutils stuff +PROGRAM = StrUtil${BASENAME} +SLIBS = -lapt-pkg +SOURCE = strutil_test.cc +include $(PROGRAM_H) + +# test the URI parsing stuff +PROGRAM = URI${BASENAME} +SLIBS = -lapt-pkg +SOURCE = uri_test.cc +include $(PROGRAM_H) + +# test the Configuration class +PROGRAM = Configuration${BASENAME} +SLIBS = -lapt-pkg +SOURCE = configuration_test.cc +include $(PROGRAM_H) diff --git a/test/libapt/run-tests b/test/libapt/run-tests index 4b71c2097..8cb2e049c 100755 --- a/test/libapt/run-tests +++ b/test/libapt/run-tests @@ -3,19 +3,32 @@ set -e DIR=$(readlink -f $(dirname $0)) echo "Compiling the tests …" -test -d "$DIR/../../build/obj/test/libapt/" || mkdir -p "$DIR/../../build/obj/test/libapt/" (cd $DIR && make) echo "Running all testcases …" LDPATH="$DIR/../../build/bin" EXT="_libapt_test" + +# detect if output is on a terminal (colorful) or better not +if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then + COLHIGH='\033[1;35m' + COLRESET='\033[0m' + TESTOKAY='\033[1;32mOKAY\033[0m' + TESTFAIL='\033[1;31mFAILED\033[0m' +else + COLHIGH='' + COLRESET='' + TESTOKAY='OK' + TESTFAIL='###FAILED###' +fi + for testapp in $(ls ${LDPATH}/*$EXT) do name=$(basename ${testapp}) + NAME="${COLHIGH}${name}${COLRESET}" tmppath="" if [ $name = "GetListOfFilesInDir${EXT}" ]; then # TODO: very-low: move env creation to the actual test-app - echo "Prepare Testarea for \033[1;35m$name\033[0m ..." tmppath=$(mktemp -d) touch "${tmppath}/anormalfile" \ "${tmppath}/01yet-anothernormalfile" \ @@ -47,20 +60,26 @@ do ln -s "${tmppath}/anormalfile" "${tmppath}/linkedfile.list" ln -s "${tmppath}/non-existing-file" "${tmppath}/brokenlink.list" elif [ $name = "getLanguages${EXT}" ]; then - echo "Prepare Testarea for \033[1;35m$name\033[0m ..." tmppath=$(mktemp -d) touch "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-tr" \ "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-pt" \ "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-se~" \ "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-st.bak" + elif [ $name = "HashSums${EXT}" ]; then + TMP="$(mktemp)" + dmesg > $TMP + echo -n "Testing with \033[1;35m${name}\033[0m ... " + LD_LIBRARY_PATH=${LDPATH} ${testapp} $TMP $(md5sum $TMP | cut -d' ' -f 1) $(sha1sum $TMP | cut -d' ' -f 1) $(sha256sum $TMP | cut -d' ' -f 1) $(sha512sum $TMP | cut -d' ' -f 1) && echo "\033[1;32mOKAY\033[0m" || echo "\033[1;31mFAILED\033[0m" + rm $TMP + continue + elif [ $name = "CompareVersion${EXT}" ]; then + tmppath="${DIR}/versions.lst" fi - echo -n "Testing with \033[1;35m${name}\033[0m ... " - LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} && echo "\033[1;32mOKAY\033[0m" || echo "\033[1;31mFAILED\033[0m" + echo -n "Testing with ${NAME} " + LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} && echo "$TESTOKAY" || echo "$TESTFAIL" if [ -n "$tmppath" -a -d "$tmppath" ]; then - echo "Cleanup Testarea after \033[1;35m$name\033[0m ..." rm -rf "$tmppath" fi - done diff --git a/test/libapt/strutil_test.cc b/test/libapt/strutil_test.cc new file mode 100644 index 000000000..af6eb2cc6 --- /dev/null +++ b/test/libapt/strutil_test.cc @@ -0,0 +1,46 @@ +#include <apt-pkg/strutl.h> + +#include "assert.h" + +int main(int argc,char *argv[]) +{ + string input, output, expected; + + // no input + input = "foobar"; + expected = "foobar"; + output = DeEscapeString(input); + equals(output, expected); + + // hex and octal + input = "foo\\040bar\\x0abaz"; + expected = "foo bar\nbaz"; + output = DeEscapeString(input); + equals(output, expected); + + // at the end + input = "foo\\040"; + expected = "foo "; + output = DeEscapeString(input); + equals(output, expected); + + // double escape + input = "foo\\\\ x"; + expected = "foo\\ x"; + output = DeEscapeString(input); + equals(output, expected); + + // double escape at the end + input = "\\\\foo\\\\"; + expected = "\\foo\\"; + output = DeEscapeString(input); + equals(output, expected); + + // the string that we actually need it for + input = "/media/Ubuntu\\04011.04\\040amd64"; + expected = "/media/Ubuntu 11.04 amd64"; + output = DeEscapeString(input); + equals(output, expected); + + return 0; +} diff --git a/test/libapt/uri_test.cc b/test/libapt/uri_test.cc new file mode 100644 index 000000000..99bb3067e --- /dev/null +++ b/test/libapt/uri_test.cc @@ -0,0 +1,112 @@ +#include <apt-pkg/strutl.h> + +#include "assert.h" + +int main() { + // Basic stuff + { + URI U("http://www.debian.org:90/temp/test"); + equals("http", U.Access); + equals("", U.User); + equals("", U.Password); + equals(90, U.Port); + equals("www.debian.org", U.Host); + equals("/temp/test", U.Path); + } { + URI U("http://jgg:foo@ualberta.ca/blah"); + equals("http", U.Access); + equals("jgg", U.User); + equals("foo", U.Password); + equals(0, U.Port); + equals("ualberta.ca", U.Host); + equals("/blah", U.Path); + } { + URI U("file:/usr/bin/foo"); + equals("file", U.Access); + equals("", U.User); + equals("", U.Password); + equals(0, U.Port); + equals("", U.Host); + equals("/usr/bin/foo", U.Path); + } { + URI U("cdrom:Moo Cow Rom:/debian"); + equals("cdrom", U.Access); + equals("", U.User); + equals("", U.Password); + equals(0, U.Port); + equals("Moo Cow Rom", U.Host); + equals("/debian", U.Path); + } { + URI U("gzip:./bar/cow"); + equals("gzip", U.Access); + equals("", U.User); + equals("", U.Password); + equals(0, U.Port); + equals(".", U.Host); + equals("/bar/cow", U.Path); + } { + URI U("ftp:ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb"); + equals("ftp", U.Access); + equals("", U.User); + equals("", U.Password); + equals(0, U.Port); + equals("ftp.fr.debian.org", U.Host); + equals("/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb", U.Path); + } + + // RFC 2732 stuff + { + URI U("http://[1080::8:800:200C:417A]/foo"); + equals("http", U.Access); + equals("", U.User); + equals("", U.Password); + equals(0, U.Port); + equals("1080::8:800:200C:417A", U.Host); + equals("/foo", U.Path); + } { + URI U("http://[::FFFF:129.144.52.38]:80/index.html"); + equals("http", U.Access); + equals("", U.User); + equals("", U.Password); + equals(80, U.Port); + equals("::FFFF:129.144.52.38", U.Host); + equals("/index.html", U.Path); + } { + URI U("http://[::FFFF:129.144.52.38:]:80/index.html"); + equals("http", U.Access); + equals("", U.User); + equals("", U.Password); + equals(80, U.Port); + equals("::FFFF:129.144.52.38:", U.Host); + equals("/index.html", U.Path); + } { + URI U("http://[::FFFF:129.144.52.38:]/index.html"); + equals("http", U.Access); + equals("", U.User); + equals("", U.Password); + equals(0, U.Port); + equals("::FFFF:129.144.52.38:", U.Host); + equals("/index.html", U.Path); + } + /* My Evil Corruption of RFC 2732 to handle CDROM names! Fun for + the whole family! */ + { + URI U("cdrom:[The Debian 1.2 disk, 1/2 R1:6]/debian/"); + equals("cdrom", U.Access); + equals("", U.User); + equals("", U.Password); + equals(0, U.Port); + equals("The Debian 1.2 disk, 1/2 R1:6", U.Host); + equals("/debian/", U.Path); + } { + URI U("cdrom:Foo Bar Cow/debian/"); + equals("cdrom", U.Access); + equals("", U.User); + equals("", U.Password); + equals(0, U.Port); + equals("Foo Bar Cow", U.Host); + equals("/debian/", U.Path); + } + + return 0; +} diff --git a/test/versions.lst b/test/libapt/versions.lst index 8dd8ebdc9..8dd8ebdc9 100644 --- a/test/versions.lst +++ b/test/libapt/versions.lst diff --git a/test/local-repo/Packages b/test/local-repo/Packages deleted file mode 100644 index fe62fc038..000000000 --- a/test/local-repo/Packages +++ /dev/null @@ -1,11 +0,0 @@ -Package: gdebi-test4 -Architecture: all -Version: 1.0 -Conflicts: apt (<= 0.1) -Filename: ./gdebi-test4.deb -Size: 2306 -MD5sum: 0952a2b4a566215e0794c7603f3fcfcc -SHA1: 318688ea2d53352a1bdb669ebd2cd4847f6c4e7c -SHA256: 35f600b57253cef807a1da7c5deb06e7821de9223842a310a77b4da87cf51e2c -Description: testpackage for gdebi - Conflicts: apt (<= 0.1) - diff --git a/test/local-repo/Packages.gz b/test/local-repo/Packages.gz Binary files differdeleted file mode 100644 index b5d528435..000000000 --- a/test/local-repo/Packages.gz +++ /dev/null diff --git a/test/local-repo/Packages.gz.save b/test/local-repo/Packages.gz.save Binary files differdeleted file mode 100644 index c73f56395..000000000 --- a/test/local-repo/Packages.gz.save +++ /dev/null diff --git a/test/local-repo/Release b/test/local-repo/Release deleted file mode 100644 index 7f206ef25..000000000 --- a/test/local-repo/Release +++ /dev/null @@ -1,13 +0,0 @@ -Date: Thu, 09 Aug 2007 10:13:06 UTC -MD5Sum: - 29f79161fafe1f0c393e7fc6ddcb99b5 338 Packages - 2f885b2ebdb77d3354ba63d8b5aad614 269 Packages.gz - d41d8cd98f00b204e9800998ecf8427e 0 Release -SHA1: - d8860d409a8b0db443fbf254e2d6afbfc9bc04a8 338 Packages - 8b668a7b730ceb4d702737a13a723959c20b67df 269 Packages.gz - da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release -SHA256: - 39aa9fc59d868a71030d24aeaa4b574d7a11a10ea79491a0881f8d755b36a06d 338 Packages - 62898623498ebf8304647db1ba2d33e4d8ec0e3e45250c2b66907c812b099297 269 Packages.gz - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release diff --git a/test/local-repo/Release.gpg b/test/local-repo/Release.gpg deleted file mode 100644 index e1c309566..000000000 --- a/test/local-repo/Release.gpg +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.6 (GNU/Linux) - -iD8DBQBGuui6liSD4VZixzQRApSlAJ9D6G1QXvtXH1jH1I4SStsb1VsImQCbBPfp -+1p0bDANcBVY+GckjJvFRkY= -=a0AR ------END PGP SIGNATURE----- diff --git a/test/local-repo/gdebi-test4.deb b/test/local-repo/gdebi-test4.deb Binary files differdeleted file mode 100644 index 9eb92d1b4..000000000 --- a/test/local-repo/gdebi-test4.deb +++ /dev/null diff --git a/test/pre-upload-check.py b/test/pre-upload-check.py deleted file mode 100755 index f9da8f941..000000000 --- a/test/pre-upload-check.py +++ /dev/null @@ -1,266 +0,0 @@ -#!/usr/bin/python - -import sys -import os -import glob -import os.path -import shutil -import time -from subprocess import call, PIPE - -import unittest - -stdout = os.open("/dev/null",0) #sys.stdout -stderr = os.open("/dev/null",0) # sys.stderr - -apt_args = [] -#apt_args = ["-o","Debug::pkgAcquire::Auth=true"] - -class testAptAuthenticationReliability(unittest.TestCase): - """ - test if the spec https://wiki.ubuntu.com/AptAuthenticationReliability - is properly implemented - """ - #apt = "../bin/apt-get" - apt = "apt-get" - - def setUp(self): - if os.path.exists("/tmp/autFailure"): - os.unlink("/tmp/authFailure"); - if os.path.exists("/tmp/autFailure2"): - os.unlink("/tmp/authFailure2"); - def testRepositorySigFailure(self): - """ - test if a repository that used to be authenticated and fails on - apt-get update refuses to update and uses the old state - """ - # copy valid signatures into lists (those are ok, even - # if the name is "-broken-" ... - for f in glob.glob("./authReliability/lists/*"): - shutil.copy(f,"/var/lib/apt/lists") - # ensure we do *not* get a I-M-S hit - os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (0,0)) - res = call([self.apt, - "update", - "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure", - "-o",'APT::Update::Auth-Failure::=touch /tmp/authFailure', - ] + apt_args, - stdout=stdout, stderr=stderr) - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg"), - "The gpg file disappeared, this should not happen") - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages"), - "The Packages file disappeared, this should not happen") - self.assert_(os.path.exists("/tmp/authFailure"), - "The APT::Update::Auth-Failure script did not run (1)") - # the same with i-m-s hit this time - for f in glob.glob("./authReliability/lists/*"): - shutil.copy(f,"/var/lib/apt/lists") - os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (time.time(),time.time())) - res = call([self.apt, - "update", - "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure", - "-o",'APT::Update::Auth-Failure::=touch /tmp/authFailure2', - ] + apt_args, - stdout=stdout, stderr=stderr) - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg"), - "The gpg file disappeared, this should not happen") - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages"), - "The Packages file disappeared, this should not happen") - self.assert_(os.path.exists("/tmp/authFailure2"), - "The APT::Update::Auth-Failure script did not run (2)") - def testRepositorySigGood(self): - """ - test that a regular repository with good data stays good - """ - res = call([self.apt, - "update", - "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good" - ] + apt_args, - stdout=stdout, stderr=stderr) - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"), - "The gpg file disappeared after a regular download, this should not happen") - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"), - "The Packages file disappeared, this should not happen") - # test good is still good after non I-M-S hit and a previous files in lists/ - for f in glob.glob("./authReliability/lists/*"): - shutil.copy(f,"/var/lib/apt/lists") - # ensure we do *not* get a I-M-S hit - os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (0,0)) - res = call([self.apt, - "update", - "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good" - ] + apt_args, - stdout=stdout, stderr=stderr) - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"), - "The gpg file disappeared after a I-M-S hit, this should not happen") - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"), - "The Packages file disappeared, this should not happen") - # test good is still good after I-M-S hit - for f in glob.glob("./authReliability/lists/*"): - shutil.copy(f,"/var/lib/apt/lists") - # ensure we do get a I-M-S hit - os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (time.time(),time.time())) - res = call([self.apt, - "update", - "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good" - ] + apt_args, - stdout=stdout, stderr=stderr) - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"), - "The gpg file disappeared, this should not happen") - self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"), - "The Packages file disappeared, this should not happen") - - -class testAuthentication(unittest.TestCase): - """ - test if the authentication is working, the repository - of the test-data can be found here: - bzr get http://people.ubuntu.com/~mvo/bzr/apt/apt-auth-test-suit/ - """ - - # some class wide data - apt = "apt-get" - pkg = "libglib2.0-data" - pkgver = "2.13.6-1ubuntu1" - pkgpath = "/var/cache/apt/archives/libglib2.0-data_2.13.6-1ubuntu1_all.deb" - - def setUp(self): - for f in glob.glob("testkeys/*,key"): - call(["apt-key", "add", f], stdout=stdout, stderr=stderr) - - def _cleanup(self): - " make sure we get new lists and no i-m-s " - call(["rm","-f", "/var/lib/apt/lists/*"]) - if os.path.exists(self.pkgpath): - os.unlink(self.pkgpath) - - def _expectedRes(self, resultstr): - if resultstr == 'ok': - return 0 - elif resultstr == 'broken': - return 100 - - - def testPackages(self): - for f in glob.glob("testsources.list/sources.list*package*"): - self._cleanup() - (prefix, testtype, result) = f.split("-") - expected_res = self._expectedRes(result) - # update first - call([self.apt,"update", - "-o","Dir::Etc::sourcelist=./%s" % f]+apt_args, - stdout=stdout, stderr=stderr) - # then get the pkg - cmd = ["install", "-y", "-d", "--reinstall", - "%s=%s" % (self.pkg, self.pkgver), - "-o","Dir::state::Status=./fake-status"] - res = call([self.apt, "-o","Dir::Etc::sourcelist=./%s" % f]+cmd+apt_args, - stdout=stdout, stderr=stderr) - self.assert_(res == expected_res, - "test '%s' failed (got %s expected %s" % (f,res,expected_res)) - - - def testGPG(self): - for f in glob.glob("testsources.list/sources.list*gpg*"): - self._cleanup() - (prefix, testtype, result) = f.split("-") - expected_res = self._expectedRes(result) - # update first - call([self.apt,"update", - "-o","Dir::Etc::sourcelist=./%s" % f]+apt_args, - stdout=stdout, stderr=stderr) - cmd = ["install", "-y", "-d", "--reinstall", - "%s=%s" % (self.pkg, self.pkgver), - "-o","Dir::state::Status=./fake-status"] - res = call([self.apt, "-o","Dir::Etc::sourcelist=./%s" % f]+ - cmd+apt_args, - stdout=stdout, stderr=stderr) - self.assert_(res == expected_res, - "test '%s' failed (got %s expected %s" % (f,res,expected_res)) - - def testRelease(self): - for f in glob.glob("testsources.list/sources.list*release*"): - self._cleanup() - (prefix, testtype, result) = f.split("-") - expected_res = self._expectedRes(result) - cmd = ["update"] - res = call([self.apt,"-o","Dir::Etc::sourcelist=./%s" % f]+cmd+apt_args, - stdout=stdout, stderr=stderr) - self.assert_(res == expected_res, - "test '%s' failed (got %s expected %s" % (f,res,expected_res)) - if expected_res == 0: - self.assert_(len(glob.glob("/var/lib/apt/lists/partial/*")) == 0, - "partial/ dir has leftover files: %s" % glob.glob("/var/lib/apt/lists/partial/*")) - - def testValid(self): - for f in glob.glob("testsources.list/sources.list*validuntil*"): - self._cleanup() - (prefix, testtype, result) = f.split("-") - expected_res = self._expectedRes(result) - cmd = ["update"] - res = call([self.apt,"-o","Dir::Etc::sourcelist=./%s" % f]+cmd+apt_args, - stdout=stdout, stderr=stderr) - self.assert_(res == expected_res, - "test '%s' failed (got %s expected %s" % (f,res,expected_res)) - if expected_res == 0: - self.assert_(len(glob.glob("/var/lib/apt/lists/partial/*")) == 0, - "partial/ dir has leftover files: %s" % glob.glob("/var/lib/apt/lists/partial/*")) - - -class testLocalRepositories(unittest.TestCase): - " test local repository regressions " - - repo_dir = "local-repo" - apt = "apt-get" - pkg = "gdebi-test4" - - def setUp(self): - self.repo = os.path.abspath(os.path.join(os.getcwd(), self.repo_dir)) - self.sources = os.path.join(self.repo, "sources.list") - s = open(self.sources,"w") - s.write("deb file://%s/ /\n" % self.repo) - s.close() - - def testLocalRepoAuth(self): - # two times to get at least one i-m-s hit - for i in range(2): - self.assert_(os.path.exists(self.sources)) - cmd = [self.apt,"update","-o", "Dir::Etc::sourcelist=%s" % self.sources]+apt_args - res = call(cmd, stdout=stdout, stderr=stderr) - self.assertEqual(res, 0, "local repo test failed") - self.assert_(os.path.exists(os.path.join(self.repo,"Packages.gz")), - "Packages.gz vanished from local repo") - - def testInstallFromLocalRepo(self): - apt = [self.apt,"-o", "Dir::Etc::sourcelist=%s"% self.sources]+apt_args - cmd = apt+["update"] - res = call(cmd, stdout=stdout, stderr=stderr) - self.assertEqual(res, 0) - res = call(apt+["-y","install","--reinstall",self.pkg], - stdout=stdout, stderr=stderr) - self.assert_(res == 0, - "installing %s failed (got %s)" % (self.pkg, res)) - res = call(apt+["-y","remove",self.pkg], - stdout=stdout, stderr=stderr) - self.assert_(res == 0, - "removing %s failed (got %s)" % (self.pkg, res)) - - def testPythonAptInLocalRepo(self): - import apt, apt_pkg - apt_pkg.Config.Set("Dir::Etc::sourcelist",self.sources) - cache = apt.Cache() - cache.update() - pkg = cache["apt"] - self.assert_(pkg.name == 'apt') - - - -if __name__ == "__main__": - print "Runing simple testsuit on current apt-get and libapt" - if len(sys.argv) > 1 and sys.argv[1] == "-v": - stdout = sys.stdout - stderr = sys.stderr - - # run only one for now - #unittest.main(defaultTest="testAptAuthenticationReliability") - unittest.main() diff --git a/test/scratch.cc b/test/scratch.cc deleted file mode 100644 index d638c7097..000000000 --- a/test/scratch.cc +++ /dev/null @@ -1,105 +0,0 @@ -#include <apt-pkg/dpkgdb.h> -#include <apt-pkg/debfile.h> -#include <apt-pkg/error.h> -#include <apt-pkg/configuration.h> -#include <apt-pkg/progress.h> -#include <apt-pkg/extract.h> -#include <apt-pkg/init.h> -#include <apt-pkg/fileutl.h> - -using namespace std; - -int main(int argc,char *argv[]) -{ - pkgInitConfig(*_config); - pkgInitSystem(*_config,_system); - -// cout << flNoLink(argv[1]) << endl; - -// #if 0 -/* DynamicMMap *FileMap = new DynamicMMap(MMap::Public); - pkgFLCache *FList = new pkgFLCache(*FileMap); - - char *Name = "/tmp/test"; - pkgFLCache::PkgIterator Pkg(*FList,0); - pkgFLCache::NodeIterator Node = FList->GetNode(Name,Name+strlen(Name),Pkg.Offset(),true,false); - cout << (pkgFLCache::Node *)Node << endl; - Node = FList->GetNode(Name,Name+strlen(Name),Pkg.Offset(),true,false); - cout << (pkgFLCache::Node *)Node << endl; -*/ -// #if 0 - _config->Set("Dir::State::status","/tmp/testing/status"); - - debDpkgDB Db; - - { - OpTextProgress Prog; - - if (Db.ReadyPkgCache(Prog) == false) - cerr << "Error!" << endl; - Prog.Done(); - - if (Db.ReadyFileList(Prog) == false) - cerr << "Error!" << endl; - } - - if (_error->PendingError() == true) - { - _error->DumpErrors(); - return 0; - } - -/* Db.GetFLCache().BeginDiverLoad(); - pkgFLCache::PkgIterator Pkg(Db.GetFLCache(),0); - if (Db.GetFLCache().AddDiversion(Pkg,"/usr/include/linux/kerneld.h","/usr/bin/nslookup") == false) - cerr << "Error!" << endl; - - const char *Tmp = "/usr/include/linux/kerneld.h"; - pkgFLCache::NodeIterator Nde = Db.GetFLCache().GetNode(Tmp,Tmp+strlen(Tmp),0,false,false); - map_ptrloc Loc = Nde->File; - - for (; Nde.end() == false && Nde->File == Loc; Nde++) - cout << Nde->Flags << ',' << Nde->Pointer << ',' << Nde.File() << endl; - Db.GetFLCache().FinishDiverLoad();*/ - -/* unsigned int I = 0; - pkgFLCache &Fl = Db.GetFLCache(); - while (I < Fl.HeaderP->HashSize) - { - cout << I << endl; - pkgFLCache::NodeIterator Node(Fl,Fl.NodeP + Fl.HeaderP->FileHash + I++); - if (Node->Pointer == 0) - continue; - for (; Node.end() == false; Node++) - { - cout << Node.DirN() << '/' << Node.File(); - if (Node->Flags == pkgFLCache::Node::Diversion) - cout << " (div)"; - if (Node->Flags == pkgFLCache::Node::ConfFile) - cout << " (conf)"; - cout << endl; - } - }*/ - - for (int I = 1; I < argc; I++) - { - FileFd F(argv[I],FileFd::ReadOnly); - debDebFile Deb(F); - - if (Deb.ExtractControl(Db) == false) - cerr << "Error!" << endl; - cout << argv[I] << endl; - - pkgCache::VerIterator Ver = Deb.MergeControl(Db); - if (Ver.end() == true) - cerr << "Failed" << endl; - else - cout << Ver.ParentPkg().Name() << ' ' << Ver.VerStr() << endl; - - pkgExtract Extract(Db.GetFLCache(),Ver); - Deb.ExtractArchive(Extract); - } -// #endif -//#endif - _error->DumpErrors(); -} diff --git a/test/test-indexes.sh b/test/test-indexes.sh deleted file mode 100755 index 50d54f691..000000000 --- a/test/test-indexes.sh +++ /dev/null @@ -1,235 +0,0 @@ -#!/bin/sh -e - -# Test behaviour of index retrieval and usage, in particular with uncompressed -# and gzip compressed indexes. -# Author: Martin Pitt <martin.pitt@ubuntu.com> -# (C) 2010 Canonical Ltd. - -BUILDDIR=$(readlink -f $(dirname $0)/../build) - -TEST_SOURCE="http://ftp.debian.org/debian unstable contrib" -GPG_KEYSERVER=gpg-keyserver.de -# should be a small package with dependencies satisfiable in TEST_SOURCE, i. e. -# ideally no depends at all -TEST_PKG="python-psyco-doc" - -export LD_LIBRARY_PATH=$BUILDDIR/bin - -OPTS="-qq -o Dir::Bin::Methods=$BUILDDIR/bin/methods -o Debug::NoLocking=true" -DEBUG="" -#DEBUG="-o Debug::pkgCacheGen=true" -#DEBUG="-o Debug::pkgAcquire=true" -APT_GET="$BUILDDIR/bin/apt-get $OPTS $DEBUG" -APT_CACHE="$BUILDDIR/bin/apt-cache $OPTS $DEBUG" -APT_FTPARCHIVE="$BUILDDIR/bin/apt-ftparchive" - -[ -x "$BUILDDIR/bin/apt-get" ] || { - echo "please build the tree first" >&2 - exit 1 -} - -check_update() { - echo "--- apt-get update $@ (no trusted keys)" - - rm -f etc/apt/trusted.gpg etc/apt/secring.gpg - touch etc/apt/trusted.gpg etc/apt/secring.gpg - find var/lib/apt/lists/ -type f | xargs -r rm - - # first attempt should fail, no trusted GPG key - out=$($APT_GET "$@" update 2>&1) - echo "$out" | grep -q NO_PUBKEY - key=$(echo "$out" | sed -n '/NO_PUBKEY/ { s/^.*NO_PUBKEY \([[:alnum:]]\+\)$/\1/; p}') - - # get keyring - gpg -q --no-options --no-default-keyring --secret-keyring etc/apt/secring.gpg --trustdb-name etc/apt/trustdb.gpg --keyring etc/apt/trusted.gpg --primary-keyring etc/apt/trusted.gpg --keyserver $GPG_KEYSERVER --recv-keys $key - - # now it should work - echo "--- apt-get update $@ (with trusted keys)" - find var/lib/apt/lists/ -type f | xargs -r rm - $APT_GET "$@" update -} - -# if $1 == "compressed", check that we have compressed indexes, otherwise -# uncompressed ones -check_indexes() { - echo "--- only ${1:-uncompressed} index files present" - local F - if [ "$1" = "compressed" ]; then - ! test -e var/lib/apt/lists/*_Packages || F=1 - ! test -e var/lib/apt/lists/*_Sources || F=1 - test -e var/lib/apt/lists/*_Packages.gz || F=1 - test -e var/lib/apt/lists/*_Sources.gz || F=1 - else - test -e var/lib/apt/lists/*_Packages || F=1 - test -e var/lib/apt/lists/*_Sources || F=1 - ! test -e var/lib/apt/lists/*_Packages.gz || F=1 - ! test -e var/lib/apt/lists/*_Sources.gz || F=1 - fi - - if [ -n "$F" ]; then - ls -laR var/lib/apt/lists/ - exit 1 - fi -} - -# test apt-cache commands -check_cache() { - echo "--- apt-cache commands" - - $APT_CACHE show $TEST_PKG | grep -q ^Version: - # again (with cache) - $APT_CACHE show $TEST_PKG | grep -q ^Version: - rm var/cache/apt/*.bin - $APT_CACHE policy $TEST_PKG | egrep -q '500 (http://|file:/)' - # again (with cache) - $APT_CACHE policy $TEST_PKG | egrep -q '500 (http://|file:/)' - - TEST_SRC=`$APT_CACHE show $TEST_PKG | grep ^Source: | awk '{print $2}'` - rm var/cache/apt/*.bin - $APT_CACHE showsrc $TEST_SRC | grep -q ^Binary: - # again (with cache) - $APT_CACHE showsrc $TEST_SRC | grep -q ^Binary: -} - -# test apt-get install -check_install() { - echo "--- apt-get install" - - $APT_GET install -d $TEST_PKG - test -e var/cache/apt/archives/$TEST_PKG*.deb - $APT_GET clean - ! test -e var/cache/apt/archives/$TEST_PKG*.deb -} - -# test apt-get source -check_get_source() { - echo "--- apt-get source" - # quiesce: it'll complain about not being able to verify the signature - $APT_GET source $TEST_PKG >/dev/null 2>&1 - test -f $TEST_SRC_*.dsc - test -d $TEST_SRC-* - rm -r $TEST_SRC* -} - -############################################################################ -# main -############################################################################ - -echo "===== building sandbox =====" -WORKDIR=$(mktemp -d) -trap "cd /; rm -rf $WORKDIR" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM -cd $WORKDIR - -rm -fr etc var -rm -f home -ln -s /home home -mkdir -p etc/apt/preferences.d etc/apt/trusted.gpg.d etc/apt/apt.conf.d var/cache/apt/archives/partial var/lib/apt/lists/partial var/lib/dpkg -cp /etc/apt/trusted.gpg etc/apt -touch var/lib/dpkg/status -echo "deb $TEST_SOURCE" > etc/apt/sources.list -echo "deb-src $TEST_SOURCE" >> etc/apt/sources.list - -# specifying -o RootDir at the command line does not work for -# etc/apt/apt.conf.d/ since it is parsed after pkgInitConfig(); $APT_CONFIG is -# checked first, so this works -echo "RootDir \"$WORKDIR\";" > apt_config -export APT_CONFIG=`pwd`/apt_config - -echo "==== no indexes ====" -echo '--- apt-get check works without indexes' -[ -z `$APT_GET check` ] -echo '--- apt-cache policy works without indexes' -$APT_CACHE policy bash >/dev/null -echo '--- apt-cache show works without indexes' -! LC_MESSAGES=C $APT_CACHE show bash 2>&1| grep -q 'E: No packages found' - -echo "===== uncompressed indexes =====" -echo 'Acquire::GzipIndexes "false";' > etc/apt/apt.conf.d/02compress-indexes -check_update -check_indexes -check_cache -check_install -check_get_source - -echo "--- apt-get update with preexisting indexes" -$APT_GET update -check_indexes -check_cache - -echo "--- apt-get update with preexisting indexes and pdiff mode" -$APT_GET -o Acquire::PDiffs=true update -check_indexes -check_cache - -echo "===== compressed indexes (CLI option) =====" -check_update -o Acquire::GzipIndexes=true -check_indexes compressed -check_cache -check_install -check_get_source - -echo "--- apt-get update with preexisting indexes" -$APT_GET -o Acquire::GzipIndexes=true update -check_indexes compressed -check_cache - -echo "--- apt-get update with preexisting indexes and pdiff mode" -$APT_GET -o Acquire::GzipIndexes=true -o Acquire::PDiffs=true update -check_indexes compressed -check_cache - -echo "===== compressed indexes (apt.conf.d option) =====" -cat <<EOF > etc/apt/apt.conf.d/02compress-indexes -Acquire::GzipIndexes "true"; -Acquire::CompressionTypes::Order:: "gz"; -EOF - -check_update -check_indexes compressed -check_cache -check_install -check_get_source - -echo "--- apt-get update with preexisting indexes" -$APT_GET update -check_indexes compressed -check_cache - -echo "--- apt-get update with preexisting indexes and pdiff mode" -$APT_GET -o Acquire::PDiffs=true update -check_indexes compressed -check_cache - -rm etc/apt/apt.conf.d/02compress-indexes - -echo "==== apt-ftparchive ====" -mkdir arch -$APT_GET install -d $TEST_PKG -cp var/cache/apt/archives/$TEST_PKG*.deb arch/ -cd arch -$APT_GET source -d $TEST_PKG >/dev/null 2>&1 -$APT_FTPARCHIVE packages . | gzip -9 > Packages.gz -$APT_FTPARCHIVE sources . | gzip -9 > Sources.gz -cd .. - -echo "deb file://$WORKDIR/arch / -deb-src file://$WORKDIR/arch /" > etc/apt/sources.list -$APT_GET clean - -echo "==== uncompressed indexes from local file:// archive ====" -echo "--- apt-get update" -$APT_GET update -check_indexes -check_cache -check_get_source - -echo "==== compressed indexes from local file:// archive ====" -echo "--- apt-get update" -$APT_GET -o Acquire::GzipIndexes=true update -# EXFAIL: file:/ URIs currently decompress even with above option -#check_indexes compressed -check_indexes -check_cache -check_get_source - -echo "===== ALL TESTS PASSED =====" diff --git a/test/testkeys/mvo.key b/test/testkeys/mvo.key deleted file mode 100644 index e1ab50119..000000000 --- a/test/testkeys/mvo.key +++ /dev/null @@ -1,1182 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.6 (GNU/Linux) - -mQGiBDgbNk0RBACbHfepY/RojAOL0tqkJOLnJ0ppvoAcFj427ZxdUbEwdwc7BNL+ -XtRgZ1WBURA+qb2inC3rA9a9TrQA2x2luq7XmCVbP7jv0K/8nYqzSHp0oPuMsrCO -6EhK/XLOzKw7Bk1rfl4JVOX92QFBXodJiaemUok29CXVSn8vUR2lqGdypwCgpiBJ -zxjf/eSvPp4IihsTC3kke9ED/2ASOhlkfWobIaed47/ehIYc9gvbdMOnoGDrwXN6 -8ba+3FGvtY5qbUKg2HinOYQoBjXW9NDjeJ6b8klpyG2LMAhS2UzPQjhwUIn9WnNX -Qsvreq0e3ad+kXCjPFjtfjCPno19mPvTSevLEXIUoG02fjpDdHTCxlUq7jdthtPC -TMCLA/4scIFi2Ll7pqVvNqc7xTLb/b5E9fKsiqdrJMLGqg4cWak84e9UF2tQmsqs -UohiU9qV5u4HIehraXs9NDdt2PvFgCsEYNtwFdSCsq6q9YtqfgnGia1hyQLE47RP -J+AwLeZRU9R81gKslD/ouxgj3ctx44hHMtLAFEZU/SqoD6CZBbQcTWljaGFlbCBW -b2d0IDxtdm9ndEBhY20ub3JnPohVBBMRAgAVBQI4GzZNAwsKAwMVAwIDFgIBAheA -AAoJEJYkg+FWYsc0Da0AoJL3vvvHdGlRzVKRBUmUk7ldSaeOAJwJx+M17RtS2H7/ -rtDs/FdKgOpyYIhGBBARAgAGBQI44PQGAAoJEHnZRpQA4NBUcfsAnjJyH2KDaapk -LmWIo8mXbjKkp1nPAJ0ah73TIyMDX46M5keCVv14rEO7qIhGBBARAgAGBQI5XewC -AAoJEG9cFK2bBJM1u2MAnRm2g0rv3MJcp0+WqJ6gBwFusJLGAJ44gsM1etFK+/v5 -K7fhtTVHVw2p5ohGBBARAgAGBQI5YbDGAAoJENfxTmPdHGLWOx0AniI3REj/jKDw -rlLox+UMytalnzKcAJ9ymd5/mwd2Vv5xgZpOzlzmOkHM24hGBBARAgAGBQI5czP9 -AAoJEFTCT7U7C7mpbogAmwc+jjRJAQLuwP8AY4oEf6G5MAErAKDIGv+gNkcZM66T -whLZdmF+SUYcEIhGBBARAgAGBQI5ye0MAAoJEFGs9q11voCXz5IAnivGxujJtmUl -9qOu2j542xIpFOcLAJ4/IeHXf0Z4UknuqDDRuEK8iLsAfYhGBBARAgAGBQI5yy+C -AAoJEL/hIGVrIUiaJXYAnjwaPF3bh7P0SBNlD+wLjtQJ/MTHAJ9Y3WWJKMYUg4xL -F0tHLZyloU9674hGBBARAgAGBQI5zN/1AAoJEN56r26UwJx/QdIAoMfkJQVmLGmZ -zHOxLMb/EtMGUF1ZAKCMwdQnb1x9ilkIzr5NtNUE/TErJ4hGBBARAgAGBQI51EyZ -AAoJEPhev0YljYeBAhoAn3wxgOQeBwbCkJyLicdOrzy23Cv/AJ0UTreo2KaFOfcy -eqdxDSZpt//2hIhGBBARAgAGBQI6Ac4jAAoJEB/Egc/tDXz6yeoAn1lqYvC91uvt -JmbJ1mPgWOL8BRlLAJ9zSXAy/Evl7ffMmNRmw68hgiw+uYhGBBARAgAGBQI6Lj7J -AAoJENwT5U6rm2b9hyUAoNKrqr+wFKb53a/2EiqiwlxwMe9sAJ4rmmdg/eD7+gra -taOyc9hbc9BsIYhGBBARAgAGBQI7QFC3AAoJEHkWLzb39qrZmlcAoKcsJvgM2fLl -msslzS5C0wPmHp2aAJ9GwhzCzA5m2sfHF//VE9vK7lGP6ohGBBARAgAGBQI7QK1g -AAoJECm+XSJo/VSf9RMAoKeZR763sZs1FUzDZqO+1P1PvRORAJ4/pPOXrBtUVxtP -L7JYcby7Pu2q4ohGBBARAgAGBQI7QEqKAAoJEHzz9a8pSZ9h/LoAnjq3tepe77aC -7A87N4m8ioQNq9EWAJ4r8xJdSV9WJuKOpWO8RhcQK+zG8IhGBBARAgAGBQI7Rdfh -AAoJEENVU8Xg+cY0XsEAoJYuY/GAwj3D3O2l2/4kpqL/K2bOAKCVFnIXGzmokhUW -OzEpR9zISB0Jl4hGBBARAgAGBQI7QVVlAAoJENdZXTdLcpYl3IwAnjJg1r1c8SdB -pmCusQhdlvth9KanAJ4oVB5ClSpXLszX81n3K14E4xgSz4hGBBARAgAGBQI7RsZj -AAoJEPIPrAt7g1flwMgAoKif05sqy6lgnhOOW0gen5ZDMZiDAJ4lZrdd+We/lzOI -ItzwaH7MtR7mnohGBBARAgAGBQI7MdbOAAoJEIuYyKIb5v0ldf0AnRNFMcbfelX1 -kWyQ7iwBe8ZdrnBSAJ9XAYyd+YDMxRPgUjPsx5g4bVoByIhGBBARAgAGBQI7SxV6 -AAoJEMCky7mHl4VpMpAAnAiPDNzcAqS3SitNzdfo6um6ULm3AJ45Arkvwdt1rhe+ -XdJb8BmE0csV24hGBBARAgAGBQI7TWOqAAoJEP6aHsNkhDkzNo4AoIG4qZnmAhiu -tjYUGe8iTHvlSRn2AJ0R78A+6pNYq7bXsX+u2wQCmtKstIhGBBARAgAGBQI7TyYG -AAoJEF3iSZZbA1iijrIAmQFyBc06cpHnk8Z1jcb1j4hppKDTAKCrOAVms47hOwSQ -kx77XYYVmgv1JYhGBBARAgAGBQI7UiYzAAoJECTpnxDbPUTUOs4AoKxun2wYzw6n -X8m2GD852Fvl1ejRAKCcxxsM91CEqa1Dq1ZgSAPcPW4aFohGBBARAgAGBQI7Ur/6 -AAoJEPHSzMhJehdttqIAoLlQ8CR3oGaSFhnJUJlhITxph2AcAKC/D8KE2TBBH9Ns -Xnd9w4TueW5ZwIhGBBARAgAGBQI7XvRyAAoJEKXycCgJF6nkbZIAn0a/QJMxWZA1 -joLAmTZeZKtpG4kBAJ9HmXc4IvbtywrkN2UUXy6V9EBdmohGBBARAgAGBQI8Bm3x -AAoJEG+rq7w1fSF4VpIAn2FRhND2RaEf7OzAHuijY51SxYRfAJ0bHBGbLKfiV9GN -h+8ZeIU4G/ZoF4hGBBARAgAGBQI7+t0uAAoJEO/OC2AEJW07bwUAnRx8jfjEQvV+ -didBZ6royl+EQ+XIAKCEaXBmCylJjiDzzwFs2M6ofr7oiIkAlQMFEDweVsmABi58 -5NR+wQEB14gEAN2PQAo2JeKKw5Ehq5MtNncwAnY8f4k9vMR+bRF+ZQZRSENDseEi -1NFe0L36ftZm+OPycd6sOW+ItdBQdz5Klg0itVPlneg6e172S97rBC3H9Sadc/s2 -e3TzSO75H17SZQqep8SQ0J5lpVqnZWv8UInw6nlNHrAZnKi5vDCDg2qViEYEEBEC -AAYFAjtSxtsACgkQO/YJxouvzb1UngCfVU4Tuak2dZvqi3sGpEbP5N3JD6YAoMC/ -O5omvvNn+Y3roJ9DO9Gp5tuGiEYEEBECAAYFAjwea0EACgkQw3ao2vG823MD+wCf -QMu34w5+e1IVv0SG/4u7OZ+gAU0An14HokAASyR08zx6YWRISe+ut2ugiEYEEBEC -AAYFAjzOpm0ACgkQYFIoXKh32XgWBACgmj2D12AxjkIKtSAnxaJW0jctpPAAn3gD -BekKLQ6nxUv/RtdSxgEuJaTziEYEEBECAAYFAjwaQVoACgkQArxCt0PiXR4VogCg -4Ugp24rAWDTrg087qmJJDSzoFMoAniSj+0jFBN7+Cuxt6lvsYdzIZtRkiEYEExEC -AAYFAj03JCAACgkQEmi4KLr+iOXtmACgpOsak4ZO2xpL+BWtsV0STUiHWa0An1MO -+j7+1i/qyUqxK3dBMAAQR6DciEYEEBECAAYFAjz8wDsACgkQL0uj7/chxkPnawCf -fe9U7VuB6Kmb8kCOuqLD2WdeQ5QAoKdNllTKuajMNuTKu7nK4cM5xwasiEYEEBEC -AAYFAjz/WjsACgkQ4ggFW0tm2ZF8AACfRKZqobRP7Rz/nMmmjQTicKKRcikAn2ki -Uout5ll4H8kJSN0xvQtwV/AtiEYEEBECAAYFAjy8heYACgkQ+FmQsCSK63M7qwCf -XWEy22x1vjjEwqLKfcbfE/KUFYIAni6HE23kn69qjF9JIIHEwUaLO1JJiEYEEhEC -AAYFAj2hjGkACgkQjjtznt0rzJ2LKQCdGrZeo3TW4KOL13MlTNst0njtV18An3h9 -6nXE3Hz9THRMuxldBfhrPbk/iEYEEBECAAYFAj44b8oACgkQ/5gPV7u/uOHgDwCg -+VNQMCgxFaNiiyU1c6uppxDRYcIAn27PkEgAjlw0t6xHGSqSUelJONBEiQFABBMB -AgAqBQI+jbNtIxpodHRwOi8vd3d3LnJhdGgub3JnL2dwZ3BvbGljeS5odG1sAAoJ -ELbcsCzNGlK5XZYIAKlU2bdFlD90ss50fUi2+sUus7ev3nhPP9VPuN5IO325meNF -OJN/074ewSHsdiD0323sohtqe4aQp0nieYg3IfC6agEiCiNffFmvs/oMuZKk0OXy -BBZP3KxHUnz6B0eHN1HxdfrWO3Zt48T4cLEs2cudZHfGnzd/ZsPbxlMe+krHktgl -FZdX2pm8g77NMD/FHICbypCsY2FLt7huw/pPcLyvE8Wafm8YmgM6biWR5CUglVfs -IoeKzEdYj/Ys0rht7YGz5yB1U6Sy4JRLDbM1Msx3h2C2J76mV/oogt568okZSGZx -EadrBn4PdJqU4zFK4t9Y0Pp6imFpraOAOaG0jvWIRgQTEQIABgUCPpGDpwAKCRAI -XykZwmr06+IRAJ9yHo51a6Swdm2MzcE8NM3AiVZDAACeJPI2DzeXqckHrFmVhMm8 -WSUQcNqIagQTEQIAKgUCPo2ymCMaaHR0cDovL3d3dy5yYXRoLm9yZy9ncGdwb2xp -Y3kuaHRtbAAKCRCprbf4rk5CXMabAJ9ewWNvXylfEGFtSEl/Akp5HmlcQwCguezW -D8hrg9b7grq+D8Xa+qhVzoqIRgQTEQIABgUCPw/vagAKCRDTW7yZvH0CCo6oAJ41 -fNnL1AS8lMN4xxVoBudfnj0ENQCZARDKiW3eMp2+bLHKOcaMCF5GEHeIRgQQEQIA -BgUCPxBWNAAKCRDW+vrdlS8//wK4AKCsH7xA5MH6ctCKrLqFgJVminkaigCfUyan -WP6QtCkyC8x+wlEAN8g7g6uJARwEEwEBAAYFAj8RBnoACgkQQAYVDkAJ6u1KcAgA -tSn2vpDSge72G8+oCQrhxcDpob0l33IuBXEFqczV2TO7oUisgiu+/90GeRzUqBvE -jxg2uX0n+2uYInPbLL0m5rlWgkhyk5tWSdklDz3JLKSK24p48xBjDsAxL8eiYVJh -HOUrHRIl5imsgRk8Aycey1/h2CfweIrIZHDxGRqtX/I8EO5rG2O/HV3nujPSli6G -wPlf1aXlV9diPj0mwU5HlCFAB/Akfx8jzcMLbORGYM1fift2c01P/KLTr9szJ8iz -2UDiNCM007CPwrYS8aAw373zOBhzZnrJLTP7hXl78UYjZWTJlDP1PYWYY5P4gq96 -djvXpDH2WiRgF56LAEg4pYhGBBMRAgAGBQI/ECvMAAoJELM00wiWL9Le93YAnR+n -8c2tFDeBHcSTIfjRfWjFi0ixAJwJARGAeBLHzHfHfcf15FanE4GPVIhGBBMRAgAG -BQI/ERPwAAoJEOGFItd8cSvLEpAAnjQ1MpPXRtTKmO9OsMVGLWAe+2I7AJ4zV1mS -zJGkkFA77QnFy4X0lP5SjYkBHAQQAQIABgUCPxFKTgAKCRAJ6fkKinJORY7SCADB -UjR1STWfr5rXFjFleiSwPdOFMFj1HJvMVirY9ah2gzz6R+WEkzBesrg8X+Zrgf1D -UrodM/Uas57Ght3t/ytKJdjfPiCcpn9rcWk7Gy5idpBgpGJD2YG8mATNoXsz4RHi -evtXO8DFJ87d7fNRv6RWN6aV1hf61MfGWGX0v+qLxzGJtwalC2w6YQVmisF/IuOY -g1TM3qtj58DPFu2CCaFcLVDpA41k6WvY+haYSoHxw6O8FUMZqCJgvo/rgaulzmCI -IvPVGqoaZNZcaIqkDkPnXCF7Ol5Gz67SUG4p3meUIJcC0JoYO6rhzrTdom/YI2to -cYFo6qUQX2xoyHUndGS0iEYEEBECAAYFAj8SooQACgkQ1DyzBZX+yjRANQCgoeSo -eX3vAk26SuqRyDVfGvhX1MQAoKpdtVmx54GyB15T8KPyN/n8lm85iEYEEBECAAYF -Aj8ROC4ACgkQ9Wsmo6Y5nnOc4gCgqb5ypf7CM7x9gGK4YLZbcvWAjqUAoJmHY1di -lrgaafw3qqscNwTey5GCiEYEExECAAYFAj8QZjgACgkQeDPs8bVESBX5KACfUp9q -RTLm0lLHgY9wPqJ32b1/aR0AniiRO65KcEHUZ5AJA7l6Q8stU3kfiEYEExECAAYF -Aj8RP+kACgkQ6iGZQSR3yvj3UQCfSgvBuOlVuCOx0U83Zm30mrxsEK0AnRmDl3XT -kQtv/wOCVoPXS21UaHFziEYEExECAAYFAj8RXPsACgkQGf7YPOK+o0HcRwCg9z9+ -ln1+teEYBfS9QCaX8DYR22wAoOHlbP+t6SnqfoFg8P0rqKnk0N+RiEYEExECAAYF -Aj8RpBYACgkQxcDFxyGNGNcdmwCgpPCow3W9Gb6xjeKu8bLoC4SWLKwAn3ClU08D -C3IBK6f4gAG5+Ad9NspgiEYEExECAAYFAj8RwdUACgkQvpyGjQRgTriRlgCeIoQh -eYO1QF9oYli4AkJKP4Rnxw0AoJ1TGUjnasCUnib0LDTsLkz4G4obiEYEExECAAYF -Aj8ShtwACgkQoJD705cZn8OiTwCffk6fmJbXPZEjLvz5mMPKqihKEDMAnRDLrmVU -7Zyr1MTNkEkXUdRKU/R4iEYEExECAAYFAj8SkwQACgkQVm02LO4Jd+gV1wCgp3rq -b/jQ6p5s7mtGz4nIGq5rWscAn1VG5Y74+kHz3zIc4R6+cc6GfgYgiEYEExECAAYF -Aj8Sl20ACgkQj7mZcU7rMfFoFgCfULiIrce0s4O8RkaA1/3Aim8vw8gAn3pJeNz4 -xbjG+SdSIkt20PClEdsZiJwEEwECAAYFAj8TMi8ACgkQtGuSO22KvnHtdQQAq36q -n4gFtu4ocQf1pDaxZRyuEvwjuiRmrOGWRbSwvz0xKWDflYxfHPz17XSbZsTrk3EL -OoVVlgaSDhwf67SLfVlyYW8lxJVXY4qF55UNQ2+fe2zlJ8TKQd3FdxoRzurkMoEX -4kay3hTFBH+nRqVS6a848yDEuTFtHSbWIh6asHGIRgQQEQIABgUCPxNhDwAKCRCt -7CzRGpU359pzAJ9ovdQwBw48LD0l5oj+NyBJHUkVIQCfX6/AGCDhhryIn7wZw2UI -CZ+I25aIRgQTEQIABgUCPxGlCgAKCRAoxvVrgXw1aAJQAKCQBwJZ+fZpd3wpidfj -TSsO3DNzGgCbBFivSKHERjKt+BMU3FD/PiQVvJWIRgQTEQIABgUCPxPyOgAKCRC5 -gsvVwOMfHay/AJ4x8E/I6NaP+MZCRghVnBbc/jWXdgCdE4NPmJMYlS4DjEi5yrnO -GTAoZ+iIRgQTEQIABgUCPxQadQAKCRCAdScAZahB7ZzWAJ9U2/wm19/e5hO6ctED -OU4tyNX0HgCgtvah2EaEJCeHBtkcxV0gNAkjTcCIRgQTEQIABgUCPxQqPwAKCRBs -dheMoO2YLdhsAJ9SnpDiEONSVKp4WbNUEdYg0nfQrwCgllFT54PAfK9imNf7oqm/ -u5Gmwr6IRgQSEQIABgUCPxQtmgAKCRA19mF8UTrv2SncAJ9ZGhHJo8mLfyE4N9hI -du1knh4aiQCbBaPnoJwUU9bdGpIWdG8iO0cBPgSIRgQSEQIABgUCPxURowAKCRDV -Tq5LyZhwscfrAKCOEb1D/zxJhDXZwpbfsxzOxGCM5gCgxwjjBCfa0eNRDEliX8LT -LapqULmIRgQSEQIABgUCPxUs6wAKCRCJzUshYHVZ5vz+AKDIHISOOuQrtpEOsZuA -IbCsGxuMVgCcCx4HWZUoDtnUQCwKQ1qdoNLGo26IRgQTEQIABgUCPxZujwAKCRCE -LNt6RHeeGHlBAKCcghKXmdVvFv24BmjjNLblVkI19ACfTmvdtA319OVUdb8vj8qk -8u6iRvGIRgQSEQIABgUCPxV1MQAKCRB8IsOfgHrFOu+lAJ45JtfYzbCAQg8zqq9b -KYuPnb9QNACggib0rObV9FWyAtyU+YPdzpYdfcOIRgQSEQIABgUCPxUSaQAKCRC/ -QVlbc3Kipde9AJ9k8+gTNbm0kCZQR/Sr7nUp54qT9wCgozihBCCCz1UlyKlpuoPB -Lyqn+Z6IRgQTEQIABgUCPxRl1AAKCRCUj9ag4Q9QLqUPAJ9osOfIVyhbJsJG/jaW -bPHLlhO+4QCdEndVlz3FfEIvIqr3un8aS2mnR8aIRgQTEQIABgUCPxRl4gAKCRC0 -deIHurWCKZ90AJsHI7U/TK8ASY6qQnCs319TrsoiCwCfbzBLW6IrbkQz2ooGCWKv -XGNZaqeIRgQTEQIABgUCPxVtRQAKCRC7VaR/yQHDPnjcAJ9es1zm1Kbba+MQpMJ/ -W7LoojAEQACg/qe/YgPY8kc3XIT3GTAxt4uU2NqIRgQTEQIABgUCPxZZigAKCRDn -yduv41bvwEH/AKDAx7U7T+mag4+nQgJt3fVtBaBotgCfUc8zZ1GoO+4nl6J16HaS -383ZMoOIRgQSEQIABgUCPxcIVwAKCRB3+BUzuw7ox4LhAJ985s36sd3XVShLnNSs -oWwBCASHuwCeMR+G2M9etc91AwWmWTAa7Cm5oyqIRgQTEQIABgUCPxZaGQAKCRD0 -tLDMeX6/q2ixAJ9s5BGe4RAXi6h8crxOe69xY8Z2UgCfa95gIjyGx/78TvCxTld1 -rN6qsQCIRgQQEQIABgUCPxe0rAAKCRBGzFxj8xilakodAJ44FYFEomCpZ8fZiY/9 -kuQaxxSvagCgulF5/z2p5KjhzG3WB/ujP+VIhSSIRgQTEQIABgUCPxfUcgAKCRBT -trgdwTzuB6pxAJ95M7TpYjim9ooeyC1t8escuno0LACeOe4iq+6JWhZcow3us448 -Duvc+IKJAQEEExECAMEFAj8Whg2GFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVzQHBl -bmd1aW4uZGUiaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9z -aWduaW5ncy9ub3Rlcy5FQTcxQjI5NjQ1OTc0RDhCMzQzRTgyMUU5NjI0ODNFMTU2 -NjJDNzM0LmFzYyIzGmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9w -Z3AvcG9saWN5L3YxLjEvAAoJEKseS2BGdWseknkAn1m1/xMVTIsJr18NZWVWaduY -SisWAJ9zpOZlUDvxUgygPf8qxpw/+QjhLYkB1wQTAQIAwQUCPxaF/4YUgAAAAAAa -AGNzaWduYXR1cmUtbm90ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4u -ZGUvfmJiL2NvbnRhY3QvcGdwL3NpZ25pbmdzL25vdGVzLkVBNzFCMjk2NDU5NzRE -OEIzNDNFODIxRTk2MjQ4M0UxNTY2MkM3MzQuYXNjIjMaaHR0cDovL3d3dy5wZW5n -dWluLmRlL35iYi9jb250YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQGaJoCYg4/ZRS -swf/d/l/jDhzqfSTDH0IpH1vTt9k4+qN0LSVv2z6keHd3LLS+QCVZAGuNuJ0zDUn -oGuYfGccqLOMgnmTR+wQj1pROA1cwmISpZUn7Mwbd2yQ7KMix12/Gp3dL+KfE+UX -DILLeZgod8ZyR35Sq17MsdFLMl9OCBCNCRigbaTW62be5HApsayOX8DjCUnkccnI -JDqjFr9rpPlPOixLzzBi3ymLmt/Us3gXPnDIvQ9AOjk/xrLkvqibLx1SnehXuclq -Xy1fGz70/VURD15FKR+EZoAC/z3KSt+yi5LF1rQ1JrvgWi3R+UaiQlWhjc2Y2+pC -s9MzNJ6ajY7JebQloTBXmTZrd4hFBBMRAgAGBQI/F/CrAAoJEJEfSuaGoRjm0bEA -oLmnPfLKN928w4MCbe1NEzN+JZ4pAJd7Qupi2vK3rYjHL6at7N0k+h3kiJwEEAEC -AAYFAj8WkE0ACgkQ722CQfCBGV24GAP/VUmlNMWdNqADJeAS9sgmuwY499HBfxKC -GPoUJQzz1Kp8UJUErXW0lnZap3Ovh+QWdZOGOwpcFjs/ph27SH+skieKjg+X8IsA -z7zN+P7UJ8NDWuVA7WWlgJuubDPpWCOxcDcxefB+qUL8L+riWbmylEjron6SvAN0 -44J9fSSeCLiIRgQQEQIABgUCPxMfJAAKCRDQGfXvkCeriFR+AJ4+NtZifShtVwlF -OmhpQeVKb8MZRgCfQfCYbEjyHmj0dkmBa1uBB5q+E9uIRgQSEQIABgUCPxh7XwAK -CRAzCwOLbGN0bd7PAKDiCGbuxIi44hNaZp2k2iopmZp+ZACeNb4Xx1QC/UfFYIUU -GyFaLy3AkjuIRgQSEQIABgUCPxh+JwAKCRCxqd2C3IFLCedaAJwI5NSu6QLC31Oa -RVhwK4fMj2mRHwCaAv58aG0NwzECcAB9Q2CMu3+FnO2IRgQTEQIABgUCPxfwYQAK -CRBWQSbyKfGb0fu9AJ0ZDxRkyQrTjBgZFNhmgLkkkc4T5wCeP2xiAp58UrX3zOlB -gT5AKMrqjWeIRgQTEQIABgUCPxhKFgAKCRAadH5FMOC52MvlAKDfHIejXjn85Ryc -Vfjx1QZfkr9l/QCgwWteC336NJVKdgNTL0e/uyVjzTCIRgQQEQIABgUCPxh0/QAK -CRD2KOuTR0MgbNw+AKDVZRvEepBdgQm+WtRWY2pZyMK+IQCdE3CgB8xrU5PEG4hA -qLSARu+9pAWIRgQSEQIABgUCPxkroQAKCRBl3zTAK1+F49K8AKCPN+Q80sOUAfGi -yeaS62P21Za71wCdEiU6eO1A/G8AoAfJBOnNOasFJMmIRgQTEQIABgUCPxmU9wAK -CRAh7E/chK1nbCH6AJ0Zs14KeXxHenncYDYQwaRytW/legCfalBDlkhqD/GU7Xic -XkIntVILRoiIRgQTEQIABgUCPxplPwAKCRDOinnXmAFtxxlSAJoC0dP/HCw4x2j2 -u4ljZSk5dQh6YACfTEtkWHXY4be31uF2iqf9fcOpGOSIRgQSEQIABgUCPxuRvAAK -CRDsDq9xNneAJV/IAJ4phQH4WQ317AHgTlQMU+fqHJVNMwCfcXX7srpJDaUj3GkU -ETUmfROkgFqIRgQSEQIABgUCPxwpdQAKCRB014DXvzux3bjTAJ9cDtHwxak4XAXy -SKhGvMOEcKIGWwCg0TkJU1hJ7lOD88MI3+GZmP94NfSIRgQQEQIABgUCPxXJzwAK -CRAqJXt3xjco0mMDAJ4/2AWeFl8bMr112JR9YutxOATUAACgiTSoWjRDj1MT82Zk -ljcQbsBYvYGIRgQTEQIABgUCPxAiUwAKCRAC1u0h4yxPSzEVAJ0TiCEpUwGnQNXY -vcxtdx+9DYKM0QCgnkP2SvxPfAB5RZHbXkWB3iN4FxKIRgQSEQIABgUCPxx7wQAK -CRAL21Oxos+KOADzAKDMIFe5u8tfUq5pyaxAK7NyrWx0ngCeOlp6LDGZSOPyV1oH -qLQDAJrs+8WIRgQSEQIABgUCPxzaFgAKCRDID3RZrcKezYVqAJsHTfZZV7NhFcrr -jglBZAixUHnNLACfcZMmTNrQoPpfPgoAiM/g3V+E3v6IRgQTEQIABgUCPxW5gAAK -CRBL7yYkIt9Ah3cRAKCMCv5Jx7psrcqAkn0Zx6yojSeAOQCeM1Ub3yM+XcRuo8i8 -HS2SUygNR+yIRgQTEQIABgUCPxW5iAAKCRCVZB9rJT5Y45LMAKDcLu+jtrA9WqnI -1UPw8I+suNflGACgvZ21OB2nPFvzsBDJQSY921C2k9+IRgQTEQIABgUCPx2AngAK -CRA7v893vYsFDTTDAJ40XIFc472Yv+8gHICgcJTG8ATHbACcDloWcwv8vSnABT6R -JV0U6bPBmu6IRgQTEQIABgUCPx2UZgAKCRAryEAWIGh4lYF5AJsHGbKmJXb1Qvx7 -1c6n2jNWmK81gACfYbmpioevt3Y3KSjlf12OEOxSFy2IRgQSEQIABgUCPx46sgAK -CRDMAZrE/xbW6PbNAKCebFEzvR8xnYAJT2ckk1I3C3qOsQCeNZbsexfRL4b+dDFC -cRBCTqSDpz6IRgQSEQIABgUCPx6ZMwAKCRA0UO1RP8wqkGZJAJ9+DCk9lV2Svnd+ -l+7u5aefZL4cBQCfdCD+yUvcJj9isbg4RCgKkqDh5jiIRgQTEQIABgUCPx7TtAAK -CRAo7rNaPo3MwJ4hAJ9dXJK1bIDR5/0GEOCLHnAV3G/bTQCfcwoCvpk2gKUbBADC -7JfNvsn19tOIRgQSEQIABgUCPx7ZUQAKCRCSvJR2Y5QmXiREAJ9kpiEYox6slmxY -NI2Mse4nBv7I5wCcC+sOnQ0lMumt6KJjpav5GzKpbIaIRgQQEQIABgUCPx8BvgAK -CRAo3bD9Gcm2ukpkAKDAiwTTAJsdKVc1VhOBERBSqQ/uCwCgqiVGLPYY3+VrNuH8 -xaNCY5OsuKWIRgQSEQIABgUCPx7v1QAKCRAakE+JnAT0Vn+CAKCOpLwh3WFEdR05 -bhTihE3sr4oLEQCeIalp5fJMik+TJdAUilxf/cJUF6iIRgQSEQIABgUCPyAnywAK -CRAD4Yxrg+URDwflAJ4m3noUwZQmNE5y9rr/3zXmtWUHigCbBYD/QUEGD+rbosE8 -yu3bxELdHJ+IRgQSEQIABgUCPyESpgAKCRCkU1GZ6fLHRySNAJ4yOHY0XnCL3MO/ -ccT45BkUls6ctACfZ1G/ojmCshoejKeEm+V2fjCy4leIRgQTEQIABgUCPyFzPgAK -CRCUmyXsB0RyUrZOAJwIHTQ9q9fMrKLrYwNcvbhPZXO3LwCfTg+ynV/d6VVli4Gy -x44xSEo854uIRgQSEQIABgUCPyLsxAAKCRD6jjeQkFE49AgzAKDBiS576xIrLq8F -rXoel/BKxEbxWQCffVbXx86q6BfQrg9je6j2KcKKkN+IRgQSEQIABgUCPybB5QAK -CRD0PnJmPMiMCfguAJ9zNZ2SHdPQt9mRs7fmJ7eFzXL+yACfSRTv3/LMwz0j/EIE -LcjTMlwf8l6IRgQSEQIABgUCPyOdjAAKCRAYoMyNVwaktIGXAJ9sx9LPQiA9J6z2 -FkB9qhbl17If2QCcCCtWo1tICBg1P/ExTA2BwnFAauuIRgQSEQIABgUCPyPEAQAK -CRCUT8anamoLvKHtAJ0TyFAX6asPnzbpFBjLtY6bzFqeBgCeMUofVcspoa/0/YBa -A8hSD9Qd/I6IRgQTEQIABgUCPxvrDwAKCRDYDvNai7Unr5ilAJ46rCD0b3Ywssdg -c/bBBUS9kgUzkACguVCo26BCv86vOgOBe2wQr9qEPZKIRgQQEQIABgUCPyfZIgAK -CRBvI4vCT9paDCFcAJ96KZRIVSLr+IrMrYoHd/H4r/R9uQCgioG+kSWctJYlqMxo -4fatptDbM4CIRgQSEQIABgUCPyfefgAKCRCfzyzNPz5kJqT2AJ9qA0P5h9X1TZ2t -ckVTEt1NRX9ydQCeOsbIvSvlfxdI72Bbpb6Uj8k1uwaIRgQTEQIABgUCPygYAgAK -CRAEMjbrEHMZdzbaAJ9TNJBBoYV7cPOsEtIm4546RqsOgwCePRaDLbRQ+zojgFYE -0l7c5G2kacOIjQQTEQIATQUCPyjtT0YaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRo -b21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJ -EKR5zcRatGBq87MAn0fdtv+HO8PkzE0jwcJTFq2mBMVAAKC/cq4wlxqxRnnHq0QB -vHPbR1ZKv4kBYwQTAQIATQUCPyjtWUYaaHR0cDovL3d3dy50cmFzaC5uZXQvfnRo -b21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5c2lnbmluZy52ZXIxLjAudHh0AAoJ -EPl8+eM6S39dX/sH/3xKPJriQO+GAhgL206tg3CC0HD7szn4zstqcokgLuIDhnBU -dnEHq8RH5Cm9y31wfSJBhs3dhJD6cLEBKxZmO05T2eklYeGyhRzL2MH7PAj5oIHx -Xds7ue9k1OJbBlEugj0SQaO3twWv8DM68ynpSV89r7vYQXDIB+rDJBSUy38f2Sf6 -QEf31nThMgOo3zxg0HTnFqTZxF/Zxl+qXb29g/LIVo9Ro95AI62DDLbeBbo3ofX6 -pb9+iLLBO7gEp+jzLYWITpbS3yG3N+3kxJUSxHFkTVVnKUWdkkF2ba5VcdWOU8h0 -qCjds6Bd6AL9r1d9+OTAGNJo1/hKJmHB5i71HAmIjQQTEQIATQUCPyjtZEYaaHR0 -cDovL3d3dy50cmFzaC5uZXQvfnRob21hc2IvY3J5cHRvL2tleXNpZ25pbmcva2V5 -c2lnbmluZy52ZXIxLjAudHh0AAoJEHkFdo91hPXYWbwAn0wIO2rpKpKPbfLlYPLR -qogcYL7MAJ43Jo7qeNvX7+R1Y2egJKUMtJv/GIhGBBMRAgAGBQI/KO1zAAoJEPnQ -FPA4yYWN1J0An2MMMdigRu72LLgPs9y+N/OcBo53AKDR4YObuiiSusq05/0/IpRP -SpyFUohGBBMRAgAGBQI/KO1+AAoJEF0Pf0ng5J80GzgAoOw2yq4lnPopbXJT7NbT -SzYUdQhpAKD5nJtD1PBQfMEWX7+E9Q2eeq5LMIicBBMBAgAGBQI/KO2JAAoJEBuw -i78qkjIl634EAI1vXWW3JV4mRLWURiatAXE6ELl1t6zkcacP+VfsSpABqKw+/6Ga -rnpnS4/9Eg4RC9F1uHcx3HrZiWoJMdrmJX89QHuCF7t4d7DJk9HOSlL3LkGCe9m+ -Z1rflATrtr1MykMly8P2w8GeEsegeP/qpXA5M0IT5R5Ydq8/bcDayvBXiEYEExEC -AAYFAj8tVsEACgkQLJg+WtKKVdaquQCg1IXH52P/zc3SAg2BS9fwUrFfT6sAoLLv -pZMGtQr4Ls1ENx1vLn2/5tYSiEYEEhECAAYFAj8ueAkACgkQEgljnRFKqFzSIACg -4Czty3NmmCDd7ZytqaDYpnluyZQAoNXXygq5k5mFRSrYBNbKLQ2pTmcpiEYEExEC -AAYFAj8tjjgACgkQTvSphPLKucgE6gCgh9l3Htk/cN9inNeozu2BxwCVnTcAn34l -GxnITs3t11dr5fgeWntxWojQiEYEExECAAYFAj8zVvQACgkQyg4WnCj6OIrOcwCf -WFi3qRdARzOjOzHc7e3wkE2Y1HIAn0sI6DnpFArA2q0B4+QATJtwNWNYiEYEEhEC -AAYFAj8fL+EACgkQ2tp5zXiKP0wi6gCfZqoOI9vrerzDqwaHpusmhWZNHf4AoLxr -H4N+VDTFpyf2fcF6kOjTdOI8iEYEExECAAYFAj85JnEACgkQRcAhR2mr3VTtWgCf -RkvdJ+JLLABz0Rf8jUElesJAKg4An0T9vtCGack3TYp20xrkVjB1Y5E5iI4EExEC -AE4FAj8fB3FHGmh0dHA6Ly93d3cubWF0aGVtYXRpay51bmktYmllbGVmZWxkLmRl -L35tbXV0ei9zaWduLXBvbGljeS0yMDAzLTA3Lmh0bWwACgkQ3oWD+L2/6Dit8ACf -eJyQ4Ug7UTwpgMM0bh6ivqV8O00AnR56LyPYir8xNMEDvhxW6CIXNZTtiEYEEBEC -AAYFAj81i3wACgkQadKmHeJj/NTf2gCeNIpt7nvOdpIk9TJvYTJSn6iLUaEAnR8o -uhq4erZO00NEtc4llNzaPfLSiEYEExECAAYFAj9ka/MACgkQZmZxetuDVnmoNwCg -0J/dSioWrpCswFEn0FjT/nDiSWsAni0xT8LTtc3rlMblmleweYHChwEQiEYEExEC -AAYFAj9kbAkACgkQDZZLZlcObeqx0wCfYoj+KssyUhVS56GB2WXKuc4sorAAn3Ol -tD2OAjvwcuLi87npRTTXQbtjiEYEExECAAYFAj9kbUAACgkQTgKsrh3Ws4Bt6ACf -cBrI0RT+qtOaq8ZASC0I3OAlM3gAnjR5oUgzTC+9U9M9jdpZvT0BeSSxiEYEExEC -AAYFAkB3KgAACgkQpD5tJxKCh+jl0ACeNPz/WFH/10uxp2l6/90dV+2ElwsAnR0k -7I7LxUR+O9SuzpPueEOYqH8ViEYEEhECAAYFAj/cWFEACgkQxRSvjkukAcNBMACf -Xfg1gsZGuwz9Dh61eZ43DrNYiQ0AoNtpKAN53n6fa7qEzw0o2cC8Y2soiEYEEBEC -AAYFAj/pG48ACgkQZKfAp/LPAaiEogCdGd1scuANXPxbF4w6df1zGChirXkAnA1w -uWcW0c0cO2HW3ABlahR6wPPBiEYEEBECAAYFAj/MNCYACgkQoL6dujuIbn3dhwCe -JqloDYulF0Gs33SEON55laT7fVUAn2QVkMisnawg0MbX6THp1pLAdBTriEYEExEC -AAYFAkB3tZAACgkQhnv5qfvT645O3gCeNCTIuIs9+6w3jqB7GQaLXXpUueMAoJSP -KUrk9dlxe74XK0fedbmaKSB4iEYEExECAAYFAkB4vOkACgkQzN/kmwoKyScqLwCf -c11cQ2SYeDBEFhxb3Qc5wFL/AXUAoI03ZmLsly+9p67WmuY114lh7jpmiJwEEwEC -AAYFAkB4wnAACgkQq/8HtEbzIS2zVAQAqi9LRR7bEeL/KZTYonpAs076eUkjxksX -2Ls/ecQ/3ERA9fze4Em0XHGOLAVzKw4MIv1oWRiyfzXb+6J2lGw8e9zQM33Y/Y9Y -Dq+YC0umSiPHtL+225dQdS4HXmfex6sDigG5sZ/cou8HYBwR5oIHD6QM0QUbfj+Q -plk19ZhEHxGIRgQTEQIABgUCQHnwrwAKCRB8O3lwiMfB932kAJ0f16e5tFae3JN3 -61C13Tx0ck3waACghmo7zp4EAuxr3FJW3cDeMeHR+1OJAhwEEwECAAYFAkCX0dQA -CgkQtWeUZ0c/fvoaHg/6A1i9isPv/kxiOEI9unftpwweApV3k61hxwrd6auy8Gt6 -2oa4/KgU2S6uZkUamO2hQpfNyXX9iTF0XhnHysKBDnyv3dmfNKAfHB/RCLqYWjWL -zABHvN65BLav4Dfa8yizbiwbx+pnKQomr13i1hcL3h35ATw49TagyJPQzCUNtfZu -C7Rj7QeMmmVM8VTqMRRAET5lqdUVuB1YHnc1kuER9JWYmatn0AnX2Szkj39gi08h -K6cq9mIsjCi15jhuY5onYeQmVsnfOBCZmJ2XyFzex8Kjlf6rZDrt67gRZAc9noov -eL4Ifw/Z2OXaWZqrNa+yvWR+y+0AXlxGzlZTKrSr7MFbsQ8vG06G3K68n2pX7iku -AVvF1RDkFZuFRrde6ggl99DlbngM2cgRJne4AzTKJrgzfOOUD6SLDFdaFTwDHP1q -kGPV9d2jN3ZOUG5ZusNbM+74e+3Oo7XLW1j011auC6SDrv6ndZQ9Z9vZdYw4tI47 -LWBxYmZ9CpC2GqCpstZiovYjB4RxrYiQNLVV9KkSLyoreHrBb5JLvgounK3W/3JV -qDdqg3ZZobP0JQh5UhavlxzwCK6idp+iBcUHC3CtEeytz2bExh49wLfmLWpEFAZz -l50A5fvvgj5AjeQiwGoTrD6I9l2KRu3fvmgXjZJAahZz3NyyDb/g9TS8fvY5c22I -RgQTEQIABgUCQJy1rwAKCRBDGjztotfSkrrFAKCtMRim/eEp1ZZQdLqghyfBv4KO -sgCggyFU/TEAQM4eiK7lZTZcDxkHt1eIRgQTEQIABgUCQN7OIgAKCRCzdT5NUUs+ -fElcAJ9H1NGrQc/RCdJO3XXpwazOqDlWsgCfVJAy3/dzjdTEXIuzunwcMOatemqI -RgQTEQIABgUCQOaoFQAKCRBxXtagfnuKyUNQAJ43EoKiOLUgJQmOhPX/Mfnx4C25 -cgCeKsuX7YXeCNS0xzT+00bbISBmEgyIRgQTEQIABgUCQQQIbQAKCRDbTMxLKjDX -KVk2AJ9DFIsf3VdcXXuD715uRFqDWOH/vQCfa7q9DAG/s0zdXQ+rPNQE63pqmb+I -RgQQEQIABgUCQU1UxwAKCRBLIOcA56zBhyyCAKDEcrORvNKFS6a8+jDCGXbWmd8m -VgCdF6IW+ohQTfxmbsWNqp8066ix2Z+IRgQQEQIABgUCQnIiswAKCRDT+ZXVd2r+ -Em3+AJ9iOcXpqIA9u99C7v30zr/WxgsEkwCfTLANSobqy/GLvVyItLjiGrEFp4KI -RgQQEQIABgUCQ7l+AAAKCRByHrGwzuRJeEZRAKDphuCQVBHnJ0jNRt5gE6ry7Bjz -+wCg3X1hA3hzleqMay8Kazhx5H1+712IRgQQEQIABgUCRBqs7AAKCRBBUuHxxnGG -/61lAKDr6KW9NaW7hf9+uQ0+sz58icccrwCgkvm+iYD3ROLubSn7ZmtTa2Xh1caI -RgQQEQIABgUCRBqtCQAKCRCqDNHu0ItH/tFCAJwL56EGCMAq/ojS4PlLwyWFlCnz -rACgjKI++vABdNS01zi30QJMSf6OS1uIRgQSEQIABgUCQfwrkwAKCRCY8qTu/+W0 -tm4fAJ9+N/ujThD65SquB2oBmyXsQTcBcwCdHvcqGVYM7/u0cZwY3K+jIAA0F6mI -RgQSEQIABgUCQnIN3wAKCRDz6FQA1wqv+UqaAKCjoNCBKl+bwWkdTGHuyXmlOZEI -jQCfVTKpX8xgxXHqv6k6/ulMOUD31YqIRgQTEQIABgUCPxvrDwAKCRDYDvNai7Un -r5ilAJ46rCD0b3Ywssdgc/bBBUS9kgUzkACguVCo26D///////////////////+I -RgQTEQIABgUCPxvrDwAKCRDYDvNai7Unr5ilAJ46rCD0b3Ywssdgc/bBBUS9kgUz -kACg//////////////////////////+IRgQTEQIABgUCQHezHgAKCRBsv4suVls4 -+UPzAJ43hajJMePyTwGZmhE077EeXOtXSwCbB27L/y+tt1DooFNT64/skgJXC/6I -RgQTEQIABgUCQdHolwAKCRDg0NExEXGwT+X+AJ4/oqNYw44Nxn/N1U10XRpumuJi -KQCfRJrb6+M7rLOidrXahHwMPkeBURaIRgQTEQIABgUCQjgRawAKCRCvc7YIqUBQ -r8bpAJ9UKImdTczoRmWQZJPu7niWnc/HDgCgihWFL/uI9cKn0vGVUcFHbeTNEx2I -RgQTEQIABgUCQj2ItQAKCRD4LlzASysrntXeAJ9JwtUtRj2W8n0JH/wtY0Rpb0/u -QgCfTcAzoL0d/zdonZ/FhkO37xLul4KIRgQTEQIABgUCQnI52gAKCRClBubU3U1Q -iJpUAJ4nQBuETnRFytABRiSMDvuK5hYrHQCfQXL1NfJx6AnyhfUbw0lxxmHgrpyI -RgQTEQIABgUCQnLGtwAKCRDdynmcYUNN1kMSAJ4oQy4OMkrgajvGeJDjQvLdJj53 -sACgiYCiSwosFpVz9oSCuQeZ7qsfSDaIRgQTEQIABgUCQnL5HgAKCRB3/iD+qmq1 -y7vJAKCjoEjo7K1aCa4RmWCxf1/0/Us+8ACffk8KjrIdrDJzVdM5NHXYcD4SOO+I -RgQTEQIABgUCQnMYogAKCRCf8lg+aBtkaRDtAJ0Wbit7y4DewNZiBCGAsGo66oif -qQCfSXKgIleO9Fddnreh8vC+Giw8B+yIRgQTEQIABgUCQnWmLAAKCRC7xv+5oCEv -5Ge2AJoD5QCB1+IlZXc3W4rkAo9YjxWtZwCgoI5I5XPDMuGsJuHSnEnOJnVHSzuI -RgQTEQIABgUCQnXM1QAKCRC+PO1Hxs6gya7dAKC7l9PQFrr9MyxLqIwSZzKAJk5Y -YACePNGy/wNgKhMtAzKuHL7jZhLZviqIRgQTEQIABgUCQnZInAAKCRBGxZjby+xf -gEg1AKCM3tdxh2s8lbraHdWScpUBu+6KIQCfaY/hU72wV17KVG9KXwETr4iH3E+I -RgQTEQIABgUCQnZLrAAKCRD+qzY2RbLXWyVqAJ96fiAU/WzVe5IDnokDrQBNYLlO -6gCeN4wtjZA0LYNfdJv+bfqvdltTEe+IRgQTEQIABgUCQncqMgAKCRAN5ydtXgV3 -8l/EAJ9GWZl7Gvl4kYK9i7asA6mIz9QlNQCgyVPu0fzbUigRBskerqJxYz0qOLyI -RgQTEQIABgUCQndHTwAKCRAO3cXyakXIFuBMAKCMtXYLJmQDdCSzq7qFfYTg9NZv -FgCbBQfXf2EpHAEQwopSz7tHCuHnBXWIRgQTEQIABgUCQnfNGgAKCRBKw5P7otBp -NrpLAKCJckctqEq/jDqEfcdHajtLJCznkwCg2sKvB/LlZtkOuoIneZfWx1/nnsqI -RgQTEQIABgUCQnjY0AAKCRBwmj9gO34W4VmZAJ9SymG9oRHzwTowbe4MAJWTKbj/ -ZgCgrzoZwzz5v/PY6bJr/oe1dTxjB72IRgQTEQIABgUCQnnJVwAKCRC81a2QeT9r -AqyeAJ49eMAaPQQw8ht3oKZGQlza4L+w2wCfcMvbc7JzONfXHCNywWgXx46YUp6I -RgQTEQIABgUCQnpNxAAKCRAf15DD8aLe1bmWAKCsZCQraaj3Ia2nzHgSasIlWP/j -zwCgorjV199hJOvdXBHhwRGyeCXBV5GIRgQTEQIABgUCQnpe/wAKCRB6b+tv/1LB -UK7sAJsHbW4PC8zevjnWXn40ihmDKVC/EQCg6X2LQ+1XGtzaRhhDUfy0GVAupd+I -RgQTEQIABgUCQnrUIgAKCRAGUeUmdLfHKrXfAKCeheZcLx9lUd5BUwa4bPYUAxKq -9QCbBJvviKSYdJxXZNlmld5S8YC428GIRgQTEQIABgUCQn7OEgAKCRA8Y8o/oLPo -ixoUAKDJeK/rhuKpG26/lRihhVo+64jR2wCglAqCyhcczML4A822cTShr16b3piI -RgQTEQIABgUCQn8UKgAKCRC4lA5tqXtpoA4rAKCwrHn5dsY/nuRdxDsQPtslJEDE -bgCbB7qvCrfdAXXYTpHH0Cd/Yi9ysp+IRgQTEQIABgUCQoJaUQAKCRAT3U4YLkTT -yvhDAJ9fb8ubNZE7PaVVzoO7o9YzRSlOawCgr57n+WuJ4mNJgKt5ZgC+95uzEJSI -RgQTEQIABgUCQo8wzgAKCRD23TMCEPpM0cqBAJsHXmTB4bzFtQL9YD9+xNRCR1ay -EgCeO+/L9mNHBDbQOAwZAR/mi0G8L66ISQQTEQIACQUCQnLueAIHAAAKCRC4lA5t -qXtpoO5/AJ463NgE78T3zHUXvOx6d5Ru+cyXkACeO3VkUyPyQbJIyM9sWEAgg8df -YySJASEEEAECAAwFAkK3NbwFAwASdQAACgkQlxC4m8pXrXxOyAf4jmnjn7d62EwR -rSdmF1j/mhMppsV4ESOdIv44tJm0Kw4WOkYZ/M+uE0Ti5U3sQrCoFe7aMSuZnJQp -XwEd4RlIPjGx26FyI2Pcn8rZsSB7wjarUjvS32pDMtrL3W8V68wvWeiBOnt77OUQ -3MLV1W6rVTKNCsGhrJwTt/EyjmeqqPxILvGTbDLtlwRrK1NtQZZHR1AVnJ75H1Ia -uyQUFzpI9TiY6lCALDhIPb6K4UlhI3Bqw8l4Ig76tgNa1JZoUTpyaDKM0qMKkPPf -Ne0/k8SsxlpDck2tyGJAFQIAzC6ekcUHK2QSlu73wIB8m35dvtahGYPmW39EdYAR -4rmFdCu6iQEiBBABAgAMBQJBzHa6BQMAEnUAAAoJEJcQuJvKV618YR0H/3alOq4a -MkPVB4ZN8iKNAx0Gg+cA4ykx3su4fuVfI1vuweZIPRLcGdGKubSjfiPOOpeljuwu -2/IQv70GHfucaRzHSRuDO2T+dShN+N6/IuckyeH8eAOuF2H2F0/otqRCgwOfM0mb -Rz5iR7/A6l59zBeL9TeZ8Bd+ZlaihRNrgsjdP1N/PJbkzithXxBPCpE87JHsNVdF -6yTRQgCG5T6J0v/wAJ4JkS4QGMJBBP2gK3n8sPS+Wo5sH6I8AflJQu6ML2By8pBV -03S961UU7xXv2ySI5/RhuOceLcxoLoS6xy4yrPtxVs4knQ/b18aSTa4UiiU4saon -m+nCasQDlFnY25qJASIEEAECAAwFAkHdmv4FAwASdQAACgkQlxC4m8pXrXxo+wgA -sU34Mms+OFXufehaXjXfphBvlI7n9n4gqX5/ihH9WcP2IKObNXAd3H1HcOelTeuW -uYDHdJ3yUF+cUN9+wDEzZsI5pYNqFmb3b2BcZMd1a7JItqC8Su3M73AXp5vCNjA0 -CCR5RwukWyIYeZ0GcIqs34NYCOBkT2+OLO0M5FegSUQ0B2UcPnPOSj983+I6ZYDy -9MCbJRXBhsGCFMPno3kfA5Ttaa2O/3iZwU7zanBjebeGcIbSCWDtKAXLx+cJfyyJ -JjAQ6irwOwr1Uyrum3JGJ9vA6flmHHf8YRmeT9A3j7UkDMjWC04+SeYCYlk3jJGP -tXJBUjKiijFc4PGiS/jikokBIgQQAQIADAUCQe6/8wUDABJ1AAAKCRCXELibylet -fLDDB/99+7DGQsYCwNMAgmmgsajK7Z+vz0s9cyZiLM3pQGdETqsGI6P4wC/eBGvv -r9QDzdPsEd+nffGD9gnqoTDN1NvykMip+pT1f4p1W69tRt2N/ibrAhaWgZLxVKh8 -XcKfHSjhWbuYg7S1qs2pUIHYsrDnCY9iwksFLHVv2DgiPvg7uoGx0acFsEwud5bg -BweMrN4BAOqOpTCXAL0zj24iutCILWywKs5o85NoMTEPiyqoM+n0a4bphpdfGBKO -7je8kJgy2XYrVyVzzewytNNE9mlBQRHBa5FNWEy4dQKoOtlXST/9YvOxZaAt9yIW -Si2YETUgz/xvYgOBPq2E39iywIRJiQEiBBABAgAMBQJCAI0CBQMAEnUAAAoJEJcQ -uJvKV618MmgH/03yS301RRPye1+aYDdSgccfZ+EdoAP+uZdXJuHVmBL5cdhBIcpF -Ryg4ACXiyLx7Q4ztsBEOB780CXswEhT0uTEyKSH2DaTQIyn8Ns/dd6ypcAU1+5Lk -gxUSMclzX+cSUQwuITuhZ14gQ8Dr7TLLcx7OpyLsKd4wBN8wW2KA7Fgp0FY5h9Ho -wvf+DUZRtLckMvXYkMNjO5U+Znb1My5/7y/KH+OTIJOf03J4O5m6+XyR42jUizp8 -UdRceXsSvZM3mskyGyv8xfMV4VsAQ6/CPPeoZWu7UY1OFIywTpfMX7s/hEE2XeJW -s/dOVJYrZ7HZDe8SKfqJuDs84wNsdVKzSBaJASIEEAECAAwFAkISWS8FAwASdQAA -CgkQlxC4m8pXrXzNGAgAhr8EN9rSNeldhN6+qCyzP2L/f9jd7GLMcuDzGNtzpkzo -q/WgVWs/SBe2uZ+uLNXdfcDG+I64fMdaji9UDqdGIybH/l0Ea2AfaLdR2/LYK2th -kfNWmySvN9sgwWaq8RPEKchRg0AsK1OKXjLByDPlB+vA81ObcjjhefKii3XVDSYp -2HoRXfSZ/Wc0/5JQKXPV5zdZBqZ6DAlWn1G+sSdXCZYR/X8s+m8VmT1qx9efWcnR -4jNfwQsgIbUWY1Fo7/tXGJ4nKywAk4LWZmM1dUkQyI3AZHNyPSXsbJoksAoQRFVT -ESn7PkUPsjOBMp0m3Uh0OUsUF5MgahqEtHQldXVEA4kBIgQQAQIADAUCQhapzAUD -ABJ1AAAKCRCXELibyletfEk6B/96IIV790+6BKmKPY0k8KJ+d8kUN2zo8sA5nIUe -0X/lEsIhVCIgjwEcPp/2Q3Rx+EV8abqHHjG2VgF4x7wJtKIabQZW/OQIS1snZe5j -66OTJbPPtLvFImdGQuy5uHHog/3ZaNO5EmqchaTsZPPhX1xbhXJlQuP4EXJ9+s1u -14LPaoZBHU/cgqYs+lOMeOHAjx282lX6X170x50PIubSz0B2VvO3rN1u+CNuLMTi -Qz+tv5vePNEtCmR3Hj50UnxkUe6r46fzA2Wb0YGNHbfbUY9nbQ10B7WUw6OaB9fT -j4nO+rS0ocw8txEziJXAeBOeIrSOB+/IcLsSKCjpj2J9JGoEiQEiBBABAgAMBQJC -KYicBQMAEnUAAAoJEJcQuJvKV618ioAH/i0A1iVSAMZSakBcBR+bP8iT3uLMoEkY -zWSlb+R7q33LQwWXgjix9Y/GyqFwCsYHDkFXBm/fYsErhRVDN6PLMWs7VAli8E9B -uOa68VDI+x4rVBUYvZ/KGP/7OavdKY3D/ZERSaP9m3wdEs9cdeSPAqnBhMtC8UkS -huUWUYwbRN5Ib96Gzwl3R0Z3WUKloGK5vbMchleXUXUUclAeFe5lJCwX2n24KCQJ -UWE2n9ervQHL9UOJoRedTUtOWPvJTTp+moy70NJJGgXstzcFHhuDxH4Y/gqj5hzp -UXJANq4rmkohkiNdBgV+l8RBFqNJ6yitRnwrYrIj0h4his/RY6cGwleJASIEEAEC -AAwFAkI9SRUFAwASdQAACgkQlxC4m8pXrXy7vwgAylGsb+kwxfkl/fxTDL9Hlcwl -Ek1NnXNmfbHryHh6iSg7PUvmrCFQ2ee+IUZcf1JR8BALI9gb093fFhWB7AxD+JTi -Lh/9AMuYbHe5fhDj7v1V+Nnu7WTP6z4Zqzt0UHDqdpmpy+uq1Q8Cg9k+21UxQ9s7 -mW7QBl8d5SOtb2XGiwl/HSUTv2tR572DYyGc9i+K9C/hIRtpnpJSaZjV5ZT6I3Z5 -XA72cfCCVU/FeeX7p/v6FqSEbr9/YUxbLt4eYZl6GRNDean1G9NIcZf0Ihi1fvuf -E8/zKNKUaf+u00TmEMi39troiRrEoziasITG9e7L3m9NgQJsxR0awR+N1DYcRIkB -IgQQAQIADAUCQk/AGQUDABJ1AAAKCRCXELibyletfMJBB/942fArMQnRknXJZw46 -Zhz/JTErKo1O1zCC1fzKgR8y+n7X8iEQsgWCoeFljpoxczzYixL98TSHXCtrXNAE -QIkIo78aufJpEgjEzX1Tgirn3RLteIg3kdzUwX5M9ZganWS+1VgzmycQs9UYN+tY -iTz3mN5bpJlK9Au8KjsNGRTMzR1pLUjc5eZwGWRN1HAJECqtsD0w0HYlHvGY6yfk -T9MVpH71BnK9pOorpJ+hTGD0Gw2O1k+pK8UBE1y9MvGK3K+WoTFihUbuT+aqf0KU -5QwPKrwvQe4yUrk4cpYjWIPBjhDkIll5yr19a199C3gsFoXcH8mbmh5AbKkj210d -PgXTiQEiBBABAgAMBQJCYiZaBQMAEnUAAAoJEJcQuJvKV618WboIAKLLpzY5c9yV -g/oOdwlb9tuQtdUt04R0t1wYeMYxed6Brx4/26fpXHtxUh1JfsJtzBpVMHBxnas0 -qWfZHywPyeDsXpWeSOYjGfAyGaN392e0ZtkPxWIx1KPaqnO3IVkg/D145De1A/m8 -Pd6OO/97ngFHg7C32EuS3YEfWaEcCo23qy/AvoRVbVmqXUJVC4aRDqg9rIl7juMF -C7oysjjMv7Qi+yLS7BNSRmO5x637Z4AZeJ0p48npd4HKbJKMXqmUBSLFhzUCMA0o -BeWxYld+sIHNW58tgkJuFfXQhXyY6dh4foh7roPqhIvI5lyxq0ZJoW76UrC0A5jI -t/qGskU5ym6JASIEEAECAAwFAkJizvsFAwASdQAACgkQlxC4m8pXrXxG0AgAk6hi -/JhLlElgbL3lL5KNOyAFssCcVwwrNufMHstpPJTFft1I4EGJpUdZLr8wUIvgxI8I -bZDEWn/J+B7uqFw+4iAdi82rTVZDqv62usotnXs0y5GPsPbWyICyDrmwSYeBnL7y -pDmXYu/Bf+H0Nx2ZCsw0zSIpHhPRc9Lv7q/ZJsGsxtF9FDHRheRf1wuZHhp5Vvo7 -KjSbl/KdezEOldULsZrQmTf1rTanrZnaYu+MSiL6A14+e9HG1OgykjvS/oQoefpy -gdkbvkBKirxMr8hPE2kUPc57FpQUcon5m3TcMh72NE5g9INPXlDv2j0yIKVaco89 -suxIAF86AV0D+xMYxYkBIgQQAQIADAUCQnU/cwUDABJ1AAAKCRCXELibyletfK+H -B/41TRknBVogdw63K9HNZkemH94eRXb1Y8bvw7F42oH0PTpcJOECphlBTzV22RnB -zH7zUt7oGM8FmuTCKbTds31B8Io1wSnp+7hm+2oLs5l7YhhrkjpBaVOisPu3zvwf -PS8Oo2qNBHp2TRfdWeP/dKlN6Pg64tzl49PJemJnhCi/Nse+zHr7Hm10jZAvQ7Sr -+JgJ/p/mhX1+L4xYqq2gqHzu0g5V/gOpFFyy8zsir5TyZViqSrsFtx+9usPAc2Kh -KqUXp2n58jXCW6wDKLy9L9plxshG2sp4RJ2cpi/+vz+LyZnoAAEuU/H5OxXC3izI -hn0fIyv6cVbmkoQkCqNl0VWliQEiBBABAgAMBQJChxEXBQMAEnUAAAoJEJcQuJvK -V618x+sH/3cplqFvGUxbm1oFFZNmp1aXy5im5m5cytJL9IYaiJtKuBPyAzUMzFLg -jcF6LDDhCZ/bPitecpjIQm2iNBj4ELqNot/UJdgRbfikN70dvuDWXeegTdhEPAXR -pSYoR5YDfeJeJT4ldxB2tO69tT+KrQZUaAZUceJjwsoZjXJa9aBWp1ecK3RRKVrl -CKqtApqZqgYk/RW09vogrvIQEQqjzclkIp0SQ/LxwTILgoy/bIMJZH2jXGgmQyXm -a/VT8GaNp9ioQ19nkORlHJqTrV5R+AeTmptGfJjGYZPhMO0wPU8I3aOtL5js7+PX -sqKc3+bqVXVzVObIG+x3aamHo+DkW9iJASIEEAECAAwFAkKJtlIFAwASdQAACgkQ -lxC4m8pXrXzNBgf/fJAoz8n7mRXeiBlSF0XFqpqrIKe0Hsl2nrSlRbUeEKMPLXOU -oFCuE73L5SBvT0u6xrxFpEVegPfeJ3AKlcTZYulA5LJSMsKTwcDSwDV6FjE5wEmg -1WwJ1E6Hw9p9MdUB0TIdrQx46yirymB+J2gLGnEMnjaw+3oVRCK/N61t6+3owX/3 -c6pN5FZfM5NgE+oN6EKTXE/teHm9B0OUSmq/xb+Rwt+xvMGLOuoh9bhA+nP5GvQp -xKPBeYbz+17dSV7IMBbWuIHCrKsgUP8ERScHcCYY0xjFLn2sfWExIiIHog5OGiob -9Wq0dwgQ23/2uX/zTgb3eqjWFmbqDKez9M+cYokBIgQQAQIADAUCQpuB+gUDABJ1 -AAAKCRCXELibyletfLzGB/9U2WMBn/SJpQA32jrNYOVsczX8dvgzJUA3dBJpOjBB -nP80ikAyEkzVcHa1xfoq2hptEdzwmaSYfYRFHb4oT6V3SvjwNYtyDBkaTqxdKW+P -Vy04fj0aGJL/cxLyMlYUybNo+cGxHfVwJWJA4VF/N/IPyx1VLeqTQnA7Brl89/ji -9VkRXtfLMF+WfY07XuAxQEvP3pShDlHzGMhPmkUQmdHlnBRgtLIZZDMZhK6cxVln -qudqR99MyDg7yq26ESjybrtSxCypF9xpa6iVnis3cMKi3S5Vp98oaH2Haof0qNJi -p0bd5GKe39xyzlzyS2xp1YpqELqy0Up9cADkc5nKsTqhiQEiBBABAgAMBQJCnNMK -BQMAEnUAAAoJEJcQuJvKV618RREH/jMt5I8jSpnlaHxe+B8eJA1Kl/kG77Op4s8x -6BljyqiXXDHNULILfBmC22mvEpTvOyxiWh8E6olsFTo9epgjh8coYYtxyBXKRY6B -y6F0Z16BG2vmByhkySc22GVJNEeZ8p849zonBSG50uHnttjAMlAS2duapzhhhI61 -RQ+4eF/TtPKghZGu7eGXqWR8ztVNaUNkvhu3nZneyU+OEZKn7LM0FY2oO5ZqnUGV -O9/HtRmLUluqrmsTfeMJxMa97n/+zIFKqx7VDIwA8SV0qMbnFw929wtKTG+Av4jU -9Mi+WjudyC/DYQM6Z2aGj6Jzq9O8yG/vzZRW5UQ7UB0o0RWKOVmJASIEEAECAAwF -AkKv7KcFAwASdQAACgkQlxC4m8pXrXySQQf/Vf48FIUYYVflloKQj/rAMyEt71o/ -qEEt9YfkhPg+vpoe+EWKgGatxpc82mHf02u/Q66kpv2jFvrN/boVG7g2p89f8K0V -+UYT5b5RREu8z+DaNPSwb3VCCZ6eXIjPyfRvP6GVBtbWOIZHSgHAWYuKGp0mVv42 -SVLYRx94+gp6AnnljQTjkYA/u7hDYUU/gqvUQlQL3QPgjL3iDGlkxC5Nwv/NMnAI -8Z7wp/Ol8++77yUC+OhsDhP+9hxXP/BzVhSWzXFlLBPIYmJ82Rnc81YGo5l/4QuB -noIjuDMCb/fydMMRpc+L/bgS0Cakqm0G0Ovi7h29kbJqlDv6s31t7fSjz4kBIgQQ -AQIADAUCQrSPawUDABJ1AAAKCRCXELibyletfE6iCACsegwbn+aU+gmv3qYxHafd -5coPwq20CnY7Db6iDeCytcN+IoqLX7v6fSUQgW1lsQDZaT4c638Z8I77OIGdSGA9 -ChuDk1U9pe36caHAHhDXkrzHv7w3tDrRnpEj0GJyo+OmPz018OFkzdpI9Tk775Xk -jYlxJooKEnTbggo/B4fKclSoUU4ADBvTt0P45E7tWlr9uqvN87yW/YGy+O6aDxM8 -Eq/8vrgZr7mYyE1M3ZINvaFg5dhPWmOqxOUqSt/SORg/S/w++uOTPeu9qf+yGg+B -jYNUJ9hIu7a35ruE5e3asQMPEMup8Iurckixorh1FKwRtcwAqjegDDxn5dPTMuQc -iQEiBBABAgAMBQJCyQdJBQMAEnUAAAoJEJcQuJvKV618OOYH/j96LP1Mvdc2hqkE -fnsuACOjJ+onzupaacez0jgXjmoRKqKLuBLCPmWModmzz0zR4uYWQJNBEGvZRBQL -yIip3gTa6xs/Ak3bI4keX8q9W9uiy9pzu7D3hM1asGFOruwNtgwxst7ppj9NUkN7 -SyRgR4qHFUm0YvY3ZvfHA78u2zLK00D64rmG8VNddrymP1TASYq0TFNZhXSUyfIQ -xFk4M4axGB9KfnYNIFUJjai1ZHw1xYVm2V3gsRcHBr8UC/MsuZNCfmzH8uZN/pWX -icFYqNwj/Nmp5Iio111gBNbqui0FzkeMseM9K7j5iHd4SbNykTAb1TQ3goPkdQuM -m6TPTXeJASIEEAECAAwFAkLQ+IQFAwASdQAACgkQlxC4m8pXrXzBfQgAglVzFEla -U5BD91ZfcU8pq/pj96VnHoruSKS17Y1reHt/Fot5qG2ocYU7FQv7ybF649sWLc13 -mFqNn9n01fy5FgaDguu/XeR+IDyXQbduplBZC0bpU4RLcPxr+esjNyckQR0TlRr9 -xQv6AbJ0BPr7sFgle5ntZTi43KnHOaW3SmaZPx2VST29KoHPzJj+5PrT50WavQHv -55kUGGJVF0/J47pSMH8HJmTld9O/luFMhg+ih1Sya7i/jNYIgFe4XxPAzNKPweyw -VobvpX5n/ohZTjctmELz7+CBQn2DKrpCr43TXqkR9Gnr9nrUOAOIctg6dpaN6VG+ -N4+l0winEbGQo4kBIgQQAQIADAUCQtGddgUDABJ1AAAKCRCXELibyletfNnhCACa -FcXOPg3JBbBGeUd7fIc0hHSNZO7yi2h2uvEPoIGfRZb82NyoXErWpce/N+h0a+Yv -8xiE35k3l1ZtfuFlwcdjCa9hk+yZ8hUqxo+e8AUGa675JZNcm366PylUW3iPmQMg -d+Bmi9DToXAXkWjq/lDUNRC0mvDdYPC5PyQcfm7350VOP6tb33VjLA6IYPwIiPvF -mMlXujFV0Y85KPugpcYLrInNelxcJYwQu0YMsfUNEMa2MQA0TOSiB4NzsjVk3Tbn -r7OQXhbukVRug8nkNi3jYtGo+mI1suq3aaToneM8Y1JYWw2PltEF098pLHH/ee0h -AmyC/r6MBFmNIyzNHQH3iQEiBBABAgAMBQJC42W7BQMAEnUAAAoJEJcQuJvKV618 -ZjkIAJzDKDIwUWwKRNL8pWYMnbKDGnF1Avw9U2+5VpodhismlHJxeRBel4ZyL1EY -u+60V0CliJB4I4wxh9UULVnjbH/fTVf/o+QJ6hfcZAY/IXIwSVzz7FJpe5V0jeXz -EXPwvILAGQnZwH3LEJ/lza2BR5e4FvSKGugmfdXUlSuUG192SCFAn8tpAd8PXrwi -3aDhv3REsL5lxF9nfRtOPwMxIwiqAh8XgjEgJ3gbbdBFkfWf7Q4lziE/1rDUs1W8 -5OTNleII/eK9fdWAsma5qQqSdsDuR9/eey5XCMIhv/lovIYXzZjGjUFdJLMix/uO -rlvG/cNIpy488x+yCbDSeTrM8OqJASIEEAECAAwFAkLspEwFAwASdQAACgkQlxC4 -m8pXrXwx0wf/f6lej0+Xwqppwfdxiok/2dno11mWeUCDhCX6j6Vb5lxLemBwQCBS -u53V9s6wcOT3NzkwGbl9Rowasihcg/pC5mg1o4I/mMrU63yto3iekK+0vneubm7j -Zw9dY7aLzFdQm1SLnX2zJiC8Fv0zAJQWuiS0Bsj6MZl8+in57BGUi0E+n9Q4+qnn -PVS8UBO8f+d3xlsMnOSf8IECCN4QqkI6d/RuKszBA40UzQ9JoZVHV3Kxoms6yJHc -DI24xUkVqmo5E9qRdLt+mRblsFcfQqZbfc2v1kYI6+0fvkF3cFNOlC24c2ctN80V -eMr63neRBiFSltaTCBT4Rh5Wu/jLTBL82YkBIgQQAQIADAUCQu1LBQUDABJ1AAAK -CRCXELibyletfPrIB/9NEKKNoNfA8dscM1MN9hlITxbB2QDgm5jj1Cv/3lskBGUw -GoStC8szJv8etlIxHnKafGglyZXdQycOIodccKcieZigsJA7ap5PdgAQUG6FRQRb -tt7+hWx7FYEPDJsYca5FYEu+7iWHtRNu/lNjSJLmDbMTrmwP2BOglqlt2CktWWSU -jJMx35OkO4G7TBO85EKnepm7MTtVdPr7WxtSOnsBlWOKk5a5mDSRIrofhBumhjwj -NgGS6pAyo5MxJspCH/tUEocVMSDeHRgngD9GbfMC+FvssbgJI2barzvkHvuXBSla -bf8+IF5WOxLgBE7SmeBAcC3nphEUm0ZE/qyTXYVqiQEiBBABAgAMBQJDBw4vBQMA -EnUAAAoJEJcQuJvKV618IYwH/3d5XhOyfHHtqm8gceIBiy3WU/TYsYfpKBTYDkYa -IYqOxI1DVIIIsDvoyUvLiEc+0mvnyKGCyZGFOYXxlSGGwyoDz3ABns4eEp477BqF -xCN291aP5f8GdHOqH5jm7Wv/OTwajuYt+KCtuqQZo89070hmo6JN/+okI81Wa2uu -ZDNnlxjLYtG6NVrTzg3thvouohzH5WHMuhWahF0sc5tRhbG0NBoF57zNEOL5P13G -Es6skH1evhqJ2Yq4yF7qtITrkuAPvNYoTRrsl2S3QbWzgoE8cp3oVj2m5OZ5KV6n -aTdKmuKbWmDNoh1F6cMZJ7OD+oZW1WpSWhrS/j/uNNUWiZeJASIEEAECAAwFAkMI -YnoFAwASdQAACgkQlxC4m8pXrXyB4wf+L7SbCUfqQJB04bM5e5cgL8r0/wOqAJsB -2XZssSrgSZrxJrZbZuNPdjemexR0vyA0ZaIKb7jykJnnMgRZxuHYAPcctw938BQ8 -LjYMfuvAmv4Sfs937j7x7IsoEff4uIl+ZC3000i2bERXgUbiZULx+PFdg8cdAB6o -ZUbs8Jf9fg6/qP8sz/Wo/DhHW9CW6sSsccVfORVTiHTSGA71VYR2R+WFBi9EVl++ -1puu9yYz/dWc0m33Fl2R+ehiSV0xiSQnHSpSYMUdqViPsa833z7QTvvzh/9sWNHm -28TRTdHLEXYQtKTcCeRQl3Tul+Ch5cU8WUqPN9DIRk1QNAro4yp9rYkBIgQQAQIA -DAUCQxBNOgUDABJ1AAAKCRCXELibyletfEYKB/9GIKfaAtg6rYVhnruE0JT+c/zA -M0ncuMiTSDOr/WxPE6ABpj1wAyrVbyTpfC75jyi7dLdUkzjaj6A5URtIurl4hlra -oX6yVtx/VIFlBQG9Spuf9a4va/frDAF9sxorascozjvYD8F3o/5lHQ06ZsWCENI4 -CO9zSEVV/E+Jj1njto9fl4HPF4IT37xCaNoi5rby9tnaWktEBVqn22o3TULQdZet -SYEfG6sF14MOMXfkfkMoV954tqVw7as5A3F5bDiCsNQ1eG4g2Zytw6Cl0NSQTXOs -gZg45uam2ZohiCV+FuItaj/oETzdZI2BvJV7DYTNR5SNKlzoxhfT4AAiZc6niQEi -BBABAgAMBQJDEPMBBQMAEnUAAAoJEJcQuJvKV6184vsH/03ofz2nVb2a2f2Wy35R -k83tsUOeGbbxwOfV+zxOIeNhtsdRdMB9Ij61R9EUSAXQdcYDb1LWTXOS52FdMI3E -UCax7/JY/rE25vwHn4nkqtvATLoTclw+geoRfDq9E3fqmJkdd5lsCsvbvajodQa8 -8hQQ9h3hprEy3axQNWdTg2XvszOJ1TVe/dOIzi8NIGpHSC8sl+8513Kc8u/14TSo -Om9VceuLfmrjd8yw0qfbYCytkLPxLT96DcQpE1ARiDe7kd3g2Fe86zCviHrsA6Pk -dgRPp++evAL7AAbTodXXWexST/b7hkHlT2P4XLKvjrThAUYE6Z+TEYsFiomSb/pL -zWGJASIEEAECAAwFAkMSQ9cFAwASdQAACgkQlxC4m8pXrXzb2QgAq8v2+SYhN5YN -cWApllLkWzQezrsZ8x7CJ2fqrvpVsQzJulyo5RHoz3DmiYUr7+7/IcZEQFc9BuhC -fOI+Emu26QoQgqHH36bzgAfOgyVUjQW9PqCsBWNXtgl16dU8p8TeCD6+EPktY7CK -cXwBTRQVrWlCuKOMwkCDILe+hcNCkJzjLq8I7n3sJulk5ti75Yz09B0zZTDX74zS -lleh55rj6Mff1Be/zkTucWqv3oHKUwVHylXgkgiyW1J0GHU6cky2sPjh4GvovvBw -V+4uHlJ//WARK6Fmd6avjpByvAMU8lxiRcQrTQrFSEFzBOkMhtfFiGVXg0hTLuwf -3LEthKf++IkBIgQQAQIADAUCQxRCLQUDABJ1AAAKCRCXELibyletfIKgB/0fuFUy -r6qnJD/XvAtnBvEf3qCDa82Gs03wqZaEPTrUqWmX9b15yd1HNyby4c3/x5U7Fzn3 -QN5LDQsU6pT02LfLaPSsGUQu5DGm/j9g2tEfOSfrvNssZuIFCx7BXXih7vrkXX9H -SHVWyJYsJICECKOkCtEv+eOAIXpSx8FHdPq9qSQpJGkbg5V1Zm3JfqvwdwP3ztnM -GBFDhEBy8EaG9cniFvh9IdOeifvCB924ZIo5XPgzx+nGgAbCjmta+Ab1L3m4vyIv -CXept3AJOETuBuy88gQ3+50d8MnYvtn7wqCUfHF0DO9TZpvqREqgKJ/p8d8NXVh1 -N0lV33N/u428pR66iQIcBBMBAgAGBQJCdz8TAAoJEAgUGcMLQ3qJUgoP+QG34II5 -UiH9I+e/ZOv7MleAtJWTopGFm/wlt5l4e0D9VvaZJVFGa4QBxybX1R0aJBYn17lJ -I57bULrYPrGb3Jir2/Wu0iI8RqaJRhJCkd+Gr8t0F4clDTUjQpf+/bKhy6Ax8Rd/ -DuDYNUdX5EUPVorjRMXJicQ9hYHMT5vQYtI83yC7fFKF6Et6nckCX79dXtFNZpsM -2apSDsw6JPjyUMqjZ0+MBibW4VKjM0Ac6PxsjvH8JCYgo5AW7io/qdF9OvqE6JQ8 -R7cKr72cXQi8JAlCM56HcjOwAebpWwSE40S/LzP5KB3f1KZQLxlrJlN5X2kcGh5C -CSYJbB95qa1JOP/5ZCk4Jf5s2K5yqO1yTsEgpMX6kYQjvfSbLZlpCR3ZV6we54PY -HXJCdW/Pg0rCAVjTiKPohjpinaw3hM/rPoynUfGB7puCNBLv9LTe9NL/Nwq8Tu3d -rR/cTUd+JwmZJdCkGb5F/vT4X4sGSaWMjzs9JTF16JVOZg+BG+xftBAQWISKegw+ -BtJNcS8oNhYh2PKLm/S7X4eaj2h/NJ3c4BZ+qG3qyedQ+VbNvi1HlA1xyHjfoShQ -JSfL9XxCjbJyvl4BZ0/Jt/+pqRwHOmlSaIGPi0cTd2qfWvnuoMXDSOUYovZ7iFsu -vFOauBpI7HY6uelPpae1Vkex7CxQ+HBYWMi8iQIcBBMBAgAGBQJCdz8TAAoJEFA6 -oBJjVJ+OUgoP/0qY/dla4C4S6ItcbViz7ptrjmos87/aCLFTfGqw8Z+FnfO65ntD -/GHsJNW1YV2sdQC8rwPGBWSZ4r6S0F8GSfWim/QIDU1Ddzb3U4TSd6EMGn8QN2bI -sFJcNhIUN4Rw+hAP3LIvJySFbLaX+PYH4a28LpkmJ2QOEpWK5Rp3yNJXCd9p33OQ -8+5WhiabgEHDk0yZrCERYfMVyjhOYQGIHrFS7w5kLkgLP5cOQz55m+0Pm0hs2+sr -nmQnfM/vMWr+K6p3uFQd/DrAbLdjOQb7hrC8VCbadI8XENbBMETCXPJVLuGh71CJ -HQQX8+K/4KI9xlphJUxDqCaufn6u1gfh31HDcoN8rz5rz5huN94yNDL1Sns+aPqG -uKPfpYJ/d9OjrXxiP9aow6lR/Khmty5Qlv+3X6WSM8w02KM66+IKHi8SmMkZ7DqY -5TXs3MeYk1xtNdc2tu9VI0mhO0UiI+QOREuD0T2LUun2FiF71HjJo4b76TWouSFx -g5bzNyJROdmHPLXozfJjPTED77CpexYHGnmmfTDTkAxeYNxZJqMx3IpZXyc9eFHc -tsD3P2kLTk6xcqRiWNyA5TRWEdy27f2oBR3snRVRJiudBZ4fDGlF11nEuZsCoM3+ -SOUTqnezUzLExIfaCE3eyLHYvsjdpXiOW1xXLw3QlfHbm25awj0mqT8utB1NaWNo -YWVsIFZvZ3QgPG12b0BkZWJpYW4ub3JnPohWBBMRAgAWBQI5PCLgBAsKBAMDFQMC -AxYCAQIXgAAKCRCWJIPhVmLHNLTaAJ9hNOzeiwjWjFkzp871bkNEaH/ffwCeKkqB -Xm+MgNn8x4jeJSAsmLnkV8aIRgQQEQIABgUCOcsvhQAKCRC/4SBlayFImgKGAJ0R -sxryx9cxnBVh8/BWFyc9G++5iQCgnK7Mse4x4xwl9l+n2sIqj13yR2iIRgQQEQIA -BgUCOczgIAAKCRDeeq9ulMCcf7VfAKCr0J1iWCUOW6Z+p8nsWnECWzqsLACbBUfH -+uddjfI5A1xPKyuKI8N/AmuIRgQQEQIABgUCOdJS5wAKCRApXKqUbOX7VK98AJ0c -4J0ZJH8Yqf1pF5AM3b+wzkCqIgCfUVA+624Pfy5M5MDn6HAFff8W4o6IRgQQEQIA -BgUCOdRMnwAKCRD4Xr9GJY2HgY2gAJ9yVFmle7azEVP/pAQK2oj9EWV+VwCgi6cl -O2WCkFjrUwh1XxfI2/U4pdmIRgQQEQIABgUCOgHOJQAKCRAfxIHP7Q18+tGoAJwO -znBmhHke4Slp1KRE7gutjkhmqACg1OApW5K1Fu2e2qck4UHUV13pa/CIRgQQEQIA -BgUCOi4+1QAKCRDcE+VOq5tm/brwAJ9fEoTskIB3v0+sTgY+BFhK0IkvpQCgjsNB -skt1HRw/7UOU4/U/Eo5dy1uIRgQQEQIABgUCO0BqFgAKCRDndeMk20Gzh2KSAKC/ -qjFreYn4n1oCEU9ohUuj10zRvACfeHSqn1KNnV+bZrCUIhIFdsVpfmmIRgQQEQIA -BgUCO0BQugAKCRB5Fi829/aq2Tf1AKCXVuHAHaDkDcqZdIPXlATLxZ3LDQCfSC+f -XSfUIw126OiSV7N92rBpeviIRgQQEQIABgUCO0CtYgAKCRApvl0iaP1Un1qZAJ9i -Ls4oQ2crdZjeCGMMOXHN0hP+9QCeM3eCuH7umtinTWSGYAV3FC3hjxKIRgQQEQIA -BgUCO0C46AAKCRCZyJB1G8TjK6lvAJwLu++3heukjbhtl9oni8/53a+uygCfeJAM -67FQlN7osr33gA3HcmXcYYeIRgQQEQIABgUCO0CLjgAKCRBgMFsxwJ/TWp+CAKDD -22lET5do9L6N36OvMD4bDBLISACfddEotCwBUYo0M5xoruT6LCmJfC2IRgQQEQIA -BgUCO0CtkgAKCRBdK6s7rrzF6NFBAJ9KIE9LOBkQmemtNRA4xiVU0lxjVQCdGunX -/dtC0QuTTVg05h3MlxkMzUqIRgQQEQIABgUCO0BKjgAKCRB88/WvKUmfYXuaAKCv -1ASCe17B92/RwRrkY2NS+PN9VACeLXD1EqWz8I56LuTkLtDIO+8P5oeIRgQQEQIA -BgUCO0XX5wAKCRBDVVPF4PnGNP/1AJ4/Ks+5i/cfsNy0cHTWBb8AV7PuNACfQMiJ -zYFyi5oHTVU0ElFGSPeajtWIRgQQEQIABgUCO0FVbAAKCRDXWV03S3KWJaUqAKCA -Lemjsa5yGGqCkvZMZGvrzBkTuACcD8C8YJneGq1utCDmla1VRZMRQLWIRgQQEQIA -BgUCO0WfPQAKCRAGBpzylpRX8FN5AJ4h+rSDaTZRx1XZ8mhyzmAWE929iwCeK9MG -jMJ9aiocfQC6/AOqHvdDQwyIRgQQEQIABgUCO0m8hgAKCRAOp1a1FEhD9ZThAKCa -/cS1/y2fXr0fws5hVnjnYr8BNwCgjTnOekqzSKg7cSnkFnm4u2n76AWIRgQQEQIA -BgUCO0bGaAAKCRDyD6wLe4NX5ckfAKDB+5OHEo0iXNEX1gtgEPZ9WVPgrQCff1uF -zeZPc32qw3DSLcX4uJFIb4KIRgQQEQIABgUCOzHW1AAKCRCLmMiiG+b9JZceAKCf -2r/8ldyhCZrANdts7jHUEflaZwCeOZjH/RywKe2pPBmKZ5jlDnxxFCKIRgQQEQIA -BgUCO0sVfAAKCRDApMu5h5eFaczXAKCJVPLjpBnXtWvqvkJlcM4ZTRuKUgCeLJPs -DB/LUSSZ80lSGhStDdyuKveIRgQQEQIABgUCO01jrQAKCRD+mh7DZIQ5MxBqAKCx -hrkGd+lgjZFOxMPrKPXf6pAw7wCbBp7IE92Sakh9OHjL5Zfv8lS86SmIRgQQEQIA -BgUCO08mDAAKCRBd4kmWWwNYonnGAJwIJqHLwkjbbvzN5iwyAWJqYN5LpwCgmam/ -autAJiLuOMi6ui/xhYFIGtWIRgQQEQIABgUCO1ImOQAKCRAk6Z8Q2z1E1L7RAJ0f -f+syNhDlD5b1aOUCh/p0M2cqigCcDzqivgOibvcBiaOGDwQrWC/GRmyIRgQQEQIA -BgUCO1K//gAKCRDx0szISXoXbRVmAJ94igioussKa6NqgW6gA9hNO4szpgCgwJhD -4vw46Mgw56cxE9UmugJm1U6IRgQQEQIABgUCO2MZAgAKCRCPH9/JvOCUNlSnAJ9D -6dCfCoSldhVXOAM16Rnf4yE/kwCfWNP9q0DMccuSmw4AWMMaQQQeVqWIRgQQEQIA -BgUCO0W1GgAKCRC3NaZJ4LoEwYRLAJ4kU9W7+M7I3MI6+106Pj1Kavx12wCgmG0t -/mDBa3UJEORfIJobrhkRdCCIRgQQEQIABgUCO0gJcQAKCRDckT2YXfAxZwU/AJ9C -/aobCIQ84dFYYhXLgXfaC/bN4QCfSsQB5lgZfBw3KRXCSVpbYNShoGSIRgQQEQIA -BgUCO170cwAKCRCl8nAoCRep5JhdAKCU/BtO9wenJl+CJwbzx/nmfboF9QCfWQRu -kBcyw3eeHOdh1L60LBn9V8OIRgQQEQIABgUCPAZt9AAKCRBvq6u8NX0heJqgAJ0d -1i5sQ44UwNSaGNyWJAW3HRAFmgCggL5clk3sVTL+BZ+HA6de5tskTzmIRgQQEQIA -BgUCO/rdMQAKCRDvzgtgBCVtO2vxAJ91pytlW0Kb8xkgWLIgc9NyhuQDrwCeO5Yj -5MzTFLEQEhs9F1JV49gZhsiJAJUDBRA8HlbLgAYufOTUfsEBAfVGBADRMwS9JPfa -Qvnat5WC7WnHTo9t6EMGHnufsmzmVjvd0sW8uxEkcpYU0lKOXIi2yfW81o5uWnWe -tfCjCoUbBFXzIdWNXm2iLNYgiGxYevLxNmbizkN/v/Vu5dqOHvMQjAqiZ0CHvOjL -rWHF9Aql6Fvetz6ydVHflF0aqS+W26FalIhGBBARAgAGBQI7UsbgAAoJEDv2CcaL -r829JPUAn2tRyTWNo/iZvsTePHFYEw0cdXQ2AKC8YzE3R66W31nL9dkIlDP9Wuvl -UohGBBARAgAGBQI8HmtDAAoJEMN2qNrxvNtzumsAnjdJxYxss6ezKyN+NQzC8yjj -exQjAJ9cpnxsKd0x3oYDkuGvUfvLSbw79ohGBBARAgAGBQI8zqZ3AAoJEGBSKFyo -d9l4lEEAoMag4VemiVIw0pKQrKKP8UYMRKbgAJ9wD+UwVz30P+/Ah5dkLUR+1CAj -74hGBBARAgAGBQI8GkFeAAoJEAK8QrdD4l0eM+AAn3Cc8Kh4Z12bD3V+GftCso+w -xNSbAKCNp5uBjbmCggQrt2nwTQVXWZOMKYhGBBMRAgAGBQI9NyQjAAoJEBJouCi6 -/ojlbA8AoJOEW7XWMQ4YqNzI2xvefZ/Dt5EvAJ9e01m3VZohvmaDVRaBwnZCRji7 -zohGBBARAgAGBQI8/MBLAAoJEC9Lo+/3IcZDxs0AoPbZzzlZ9OlqjEJ3MIOd4jI+ -OGo3AJ9WGKN3HDpbjdVGS+RRGPneNeefa4kAdQMFEDvwSNplgXSeA6P39QEBpFAC -/3yywJap02KDm0L8fbajdhPi6k6iWmY6MrQNeit/Gd0ILbyDFu02vrAygqJmAayg -lsKFCZK9E4efJqmkqBy2mpJ48kdOlxnfC6j1yzmJrSJvN/OhkMK5OwGIMBk1URwd -IohGBBARAgAGBQI8/1pCAAoJEOIIBVtLZtmRfb4Anj4AmRogOSt4KWhO1IcHsT09 -Zn59AJ9wjRBhA0sy8eQ75QqeC9+ziL8TpIhGBBARAgAGBQI8vIXvAAoJEPhZkLAk -iutz+KgAnR7QSEEQZaEusbHFEUC0debIe0yeAJ0clR6cG7hB8w7BB3sDTdvEfg8L -A4hGBBIRAgAGBQI9oYxwAAoJEI47c57dK8ydSWsAn3Qy50QcLfDICTvG+nGTlVbU -6+FiAKC/5JAKdzsbffUw8CwD02jumwXoTYkBQAQTAQIAKgUCPo2zbyMaaHR0cDov -L3d3dy5yYXRoLm9yZy9ncGdwb2xpY3kuaHRtbAAKCRC23LAszRpSuWEsB/97awvu -rPD7UMQx19AsRWXZWZ3NIjr+s5OkhCS7yazcAjQqH7Tl/5wXBeo8SIeD2IUUGCoj -5CcWmFPJhoaXyWho7+xJHGlnqgWUr24FS+WQSd0diN7hDyPgTLjwkJXj7ey4FBfa -ExOvwhHMmc04VBH8N54xznQDk7F/W+RDQSHvNufNsSBZBAo6uFD1xG0SMnLf1A4+ -H7Z/BS0KSMGdqiBHGfpTxXVjDbREN8Gxqx3/bD8hoHmZYY4SvJNO6GgzdoLLxa1l -bNJjCyvIK4qMEUtdPbdUM3GiJx8nF+VsLHdGp57lCywWd/moONbkrBKS0zpxRK4v -/k2qDeH70pSm2vL1iEYEExECAAYFAj6RgcwACgkQCF8pGcJq9OsVoQCfRw5nLhcw -dDSH0WAMuqfSqwuWUjYAn2jm7ayWUjwsAjkTTSUzXsrgv0lpiGoEExECACoFAj6N -spsjGmh0dHA6Ly93d3cucmF0aC5vcmcvZ3BncG9saWN5Lmh0bWwACgkQqa23+K5O -QlzBLwCePpLmUcM+pMoJY6cTW2DZBknzK2EAn2q9NY/w+NF8pMT3EsNGhHCx/LZS -iEYEExECAAYFAj8P72cACgkQ01u8mbx9AgpKPQCgnKm/8rG+TISFryKJSXFtq5A9 -U/4AoI+ao5AUmUgTCF5psohHVmRTvUuFiEYEEBECAAYFAj8QVjQACgkQ1vr63ZUv -P/8BIwCdGM0X8frOjVker85BKhnRyxMTbekAoMIRrR+p5sOKqfm70Ot5dAjwnQ4t -iQEcBBMBAQAGBQI/EQZ9AAoJEEAGFQ5ACertw9YH+QEOp4w9bnew5MHd+xyP+kYB -+4zhv/JLDa4b321ymKwaaMAUi6+/51+q9hNyKGGltfRMVI2YsTkBZK521pUe3XhA -k98xQeuSsCuVOzkof/ZkIBWUpD5ePDZ4ROILvUECEnupfHGYgJet4hjsSnpabBhS -zVsHTvT7wPYBWsoU6aXQdHAWHj1ff6ZmKdiHVMXJc7q7EgdkXlz1cytPe1Kr6HOM -vtXIu1SndaJ6RHTkFHikrzc7h+GZD3UrBE2WwXadi4j8oU4jNOPmNcgfyFTvCTga -2tziRHDwbyWjWfkSF/K0hXFZtUAA6yB4PkHam60O4HtuuvoHXX4QaqCRVRasc56I -RgQTEQIABgUCPxArzAAKCRCzNNMIli/S3oXcAJ9ksHHvb+jOBvQHWbkQqKK2RNz2 -CQCgp6vhG1eeIQjGKs8mfGtIIFnjzZGIRgQTEQIABgUCPxET8AAKCRDhhSLXfHEr -y6A7AJ43Lzy8p+Fjo85jGPAxKBOZxCOGdQCfWbE+kN98BXU20Kw/PTxwUUZI4bKJ -ARwEEAECAAYFAj8RSk0ACgkQCen5CopyTkUSQAgAh6+H16NVts1N7dXWNfUeXVka -SZ1YH+Ou1N/3VLooX6r/dnRfrFf299KGNE9gdYU4ZZbzlssVkWOjbpq9ZnT0EP0T -zODxqYk6xwLNbESTmfV+acJwyadAlTeOkcavfmPFhFjMFdh8hvAztXSSzuH0kVPp -2q4LlQcE3VAWQehH1dc0KAL38e2oJXT3Acze9coHxP5F+9qqY5+RBH2K9/Qg6RHE -ZbSbWqyk1Kp/PBRrv7reGCrKu/cknaIaMrd14gDVDaDYZpabZ1olVjLD7Xq9u2zd -IrNbDUBHuc0u+6lJDnGMxl9cKZpcXtwZW7q2m/AJZZ64JNdOzAOwoIG/Zs2mvYhG -BBARAgAGBQI/EqKHAAoJENQ8swWV/so0iN8An1kR7GXBiuo/nG6a6g80Uj8sw7Fv -AJwMPsjtifxWHhD7+oePOLFBcUKjFohGBBARAgAGBQI/ETgsAAoJEPVrJqOmOZ5z -H4sAoJdwPuP9Ras8FbVz9vxo1phsylRQAJ4+z5P2k4okmmvOoETzxYw2rnKDCIhF -BBMRAgAGBQI/EGY+AAoJEHgz7PG1REgVo7QAn0PO7mLyLm7dWrl+kFiMAKH22WQ+ -AJdBEPNiQXGzPeX+pb1DfOJxIrNBiEYEExECAAYFAj8RP+AACgkQ6iGZQSR3yvg8 -GACfU7XVDJLfngnMfPnajA88btxP5T0An2GLPaRZu7NsbuSYHj8J54VGP2IJiEYE -ExECAAYFAj8RXPoACgkQGf7YPOK+o0EK0gCfSFI/qReuVBWFKj/H466DMjaA7MMA -n0lyeEvft6EXZ4ePTkoxHsjro1L6iEYEExECAAYFAj8RpBYACgkQxcDFxyGNGNet -eACfUGJ1KOWCkkcVQ/axNLnpLOZT1+0An0NSiXPDAy2RiOa0ftCbv7N9dAsiiEYE -ExECAAYFAj8RwdMACgkQvpyGjQRgTrgitgCeJF0AAIagPvhV3irwWnVxqOfvf1IA -njfjpvbkXgf6Lt8/pYJComNLsqeHiEYEExECAAYFAj8ShtkACgkQoJD705cZn8PC -2wCdHRClEdK3fO2qBeWErf+3VABkRWQAnAm0jEAHmYKm0C4ZtqrhwpLgKLJviEYE -ExECAAYFAj8SkwcACgkQVm02LO4Jd+iJzwCeMmT+RD2ly1uSt/TlbWj2I6uyIbMA -nAyb4NNPW+1HAhGRCrnsILVds6J2iEYEExECAAYFAj8Sl20ACgkQj7mZcU7rMfHV -DQCePuYB3ixGRuyeVtRrdIwxNsERyiMAoNeZ2lMAeoX1vDmXAdxq6Q6g/OgEiJwE -EwECAAYFAj8TMjAACgkQtGuSO22KvnHhiwP+N1Jh8cmDM4NVOMnh+twEdc0quSJc -ZprPBQzZuGz3uQUKXI+xWEBkE92elHgfVo8CaSqh0N+SB40e7CyoQ5cHhdPPAmKJ -ZGiLhtliCmQI8W7xKJz3ysFPBJoVFEKaamOvsAUezTbnAcA92vkN33VW2Okw1+fx -QsYuQ7C5hdEN2++IRgQQEQIABgUCPxNg4gAKCRCt7CzRGpU357YCAJ443K7yqC3V -9MYierjg+bMQIIUFVgCdEXchjN7AuuaAwiUP86POJ7Mf9p+IRgQTEQIABgUCPxGl -CgAKCRAoxvVrgXw1aC2RAJ9Wi969B0HxCRBmmJmKY/G35+hg6QCgp4WXj0dK0QQ/ -ttQ9VqMzLbiHsjuIRgQTEQIABgUCPxPyOgAKCRC5gsvVwOMfHa6TAJ9GOyWePty4 -D0HO/i5dInksffJWkQCdEbYRoo9jgPM98b2Arb18rHRsOSCIRgQTEQIABgUCPxP5 -DQAKCRC7xxTRnGfNluB8AJ91IPyLFvn1mfvuhEksgmAvopXEkQCdHEPhku6Nleua -JEirIr0yE4DeBwyIRgQTEQIABgUCPxQabgAKCRCAdScAZahB7Q6SAJ9IF1epz2ii -OCRtFDzB++fZJnA6fACgypQnQZn5yk0FObR0umx0c0mMJdCIRgQTEQIABgUCPxQk -egAKCRBRrPatdb6Al4izAKCRvQHWhW5rsyVLurGSt42n9yqrKwCgwkaaASoIrT4N -3Rduq3Jtsyp+D4mIRgQTEQIABgUCPxQqPgAKCRBsdheMoO2YLaoUAKDu17oP9Pi/ -VkH90yIR1l4dQ7GNhgCdFjt4MegFyREUjkerk6DpcYGWwmiIRgQSEQIABgUCPxQt -mgAKCRA19mF8UTrv2fN0AJ95j2z4vBYZB+plZr9P6TjKRb23YgCeLUunT7ARJ8kk -HxJmb2rBwIr5cNiIRgQSEQIABgUCPxURpQAKCRDVTq5LyZhwsaZSAJ46vwwEDZSI -n7DMCzb43Aw6mO9i7gCgriGzSI3wbk4Fl03XhL6Yx7q6GWWIRgQSEQIABgUCPxUs -7QAKCRCJzUshYHVZ5t0aAKCF9Kmbta/PbwadSy6Y2ZtiwO2xYACeJqljQ1knbV4r -/GCyJmDn3pLV7/6IRgQTEQIABgUCPxZujAAKCRCELNt6RHeeGDlsAJwMigxlui5G -XM65FVSclFapDQs1qwCggo5t0MrmM/D6bwKgIoG+5ZH1wO6IRgQSEQIABgUCPxV1 -LwAKCRB8IsOfgHrFOjObAJwK1SDOv5xMjksadx2cfoVRUHIycACbB3EDJA5Rqjm2 -zGtoOWvlKONPDCqIRgQSEQIABgUCPxUSZAAKCRC/QVlbc3KipaemAJ9ui7yZa1r1 -0VaSwYM4ACzek5JBAQCbBPmKwLUBrmtc67jmwd9OKODgjcmIRgQTEQIABgUCPxRl -1AAKCRCUj9ag4Q9QLtrCAKDyDMh57YE3BSrDWLCIfH8Llae8OACgz+X7LZ6CADiU -UAQMvsN0PYaMI1+IRgQTEQIABgUCPxRl4gAKCRC0deIHurWCKS1CAJ4h9C4Girnr -Qf0Jt+LWaSRB6vMHbACg1Mt3M/XOvjQ3ByRNlaz5cMF1yzqIRgQTEQIABgUCPxVt -RQAKCRC7VaR/yQHDPgwwAKDDo5Oczmfsy/K+rNhp0EdN8tTpYQCgyJyfezJ3lACl -gkZe3KJSjcWvsI6IRgQTEQIABgUCPxZZiQAKCRDnyduv41bvwB61AJ9WP2XS6gBZ -e8fgWb0oSNupfrL1TwCgvDsfeZ8+228+PuOBa9EmPqn4Z8yIRgQSEQIABgUCPxcI -VgAKCRB3+BUzuw7ox3SyAJ9lEoZio+Jqvu7yDsMy0v2W9H8BrwCaAu226tR8QQgp -efrzX7CFlqUp2oCIRgQTEQIABgUCPxZaFQAKCRD0tLDMeX6/q79tAJ95QA3Y7Vha -p/yq3/sU6rGdWv1gHACdGOlr2jlePeNjyM8XP7m/aTyTA3aIRgQQEQIABgUCPxe0 -rgAKCRBGzFxj8xilarPqAJ9CVDPJRDwCTEzyxU/aXPUcD2IIQgCfUwWviRTpr4Sl -hYQSLPInA8XRL3mIRgQTEQIABgUCPxfUbwAKCRBTtrgdwTzuBxZAAKChuDlCWIgR -y0RLB43upNulVEMhPgCgy3nvJsoNNdGtApgalnD3PCtADC6JAQEEExECAMEFAj8W -hgyGFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3 -dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9zaWduaW5ncy9ub3Rlcy5FQTcx -QjI5NjQ1OTc0RDhCMzQzRTgyMUU5NjI0ODNFMTU2NjJDNzM0LmFzYyIzGmh0dHA6 -Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJ -EKseS2BGdWsetVoAoKC8/BexDahmSBm6ByFHjdnUNnqjAKCnraKOQoRD9mHRkhYL -hs6Kb6B/e4kB1wQTAQIAwQUCPxaF+YYUgAAAAAAaAGNzaWduYXR1cmUtbm90ZXNA -cGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3QvcGdw -L3NpZ25pbmdzL25vdGVzLkVBNzFCMjk2NDU5NzREOEIzNDNFODIxRTk2MjQ4M0Ux -NTY2MkM3MzQuYXNjIjMaaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0 -L3BncC9wb2xpY3kvdjEuMS8ACgkQGaJoCYg4/ZQoyQgAp7zbUXdSJjC99c1U2Tf8 -fsZqyxty2Vq4MERWsogmj4WMJY7s1nNOl2ytrovMZ8lGVFHwMuFM/GqhxkcyaG60 -4TTsBZIsF+PFwYfzdN2wiW2/nfE7EoPxYUcCXTSatz5b0kGYrQotFjxbL71xaEDb -fCzvvrtZcXNlM4BFYOo+Ad6YokzaRhE18eWnYCeqloJrkXnZuUj6g2CkdaKz8rO6 -QpdbSXHiOHNxM0DwuGE1KEVH6TlixkelWD7eWK/A7ozetrLgvfYR9xgwk5qfOi1Z -zBurcWYqtXbsthXlv7kxDZYJK8w3h3hlvPGzjzplQP5kisaKmRQnmZT2hKo0sgyW -3IhGBBMRAgAGBQI/F/CpAAoJEJEfSuaGoRjmasQAoKwxDSMg6qRd/67aBEtukTSq -cMhGAKDsScrYaTKk2OPEx2nLKt856m7mb4icBBABAgAGBQI/FpAzAAoJEO9tgkHw -gRld9YkEAL7rFxi/i3d0HRdrISimFvZdcQ+M17mzd82z+9L9qTxBDFJgrHjNrHD9 -zb4x5CehUwwEklQKGM9bRYgNfKZ3FfJs0DQ6TC8VN82cECVFfHSdKxtnR0Wu5wK+ -1Ru+517coWCmbMbWZ0xgtdZ7DXxOcS3DqgZ6Q1bKxgxR5LGTb1nniEYEEBECAAYF -Aj8THygACgkQ0Bn175Anq4i/zgCeP7srpshWEkWMk+2g9SiFjTSCWYoAn0DVZWaB -t4235TT2bJM40pbuxvJYiEYEEhECAAYFAj8Ye1oACgkQMwsDi2xjdG2clgCg8n0h -KYgMIZF8K8N5xWXyMIGh71gAn0tPowccJ9wAe1JXX3slFWAVtVNTiEYEEhECAAYF -Aj8YfiUACgkQsandgtyBSwkAfACfV/oO66wsFR0TDcsn09l4vPQn4gQAn2yuFdZj -mb9CEGXQ7OwCz9nkJArSiEYEExECAAYFAj8X8GEACgkQVkEm8inxm9EzGwCfQpN/ -NEb25HY89WP32R57XbamlycAnjgGgMgU2/Wf0E3a+KRgWGqGs0STiEYEExECAAYF -Aj8YShYACgkQGnR+RTDgudgElwCgvX2J3MJJHDzGQVnpX/j/vinbmKgAoIJDdRhp -TimIOc3ohPI/hVn/wOTtiEYEEBECAAYFAj8YdP0ACgkQ9ijrk0dDIGw4qgCeOg2P -pIXS1yy1NBGb1e+GNMfZIisAoNPZ0dwv0YkdwisRjHf6ipIQwyHJiEYEEhECAAYF -Aj8ZK6AACgkQZd80wCtfheOo0QCggPdjSLfBSv2mCSUZZ4yggajC0NUAoJe31w53 -S53tMoOueJgPaH1n+EociEYEExECAAYFAj8ZlPQACgkQIexP3IStZ2zBqgCcCUIn -qpy76RpB0CuQXtxe6LSV804An1cbSQKE9c13GiYUaWG1v0LoOnHwiEYEExECAAYF -Aj8aZToACgkQzop515gBbccP9gCbBKji8iWm2/qOW6MGBRHWABi/sc0An3h3PFt7 -h9qTNd9cF8bUBYoGIiFYiEYEEhECAAYFAj8bkb0ACgkQ7A6vcTZ3gCU/RwCfQAy4 -8uTR25zCbmIBAK0JW55KNlUAn3ausauxgUdAfm6aohyxxrvD4JRliEYEEhECAAYF -Aj8cKXEACgkQdNeA1787sd2ydwCgg8n8+hiDc4ACUTtW5ft8h0b3L+sAoJ3iaChz -MUMxi1lpDxt8qLwmv7SwiEYEEBECAAYFAj8VydcACgkQKiV7d8Y3KNJj1wCfcYaG -rDGwI+OUsEKF5kp/ibBmcJkAn3d/RszoziOGNaXR5ytxAMOuH4IpiEYEExECAAYF -Aj8QIlIACgkQAtbtIeMsT0uIogCfT1x0S7HhrI22Jh2lykvyjdD+eDYAni0cZKJq -nzFV33YW5shk6ni4RE4XiEYEEhECAAYFAj8ce70ACgkQC9tTsaLPijgiagCgibSt -kJ6yGyXjT6k8MzrrSRjwr4EAmwZsvXWQz1xrlJThOSQOJo+giABRiEYEEhECAAYF -Aj8c2hQACgkQyA90Wa3Cns05pgCfZQvXVii4ojLdEpCqPiGyPW0Nd4kAn10t1M/D -cu+sXnSafvRV6BZhxcNyiEYEExECAAYFAj8VuYEACgkQS+8mJCLfQIevFQCeMqPN -WbuTkCW2+OVb7g4Yn8sJ2b0An0atcvtqd6YjmKxIe3hL/3CD4FRbiEYEExECAAYF -Aj8VuYkACgkQlWQfayU+WOOj8ACgsF3i6btoulVD/odjXoAKsw9+ybAAnjLpzn+L -OKcgingkLfL4pQfDpZ2xiEYEExECAAYFAj8dgKEACgkQO7/Pd72LBQ3o0QCgjTPf -auFWp+HBXlWMlFTaUDmPKMsAn2tMjHeRGzY5rcMI8pEcpMkzDm+YiEYEEhECAAYF -Aj8eOrEACgkQzAGaxP8W1ujPCQCgi/ph5B+f43O3tMa+Vl2kSm/iwn0AoPBwaa4Z -MUZNuV9zoGXTUWx+8tu7iEYEEhECAAYFAj8emTMACgkQNFDtUT/MKpDN9ACcDBVK -HUdglwfB6r2rw/qo56x3u3UAn26NqtkbvIL1LjxmfuoUueIPsK0IiEYEExECAAYF -Aj8e07AACgkQKO6zWj6NzMBOogCcCfGFTxfDqxI+KRIoZ8rF71e2RosAnjYgt5y6 -wU6gTMMin5Yjm9hzh62diEYEEhECAAYFAj8e2VIACgkQkryUdmOUJl5QzACaA3q2 -IMEuTN0CNnEy7DdElR1LCYIAoItw8HTShrWVG9yvnvFxMChDPMIRiEYEEBECAAYF -Aj8fAcEACgkQKN2w/RnJtrpX5QCgzNwWHKaG9Ag3tA+Ac0KtQ31SiY8AnR/S5tYf -Bde3E8kikmYvh291nKsTiEYEEhECAAYFAj8e79QACgkQGpBPiZwE9FZi/QCeMqew -RvkzepVGeLQ3bN3I7pDDGBYAn2CFPcdZ71Hht0rac52TS3ukCv2LiEYEEhECAAYF -Aj8gJ8kACgkQA+GMa4PlEQ/XWgCgg38xjA5L0D5WkZGKYVHYwjpbXt4AoIGFFJcw -FNXNxap3dY8rH14ntilJiEYEEhECAAYFAj8hEqQACgkQpFNRmenyx0fhvgCgxOQK -p6pPVcqmPN/mTRfGpWGSYHkAnR96kY7ho5LFcaajuqCTiSnQ1IkjiEYEExECAAYF -Aj8hczsACgkQlJsl7AdEclJ2IACfWZTVuF6l9mLigt2qXNcuPbmGxVAAoK0RoV41 -Dkt9R2lIm6iqxrNRW0ESiEYEEhECAAYFAj8i7MEACgkQ+o43kJBROPQy6gCg+oEv -MFJdqjRNGMfLj1EZCOPUInAAoNYkQNGvIW+hanA09lIxWK2bQExJiEYEEhECAAYF -Aj8mwdMACgkQ9D5yZjzIjAmmpwCgp8sJU93M7CM7vsGpReoEAVmAJ9QAnjgfhStP -wYEtrnWlDeWY6hA1kP+LiEYEEhECAAYFAj8jnYsACgkQGKDMjVcGpLQjNQCfQ1Vi -vqwk+GGNSEaTkNZC8dUJn5UAoIojBb/gmfx/SGhg+ILsOm37Zm/ziEYEEhECAAYF -Aj8jw/0ACgkQlE/Gp2pqC7ysoQCgjyv6JilmZ2fkk2mGktlZAMCGPcQAnjkvcY2J -+e5S0pnWgTXPmY9G7dlsiEYEExECAAYFAj8b6w8ACgkQ2A7zWou1J69fwQCffecR -nl2OKb0xyan4c34SAiXW7tkAnjjlXUeZ1phjKkwCOxSGpzVL2dg2iEYEExECAAYF -Aj8nsWsACgkQ5ihPJ4ZiSrvw6wCfSqPnCQUf0RCBxTHwNeXoHZLNsgoAn0mmdV02 -e4GTUkP6hcahi8uktaz4iEYEEBECAAYFAj8n2R0ACgkQbyOLwk/aWgz6EACeP7lN -/AdK/F47D/RLEj0iFa3hoUcAnitXQcHBCa2V7nsdLGgBu+0RFrTFiEYEEhECAAYF -Aj8n3nwACgkQn88szT8+ZCYVUQCeI/GFVLQVfpjbILxq3QzePIvUd54An3yCiNfm -ou1ZfGQXR9ut54CFWGZniEYEExECAAYFAj8oGAIACgkQBDI26xBzGXcQUwCeIPT4 -RnjFVbpIu9/yB90/4XxGSJ8An1Q12NxzY3nguYjjeFZwPSfhV9zliI0EExECAE0F -Aj8o7UxGGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlz -aWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRCkec3EWrRgatzEAJ9NnEz0 -qdxIzRMKnwzIl5bT7iO/RgCgjxUaa4hVcZzWdpiAONJGlAbQALKJAWMEEwECAE0F -Aj8o7VZGGmh0dHA6Ly93d3cudHJhc2gubmV0L350aG9tYXNiL2NyeXB0by9rZXlz -aWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4dAAKCRD5fPnjOkt/XQzwB/wOFo/i -eiHUOP0ZyKPlt7VBeaXIAGH0xpxZi+XJ0D5PwZmHylTIdlzJ2tlulJfU3pX1dOWm -uIa1YZsuP+ai+u9dk1QkGgSe5XAYXxqzvmbec8Rxdg0gDEdp3okAhPp9NyKtkxI+ -HNi4EgqDPIqZ1GVhk6k2Z6dfDe+QesI4FA0XIq2d1NFbCPiVenBeE0O6uQxsIvnS -HRm2PFOn1rWSgkznx25Ue9QLJP2utuxSd5cSJTL3x4E5eYDY2nXsorBOi7+SAiIo -Gdoj2V4y/5kOoyqnIotEeq4IGLuIedOCrv2Vvpn5Km+VXmyJRugOygMfafuLpPan -DBbDLjWk5ySNUaYEiI0EExECAE0FAj8o7WBGGmh0dHA6Ly93d3cudHJhc2gubmV0 -L350aG9tYXNiL2NyeXB0by9rZXlzaWduaW5nL2tleXNpZ25pbmcudmVyMS4wLnR4 -dAAKCRB5BXaPdYT12B57AJ4wf88gfe8CueO6NtFQUpTHk+KLogCdFSUq/if6DUuL -nhjPKWeIy2d9WDCIRgQTEQIABgUCPyjtcAAKCRD50BTwOMmFjc/FAKCqWAtYGj/9 -8ORw1XFC9PR9am1ZbgCggGer0qz4QK2mpM9QFtR6hGkO0syIRgQTEQIABgUCPyjt -egAKCRBdD39J4OSfNETsAJ9aKCcUnCB7Vn6UHDRBruteeqRsGACeOJFIbOdqiVsb -O+wpOhwfVm3Uz+iInAQTAQIABgUCPyjthQAKCRAbsIu/KpIyJaiRBACyR0lc2oYJ -ndWEYeidHmAiR/hZ2DgMctiCcevdbfDGf+5D3FohELCZKq5UQGnW3U6eRJhMuYPc -f4z7mp1It+yEakFZGPS84J4Ftik74iE7rIXdj2BHOJFsMjgKmHQTMXkZqA//MIR3 -3ou633yhNtX0r5omEDasRVSEWO/3Zv5L84hGBBMRAgAGBQI/LVbLAAoJECyYPlrS -ilXWgacAoOtGe4cNkD8e0bNHVgJFwA39oMVyAJ4vidWutzzIpBSQzgpb19NpRZ1a -5IhGBBIRAgAGBQI/LngDAAoJEBIJY50RSqhcZIQAn3DHTp0TtM6/Zoy+HK200i// -AlJ5AJ0dCWgEobiC4oGybShrlOLlQw/6+YhGBBMRAgAGBQI/LY41AAoJEE70qYTy -yrnIcFAAn19Xn3naRkcMPidY59zV16MCX7sFAJ9rWy0RQjrx33uXDhOr51NKuHYy -WIhGBBMRAgAGBQI/M1b0AAoJEMoOFpwo+jiKp84AnjKg4ZxXKLa4krNAd5/2dEQ2 -iQxLAJ0a12Erds94F2GIFAqf/FSngVVl1IhGBBIRAgAGBQI/Hy/gAAoJENraec14 -ij9M7gcAn3/uItnWtZlo7d+OTYKk1ezOzEjcAJ4tbS5/8s2m9lL8CPMu2dJTW08o -24hGBBMRAgAGBQI/OSZuAAoJEEXAIUdpq91URiYAn0jGPBL9p3VR4l+P9kvadlU7 -UlqBAJ9QHKGG5rIfjeVpTbgdDsY8SCmxg4iOBBMRAgBOBQI/HwdxRxpodHRwOi8v -d3d3Lm1hdGhlbWF0aWsudW5pLWJpZWxlZmVsZC5kZS9+bW11dHovc2lnbi1wb2xp -Y3ktMjAwMy0wNy5odG1sAAoJEN6Fg/i9v+g4gwcAn1+sU+MuW30qSaH8ll2xLtbt -5eXdAKDOe0mpJVSxpOKrpg0KYA/6irm4o4hGBBARAgAGBQI/NYt8AAoJEGnSph3i -Y/zUvnUAnj59pDFGso7TdXsHVa4Z/q2X5n6BAJ0ZdltmQ2ZJ75nLbcwkpac3bGgI -wIhGBBMRAgAGBQI/ZGvxAAoJEGZmcXrbg1Z5+04An1D/h1hoi4RqkBtQw1/DNHzU -gAH9AKCcD+lqxzDCPqX43rX+9UCCJ8oPAYhGBBMRAgAGBQI/ZGwHAAoJEA2WS2ZX -Dm3qiIUAn3ypBZwkgxMIhE0klSRmAw9wJC+iAJ9ls0lNN9NJr84AzQ15HdtkXT4W -RohGBBMRAgAGBQI/Y6iKAAoJEFTCT7U7C7mpvXsAniCYCn5ZjWf/c74wKl6VFZIV -pWNxAJ9t0LFwcwSLiab/u/Uh+olhvaMxRYhGBBMRAgAGBQI/ZG09AAoJEE4CrK4d -1rOA7AYAoIiHcDElbjwvQYFFd9R0kOOiOfn+AJ48x7C+1Ga2DwEr9gkKIYGekQXR -L4hGBBIRAgAGBQI/3FhRAAoJEMUUr45LpAHDSrcAn0nLPfcadJybKcREJ08wx2+V -9wusAJ4xj1je9ia5121k5VKu0eEryfzclYhGBBARAgAGBQI/6RuLAAoJEGSnwKfy -zwGoWJQAn27is4CCDjyDwHxvmtLrpENuDZ7OAJ46Uzd7Hf1PBdRnBxU5bPrSuGK2 -/4hGBBARAgAGBQI/zDQjAAoJEKC+nbo7iG59GwgAnj/r1qwD6xwrm7Kw6SZi6Yc/ -mHiaAJwOpMOcian+Pp12EpfRvB8Xle/s5YhGBBMRAgAGBQJAdyn5AAoJEKQ+bScS -gofom88An0uMhlRXemnGHyQ/KRJUq5+MgidOAKCNgcFaoiWTeSJT+24Rb3DEs8+y -RIhGBBMRAgAGBQJAd7WQAAoJEIZ7+an70+uOHiEAniAEVpEe0EMBhh0KIMHQn7lP -YZMNAJ9v6NuYX8B4FraeFJvwWN3Rl5a4TYhGBBMRAgAGBQJAeLzjAAoJEMzf5JsK -Cskn3XkAnji5RM4QOb8xqOpJJjMPgIO+g6qDAJsFmagMPCtbkiKSc4dI+2l6TNv/ -G4icBBMBAgAGBQJAeMJmAAoJEKv/B7RG8yEtQPEEAJd3FInVbro9mXT3lBIpBjvv -/e6LMishN4yrjVSF82WFNTPkXYpbloqZoYdtYAdqwi8AmEKZsfQ7SI3eJAVci+Hm -7xnxPZO4oFx281jUTBZlY61j8xfJZe2eBHfPmhRqBErYk+wADOjFvbhypwv/9OQ0 -NDJuPdhu/dRBZZpCpv2JiEYEExECAAYFAkB58KwACgkQfDt5cIjHwfcAKQCdEXk9 -78h7XbMFngwWDXT5jtNbSo8AmwRHSKe0f7F9Gk4o2K4rmojcLbnGiEYEEhECAAYF -AkCWzkAACgkQK8hAFiBoeJUqkACgl0cnrdeK0LhkpZRyEODRGt0HBVsAn0+wig88 -WxVF7T64mWTvc5PfUEaNiQIcBBMBAgAGBQJAl9HQAAoJELVnlGdHP376TrMP/j0h -pFwA5yzR8l4Z/YrOwKNsmLtOhdO/CLKVZAka2y1zPv8ppCriFtfbDuLf3swnYurB -OzIsQroxt/NZA10xFmy+xOdLaL2PGWaTc0/HvD9dR7XSLhgTk00I1D1NmSep8dYP -/8Nzn5kywNlUGWPICcYQPbjQBb/+apeiLfNXfz9s7WbRg3rOCerNBVKnGL3CAN34 -rX4p27gjFtgNyAqSInzbiEoWWpj/UyIaCbMKTqo3sxSA8LaW1jsyIooPMCQTLMKH -yCQ5NruqK9GH28gfOOPUijgq0cDdRw37i9bv6+W0yfvR7SzjiKJOUO5GH6T+0Vqf -JtHDLcDcaUzOT8K5149WdTbkDGQcF5y2cRF01CYPFHJccVMyYA1apNgZLcmz5Rtg -bNgRYAiqUxzHFxQFb9by9d/M/U4sYvBIbevBOAAI2zt9Kg9PTPLQb/s6k9krKiC7 -J8nSzlLc86iO/bLdOBiNUu7mwC5sdbKPADSchv6/Zt485QLfL6/QIIQDwrv415R2 -YS7IezeIBqNfiH8gs6zkDeqaSIERlmlrsB3FYFG1N8qu8paJovSc+WewuWN9M9y3 -V4ZS6z1h1vYsunR1a7OVPtUOkqiSve7o7somGwOuB+IcG6ScPd+eFzjQgGFrRiJp -63Qoi7HNNS+FCCdyWGU/eKdoY4FMYjopjiYHBGJniEYEExECAAYFAkCctagACgkQ -Qxo87aLX0pK/mwCfTf2o34qJXBM+YXZhOs9yVXpC50YAoI5kabsup2eU1mBy7us0 -lFxrfhxHiEYEExECAAYFAkDezh4ACgkQs3U+TVFLPnwI9ACdEo928dQvBLzl411B -/3lKjJKP+lAAn18n1wjH3iTljqT25Z9sWQeDATGOiEYEExECAAYFAkDmqBUACgkQ -cV7WoH57isluQACfVLd583iOT+OpEzqaIWfN+ipZRewAnRGIOTfv9MRZD8ZSJuQd -DrIBAHKpiEYEExECAAYFAkEECGsACgkQ20zMSyow1ynt5wCeI0vp7KSYO0eLAGso -5F3pwHvgoc8Anie4Winj6dvKHuF8PtWZwSreSeYsiEYEExECAAYFAkGNFU8ACgkQ -+C5cwEsrK56CgACfaRD1Y8xF4XMe/jDZwKPeK9PfYmUAoMZ1tFUtrhTrieNJ1eF7 -dpdJZw7iiEYEEBECAAYFAkJyIrAACgkQ0/mV1Xdq/hJ5nwCgtxa311qwL0m2olq2 -TmSWc2ezDgcAni38NAgrHcDxh6DK6Z3Xl97Rcu1iiEYEEBECAAYFAkO5ff8ACgkQ -ch6xsM7kSXgWZACbBg1x9hPoW/GAzEjfM2RGW9sA5/UAoNsVZaTnFpwfIVvSVIRo -Pr6snqd+iEYEEBECAAYFAkQarOoACgkQQVLh8cZxhv8lngCfZhCCHrxpekkiOrvE -bde/+/2ZdlMAoKXsVi5dC0lZI6owWPK8aGUx1AD8iEYEEBECAAYFAkQarP4ACgkQ -qgzR7tCLR/4rQwCfR3YheOkrKO96h7w5UAtbLl3DPw4AoILhj23EPLWtD435gRqU -v6/LDFNBiEYEEhECAAYFAkJyDd4ACgkQ8+hUANcKr/nfEwCfQLF/kWIqxd1nnY6c -Is6PmIPJzIwAn00QsIjpIE4TPLn28/xzt2CmZb9xiEYEExECAAYFAkB3sxYACgkQ -bL+LLlZbOPlfvwCeJZgYtJe5F6lm6DhEff3x9hyZ3lMAn0EDRPZUKlUAjxGoJwhX -lj6VtJDxiEYEExECAAYFAkHR6JcACgkQ4NDRMRFxsE/LDgCfUC09l005ohD0dQFB -8EyWImWea7cAoKAD+Ev47KosjrODBekcTcT5wxjqiEYEExECAAYFAkI4EWgACgkQ -r3O2CKlAUK+MjwCgh2qJokfyjptF/V4+JsG99Yy+PUQAnRJQK3yrzugfybYwQ8cm -v3KQrbXBiEYEExECAAYFAkJyOdoACgkQpQbm1N1NUIjkygCcDTM7VnDqO00J0HHc -9IxMbnupH+oAoPHXDLfvpI689q3uDj84z6/3q7EFiEYEExECAAYFAkJyxrcACgkQ -3cp5nGFDTdZJKgCfaEkpttj9rbw7n9XZYb+ntvwaZyUAoJe69mqDdJI+R2sv12Ho -NQcuqmVeiEYEExECAAYFAkJy+RkACgkQd/4g/qpqtcvoPACgonV7MjBnRUKY9+H1 -9uA1fu/dNSEAoI2B2AWN8OpgpXpxhVYQk85CQ/1riEYEExECAAYFAkJzGKAACgkQ -n/JYPmgbZGm6/gCdHuBxj3DNZlbz1ScOvdbzCDIy+wMAn3bH4b9hUJ2yLTsIHFOu -RfqMN8BDiEYEExECAAYFAkJ1pigACgkQu8b/uaAhL+RNdwCgqCn0r8wIdyYxnnKA -H9eNmQQvYgoAmQHjHDaRmyg6zJOxxmy9mPI6KMHZiEYEExECAAYFAkJ1zNQACgkQ -vjztR8bOoMl61ACgr6C+EJa0KC7rnMTWud31d+uWqgMAoKxb6pZkKgoWIIwKJWsm -jd7cSxmyiEYEExECAAYFAkJ2SJsACgkQRsWY28vsX4CMpACgoqN7lvoJQOsLv/BL -kB35o9AwzH4AnjFKG+SSuj8c593EXnxLlNoUoOF+iEYEExECAAYFAkJ2S6UACgkQ -/qs2NkWy11t5GgCgopOFVZpwxRszdALafu89Cb3QmYgAoLt04ryMpBzBlxP2cKkz -9B3Al1FbiEYEExECAAYFAkJ3KjEACgkQDecnbV4Fd/LaJgCgnqWYl8N5EBuv4Ht/ -wRlSU9VOGv4AoMhL+6TVsB4tQ7++2SITLUDXrqwAiEYEExECAAYFAkJ3R04ACgkQ -Dt3F8mpFyBZBCQCfVvYk24sjRPpMWQ8KVt6NqoPoiMgAoKJsCs9S2wBSurhuwOC/ -0cMExHh7iEYEExECAAYFAkJ3zRgACgkQSsOT+6LQaTbahACgl3nwP7ZEVZ8K4+P2 -coTJCzi6SNoAoMLfgKD7paNayne0SJV5OgRaiNxXiEYEExECAAYFAkJ42M4ACgkQ -cJo/YDt+FuGQyQCgxT+bknZT5AHSlb7h7GADAc4AQwUAn1D6n+86CTh88pBcR7UZ -0pu2f91riEYEExECAAYFAkJ5yU8ACgkQvNWtkHk/awJxtACfYKUARYRzaDjeQVLD -E4WRQlpuWHMAn39JY3jbMUf/PQmbZP2oIFvt6W4hiEYEExECAAYFAkJ6TcIACgkQ -H9eQw/Gi3tViWwCfW2RwrpQ7QoP0I1aEsp/obcr1i9gAn28YlDC1FYIxtmM3wkBX -gECOiWI6iEYEExECAAYFAkJ6Xv4ACgkQem/rb/9SwVCzhQCfYYoSqONNvsvy7Inf -u3cC+lnQPQIAniiWI4ervNXN3Xrat0cTfAIxMcJmiEYEExECAAYFAkJ61CIACgkQ -BlHlJnS3xyrP8gCeJarZ3KQgi3gI56LLdzdtqkh2ixMAoJ5vhkjJZWtTr5r/TTkT -Jbbh2CEaiEYEExECAAYFAkJ+zhEACgkQPGPKP6Cz6Ivb9ACdHgVMifwG7zhKmrF+ -GArIebXVufEAn0XU4YOn/NEa7TnRliSDHRFB99iZiEYEExECAAYFAkJ/FCoACgkQ -uJQObal7aaD7jwCfTmMM+/iJ2x2CBOzELf4Y0DdfJg0AoKlJAOBwhp9SfFUxgkFu -XK0e+dasiEYEExECAAYFAkKCWlAACgkQE91OGC5E08pXtgCfX/Pla3WvnD6aWX39 -x3J0tHWcv9gAnj+Nj7nGZS7Psgk6WO03JK9XjbeaiEYEExECAAYFAkKPMM0ACgkQ -9t0zAhD6TNEerwCcD93mgW2e5MjWiI+5UDF+E7LB4cUAn3o3jI1aAkeQ+OrZaa3s -JapAo9BCiEkEExECAAkFAkJy7k4CBwAACgkQuJQObal7aaAGtACfbCMlG7zmeYdi -6z/Us3teWfKRSp4AoIMfpcTWK7p56hr/bTt3mD/UgYX9iFkEExECABkECwoEAwMV -AwIDFgIBAheABQJCOATlAhkBAAoJEJYkg+FWYsc0wxoAnRX4Tvfb/1AfXEiGfuSC -Tc9kgOTIAJ0eGc7xURiG7bSSPZXuR++JTCqFvYkBIgQQAQIADAUCQcx2ugUDABJ1 -AAAKCRCXELibyletfKw7B/9sgtUiYSEd98fN3ifX6vZg3jrxO0Y5iT1mEr4LIv4C -KA3bSBfvUlzj2P2V/kLDzrpnZ63EJ7SdP6PHJVDxdCVgOJRRDCqLsXcq9Teyvvfm -H5lm+fkzmX0sXEOAj1RH4sDxefelgzNRoAFNPBShqPkk4C6p/bPlOwGT1IqlOZhX -akZxfuger75zU6DX26HdPuSl8rpWwRecJvLxQ1iui/0JkVh/0F0pPIHFNHpFZ+UO -BjQu8jdkCmTC20efPYbMNQmLZ2zTr6QkooEKVPdz7g3xegVAbRHUyDVqPIUAv3xK -z1xSkLXZLWAlAJHnlrjqpddPZPyNehoJv881iy27Zb1aiQEiBBABAgAMBQJB3Zr+ -BQMAEnUAAAoJEJcQuJvKV618mZQIAJ7t66UzRM8uS54TV0QS4Ag+FkhSSQJV+QVx -/SisyqrCXeIhL/eHL6BsPc1d5GjpABSRDc7iNtRGiaNN+PmCdZAvzkvUh+c//cu7 -85ek6DhxstWcLPvv/5e3696xdnBLUNnNZhm0j6RoXjWNC9B7wOQiEpPuHhKOHXYg -cLaci3+torT8OfMe+QIDpgpnvUQkFs0MaXswGKgrExGtnCtG8fWlHW9gqeKpoW8K -P1iPvsZJPvl8UbxjQeYhcamxftqsWX2F5P+T3NQPB69y7dKhaKql26cgoTefqPFP -QsXCUQHg/wG7Gv9sdoT9uq6+3wPRvhCJqTApzpEU6rpCfEpPuQCJASIEEAECAAwF -AkHuv/MFAwASdQAACgkQlxC4m8pXrXxx2wf/Qn7jxnarkNm8NfsY/NxNmY4u+c9I -dgG7OfWhG6MLZFFu8h1BGg1B4FpcTtraWAxDfUwQFoDbfK0g4VsJQ5bqvdk01tpT -xNfaqGXqz3fUE9JwCWiF0M/vHXybdMdnWx9X7tjaIN6Zme4av+O0gXY332mYXBkA -s4HZT38Z64h0JMoAzjmXNO8C2DU8cXc8qZLJY6QAt7wZ/a/RLafqDL90LyNXiP0D -iCOCuWGWQENbca83IBQ4znQ+H/g+V62Nc48oNPrpWvzCscwpyUKM28x72Ho1V6GB -yusKNLnOkMayTCi5jog1xnFHs8Dbyy9R2zogrOyKEVCP+gLURiQ3OvEXUYkBIgQQ -AQIADAUCQgCNAgUDABJ1AAAKCRCXELibyletfAjyB/wO0VmHYAL7x7PVzk+SKih5 -uZ54Wtwf4Encrbwq77ceJhRrc0kOKWuEw7RoMYGqb/n+t5lsxYNvcVXWLMOQIzM2 -zXMztVk+B53o0RXgheGy0tE5lZx6q7NJ8ZETzyXUJrWpNGCo5hqghJRuOyOjrQXn -BxjpdpTHtqaicy2g92V+jIJcuZ1nt7OllLpQ36H/Ok1mDjfoP2AOG8UsQUQBgBXG -6IEavxRtjSeuObZa93FAZ+Q+0Rt+qXjHDMRaDlX7rtaYu2TmcZx+lP83sUNh2pMB -RcObpWBtACeIEoNJoZn5kqsc9evmAuE594srZTtdWNZwb6/emt6w+n2qsGFsLudM -iQEiBBABAgAMBQJCElkvBQMAEnUAAAoJEJcQuJvKV618q64H/inZnSczLuPq2Ba9 -CEqi4N1K3pY/SV2rdjXLHYi93UDv/b+3H/OeIjW8zgT4tICNxiiYNnbajB1RYMCa -kXxDJBHzUBM3BT7U2E20CF+ejX9mCn6rZNwAhX/nl7DvZ6FYpurEhHLvv1kX4vzo -AUojqCRa55l266/sImM3BcGEC/f+WN1hQUY23V+TqLMUBOd+Wo3aRVp+rxFG2rhA -R4XhYrNm+B1mX7+1hxEcyynAmxWBowk+mVUp1NCBirRrVp0PxzKhbbC432LF+UFA -2NnINs7P1N8HR5C0BLRSywRan1ASQfkpM4ebkCe1rP3t/Wm9d6CgD7Xg0BRr4VbZ -1a6KwOWJASIEEAECAAwFAkIWqcwFAwASdQAACgkQlxC4m8pXrXz+6Qf/Y2Le3ECR -8/nHJllkx2qhnvh/MIIHOau/rAowgD6QXBC/vQRb9/SpZ3aE3ylKjGM3QXFnyZGF -DQhmKmoDXZ9NANUykLroTq/qjmTiiCJxokkj1qgRoyBoKIHbBa+OBMTD795TP5oz -QF1Hy7Rcel7Ctp6QSjZ23tXpMsRPrq4FNV1OzdsON2jL0ldubJO9Rd5cAvUEI7uo -WXgcLrhdf9nqkjjwYxfTi8wh8PCOp8pa2f8cO9/p3Hrgrk48xClepib6KWZl4hD+ -x/XVjLNyAfAVIZIsgbDQFx9N1V5AOz5tzNAbBVueQguz87OztLq2AVjXlbb5Ne+h -mTIHB5+PEti3mYkBIgQQAQIADAUCQimInAUDABJ1AAAKCRCXELibyletfMp5CACO -eIDWCeLMxbKigSKoHcbJZuZfPZy/7vZ1Hy4McXH257xFt9oWdiq8y7BBdLbDQlPW -nV+rkjPkBPgRhDG3IotIGFEUd82UyQhZPAtNIpgHQF3UkBS4WqZ3iOhb6Ip8LxTV -JfpGJnd+d/JTFvIDSqGNsxI4swDcQZlrlzNY+Rn3kfqnu38iD2FqUKWvyw3SW6gE -7OtMF9E1AXAOV28wN5CvRpktdq3asO8j3Tjb6EeBv1lwg1bUgAur4302bGv3hf9Z -tre69muhHqkx18lGmXGeI/sWbrRs00X2KzxQ2sWm9yTa5/68mPOlXAYC13pQhErD -UGAMRmnO6UUTVXDtI0zniQEiBBABAgAMBQJCPUkVBQMAEnUAAAoJEJcQuJvKV618 -Q8YH/2WuatYY2ccpCjE3o1VQ8GTJOQAyWxM2oZyaoxJQeIQP0SwRWQZGu96HmqlI -+/cy0gvASg536z+/vwYytZV+ZP1ftrd5DsA9GtQO7inMN4bQ5kMgURXWx6d5ZxPf -oH5z8z9bwsnTWaZKHXXbmDdMxkFHl2APBp9sF4u4dhcJLj/nJcTbRgXmP/7LCW2H -e29A2aksvsD0DVI3DzuVc7GcPPov1PRZyRq7HeA7fl6wo5mEAHuZNARz4iywDR4r -MKFru6hKB0j/u7NJicRUvimt9NpF2k/Tcl81v2ORkm4cxqR21CTJ0aOndyTe0s84 -yH41w2f1j+Vw0fpPri84Vqs9zSqJASIEEAECAAwFAkJPwBkFAwASdQAACgkQlxC4 -m8pXrXzu0wf9G/YsRPTr9W5VA5RjEBsbt14UfZYN28WLj0GxbJpONPSvB8ujzFe4 -UxS2SVAajMn6kzdff3rXPJZjo4Dl9VedV/iLBsAqBXkNZDmaxVkPf41UYjHyV059 -HXApHloZkPDkDnq6SRRwOpNRza5FnliVJO9lMO2onXBBOp3BM5tiHI7CewNiGkol -BoEwmmGbiYfkc9Bz0V+RssmiIrZA8z5/bmUPpBUqmQ/n603Lruk4mDyI8erN/hOP -U6e03nPonw3NC0z6S6TAbunc8U8iSBl/2ctB3g6iGaXAJzkixxpRrD/UL5TQePmB -mTgV6Ifj2AYRmE0Q55YzxVy1dcDxIAQv84kBIgQQAQIADAUCQmImWgUDABJ1AAAK -CRCXELibyletfNKQCACDwG/wvdNzqgGshs4X/QLWTmr+Tafm72gA9AWnZvgYogQ8 -5Tx+FPzE3+JZmXGMwNI2ePEEYBFlDbWA1yDyX0W+9x+HCPqdmuPp0jp/P24FUn6G -ZVxlJKBGLjQ9DTMgr7MeXJaIbrk+UdhJf7JoatemjLWMhsJeSYbSMcwcGugP56+Y -QSTV3IGvKfPWlujL/n6960IGfZY7t73G7pyyKWNzvii2ss6abwFBo35zP5yP3zI6 -XjYZ8wrbdeu8cvYnNBvr98S6MS6TxDJmAeVday5dmQjz/0dDLZsENkrHp6NZU9nw -I5vjbLbsKDmlCPlg7CWGNm4G+LpXTHuYEBWxh2zpiQEiBBABAgAMBQJCYs77BQMA -EnUAAAoJEJcQuJvKV618TdwIAIO0NPJo56OKJq4EYVWvDWJNTAjLqk8NuNsE5tH9 -1yxqTEaG+QvogtxMImZLts/iBdytTFYYyhWQRqhGJJAcaXj0YJ/GvNT+sKSGXKLP -BTJABmsrGgJXCxcc5sPQ/95M/TiA2LdFb/YDdyLQNRPAcq5k48I2RoZ7Hs1W/rIa -xZvlRzvDVX8VFwKH8o3MGQs+zzLsl03CPfQ316z1b/kABCx4406fHt1SrwyeGTkQ -ACVBVA2HMfnWqn0r3inpyUSAnWhgT5X/Cg2SIrJqleEyQ/mrKBTptAgwUJ1cM2EQ -PxiB/ytu2hQanygn01VFPyR+0dmsXTZOhOD84DWcmcwxNBqJASIEEAECAAwFAkJ1 -P3MFAwASdQAACgkQlxC4m8pXrXy49Qf/bSLASg5fxEscgsSdaJ3Eid8F3492bW36 -IUcWv9U8xkCKJB99Gw5T+5B6K1i134Cm4wHhXqWLRF4KL6aCGEcSYcJum4rFMPiv -7kmH2E/e6DmiF9kk0oymVFJnuN3yctkNpfA9ovrXgacJrwzgcy11t1octK9RDiG0 -qBxCD/qYHgf18KJK9+VK2vyMzdm9ZqKwih8+XvDnNkdNrEdSJ5uIULl/TfmPn5Zm -uQ93s+ZdnFflaln3smuTHxNrp3K8uWu3IJWmX74KUn4lNXAteKWP4adqFBEVzbLz -d5fzs8XLF/w5dGC3iS4CUfqWpDfulDxe7ooxKoV5Y/QnmZkK+VI1PokBIgQQAQIA -DAUCQocRFwUDABJ1AAAKCRCXELibyletfLeoCACZ9K8f2WtGdc1SeuQc1yv4BN72 -pr56/Ks+Raky+tOy7P+yLCBIEV9KaeZj50LAu3CnESNn6TLix4a1gxaL+68yHAxU -wV5S341m4bUjAa1e8ZMVhdJifsqe8w0TyjHx/yJ/ciZWWZVIEgKTNhzxdjIGSn3l -q29ow03AnatRCz/aHhiAzeeHSsEwW1Lvr4vz/isPMvWDzJSnofUUD5jgXWCDMBat -bVVFsCvdb3UiLJY1Yh04ZYGFIiEimHlb7fLaZ/pDosL70SnSYO/upn3ojaSrRITC -Zs8wsUfKP5icv/eqAdwtSlpeox+mSLvGhv64S1RQFZtFJRGmk9xNHDV8CJxpiQEi -BBABAgAMBQJCibZSBQMAEnUAAAoJEJcQuJvKV618dC0H/14iIrbtLfDkh2Mcc2iF -s0uD+l3ibF8+qtfiGFZ3rC82GHGNrpZLgbALsdGV4o1BmVrLMZ1d3z3UXV0kxWCl -YVZ1zHLx+cDRXYT6k35iXglxXtmSxUN7Ed7Uc7SN5CCO9neoi3urr9+lyjZHqFq9 -6lpFP0T85/BvTBt/ud2CR/+eo+UywI7wjDEIYc0qo9JnuGHd0n0FqNO/Rm2yBzf+ -lWyvdjgR0+6HHy+tfMehksHC5+bupDAfGoKuzzD4qp+fjtTdzAYEuoXg2hNrc/8Z -qEFPoMQXm89IFRorEhxJbkvP1jQObUFSPilQWXZu5F+WJOEVXZzrQmUgqC+ZOfS3 -bKiJASIEEAECAAwFAkKbgfsFAwASdQAACgkQlxC4m8pXrXyfyQgAtHrfLtlX0E0n -OcawD2qd5HAFhvdrTy48JP/Ue2JitlyEAWj9QpC/y+aApk62aLstUHdLg6bQIdsG -QiQwR6euqMOuolN9JqfH5JXyvt5M4zRlkJjcHGLv/x+cZuojFz9acHYTLCkawm9+ -MOhcy6piHVW/Fh8E6V9Lb9TMqDT1OTCfw9najnKmnA5dulvf/E3Skrv+cETp7vq+ -g7UC9HvucV7i2Dqj466WSgIEnjibenqeZfT6wovgs9dFiACEYMCrfADylpT/gS87 -35eEpWXK+0AnPiasllmX5LPSfaDhKPSOKagp89ILtddx3TlAEZFkERMi5UdamNCV -MI8n8ft6O4kBIgQQAQIADAUCQpzTCgUDABJ1AAAKCRCXELibyletfGzIB/95hsVS -uQ1XiKqtMZPnUW2U40vNHdw61vD5wK9d5GwCKMfUPcVYWaTCHCNM+23tTAg8kVjA -dOHGQlRKW/gfQ64X7xhSu8Obps/B+lwy0gVkjje0rVaaZOzFzmAztxXSBzlT95wt -KL0VKdIt1R8T4Dxc0iPlkuvHWrEzdUbYkBjrvccXjgbqa3znaEQysLGgsEciyl+1 -yctjfxs5WoQrItgx64mKfIm20DHP6w1X95qY+ZATM1JUfykXFMEg7JNqZ6xlYFAX -bGChrspTfq9nUsyoXPUncA97zBGVLM5i7ygagIvt1YeUi0+g/ojpXT7MsoTROHD6 -66Hamw2DzkA6GhwHiQEiBBABAgAMBQJCr+ynBQMAEnUAAAoJEJcQuJvKV618+aoI -AJIsrFaXQIym1cznFJSQlevgnfrTitD2vRwV6uWSMQOL8fkHJO0QrqrpmvzBPep2 -A77JosZQ+3kflkbd68SXvY5yfpxxxXF/eLv1kXKaGqcp2VYOMJA+QWzQqfsU7CVX -2nkpV4tgFqaq5x9JJ9NZdapJiDRsSuuqPbAdWeDufl9tFVhb6ZBiY/x8ZBR/4q+9 -rWjHObn3JS45Z+XQ5fYEVk+26RkU89fGuSsGpaF3zgvEM3lLmxhfdY8MSegg3+3S -zArY1V6nfdccN1n708CRYXXwoPWPenzGgHOwbBSRnf9l4IpNxoH9Bjcs/YM7dlR5 -GGD415gq1w7YysVJFVoiI0iJASIEEAECAAwFAkK0j2sFAwASdQAACgkQlxC4m8pX -rXxWRQgAkabF23WJvJt+OTsYRL21GaVNCSijVTQZRU8LI+nIMsXJGDCoHPtcPiQz -2/nXwyq6YOC7VaXJetShF5souL5w5L8it4oU9Awk9FScRxitMl7ty4n+lU+JG7ao -RfeuaDTcYcai+CXsed5PynPA55oKP24c1BbT0rBaMjoi5Uq08xrCqOSQloxfCLmK -/efJOWUzHRE1MtyFr+eq9vbQvlvaeRusZbKBZ7Gb1yC1+qdzv1R0J0vN2MPUO15d -5XhO5UhVgKUTIojb4mEd16r9igLOn78HveKh5uVX63JrvOYUaL0jO+FlJWdBtKMu -Tgui7Q7BRqJMs15fnG6roFg8gLrWnokBIgQQAQIADAUCQrc1vAUDABJ1AAAKCRCX -ELibyletfHtAB/0WPN4Sx5UVX8TNK1qDmx06B4zy5dcU/wqgWIUCERZheYStCsDK -X/VzHYladi0dAJKoL4+IHNXvEaavtU7WlJwYThD/MwaNah6jSyX1Cqu6/A96QoQl -4AVs4fPu7WGVje25yNfPZBdJyQPNVfipM6uRL70iFJ5BNIIzhRjlPMX74rj/vnU8 -kvoSWYvXmPn4Q3KLv6tcfOn3Mt9wMZJSH63sv3jbmRE9Cm0TgHa1UAvgOxWT1A7c -Nvhrt6Fy4bsxL06QG0xr4PO0nDbRGQ21yobITMFukfQx0jlnWBf26R8p0D1S1afm -/TG6x7Ilcw8NkV8tFH6eJQ2qkiRySXXgcRnziQEiBBABAgAMBQJCyQdJBQMAEnUA -AAoJEJcQuJvKV618kk8IAKQmFB8do2eq8F0T1rCsZrMrkjQFhKTTXEWJzg17HFjx -5brB81L+LXd5LwTI4rL2C5doP9N74PuAV9a9cmiydw71vCTnzSi1uhRqnBRMmM4b -vSOE50HMIQsidGKEzSVySROAdvYyaBhVdN+uyPAncGz3DTq0rUjoriW2DAxHMJLu -l8m8iNjo/LogBx0KRcWXr7xPR6izOVIqINm5xMwrSBPoR/PWuG7w+ZAKhy6IUGiM -F1prrMwG3w3b4bXDcCyJKgA4jRhD8bBWGWhR1s532ZLmvSwWy4xf1LPWlo/mEM89 -wrGZX8ylQ0JlZ7grLaiHNHX3m2lFb+IxwRKMfEWuu0uJASIEEAECAAwFAkLQ+IQF -AwASdQAACgkQlxC4m8pXrXx0WwgAkm5C20y4dWf9Phy69i//dNWwShHBK13hIO+F -ROqPfJxQYdDpCGGIE/IGhako8ofNYCIf860qto+/gPWUOX7ITH9SX5v2q2nL+ojZ -D2rI4vrFHER2Q8mCQvNCT1D7BLLPkAV3iKtqGSHRC0mAZz5Jer+ejs8wf2m6fZTi -5tOk6iRFMWPGVCX4rGN2Qk0R9SqTHWhtZFK4LShpiNxT6fAnCRBzdepigRid/skU -ggXqjFvezaJ+BzQBhJahlhnpKtEK4fjAfdZDtiIpowGbZgfIIsB0HAT4ujj3UDy9 -kOons0iEn/NR78v4oosqz0wxcqAZORA/tldmoqlQK8Ix84BBpokBIgQQAQIADAUC -QtGddgUDABJ1AAAKCRCXELibyletfAkEB/9LGSHXus/kR55RQ9XIgbNbyI5opA5A -eiuUY7nAF9n9pcg+xB1GVGXM8yMs4lrU4Vh+vSKjtH2Gocs7TwpHtBItbVyW+LQC -nEOyf+q4Orj/vhIvfeNUuyFvNCHIwbU0evDM59Vc9p1RkhBD6vJtpCX2bRdUMGuW -9eGTSYlxDMamL57Tpgm0P1Bvdw3gYnfk3H+r/MRGvQkImEnr1B3WqmClB0Fmajs0 -ZbBkuI+suwyy2lrXA6e+3yIQEqHCLSG85GOQG/xIro1nv4W426NhXY2er8ZKSiWY -gOddKe5txPR7h80lA3OfEmOopNwIuN1ld0BLltY3DBsb8er/gRDyR7IFiQEiBBAB -AgAMBQJC42W7BQMAEnUAAAoJEJcQuJvKV618w58IAI4eyED6P9wFdR96vNQ4oBzo -cJXcPXcC0Zrw710MTXf4Zn6TfvB3UJitboab5fEYVA5RUy1E61SiwLof7frF1XW7 -CClp+ugsDOxyx+GdFGV0q+H/0mpPbsXqiBMMB1J83uii76dNGBDzZt0z9c+FylzY -WAziq+1NTQKYcHqJhENbV9ZGvTYAwCLA/pB6kHkSJRIJ9yPyg8vtYy1xuRI5hi6g -OoA61rMIgs7hFHtu938JDPt1tvZJFt7Ux6YV3rAOuDmgK2Gvgz9Q2lVg4xhKd3Tn -ycnjD6scS1T3zWcCKSrW3v5+AZ9HKvgA1kiJ6mknSbVImxJ7LKHKLsrIy/sJOm6J -ASIEEAECAAwFAkLspEwFAwASdQAACgkQlxC4m8pXrXz1RAf+NfkWCYU8c/Gowyl0 -u0/tVxeFPxsx1GpKjaXI1tVeg5+Ov4spaHeZpYjdIO5kRNGSzdyVXkO1Rgz9RK5e -V9vClFEYH0l3QEUxM1QQMZqUZAbmxH/fN4vnr44a6ya6ICLgn8I6InHFGFO8t9Tv -KTA1eqS8uElQqUH1dNG5rxBqDjMOKjk0E0InAaIOeDHdvoBcVg0W/FMzlbhKPd0e -czpNyOtonq3z4EracangmCmDxEy2PjtKZP6LlMW8gvvnzIqL77J2I8mbC4vXwYxu -mgne9Ghou4IPqZ+Lb4cBaPY/wxxZ7F/pqGIwcTB0juYqsT0qZ430LzO8xaAb8Fry -X6le7okBIgQQAQIADAUCQu1LBQUDABJ1AAAKCRCXELibyletfN/KCAC/k7OMxhpo -XobydxOLWRJWucKrB1zTnN0c3VBElE2zZ3FUbzAEuCNjbCzbc7iRxKeDgcKtktFd -mnM590InYm/7EVdT9r+TB05mFhPwrCbne3UcSB3PBd8ZB3o0tpG/ZMKsdYnftPKJ -+voqpzdmiNZJMWYdeIIluzcBuViLzZhKnm0lmthdUOl1GildNW8hqfbhM7q265Rc -jwVbTm+/Rg5UCDo1uFv94xqjO1g7scgCl+N9jjFBlRRin3Y4V2fTmNIiEITnomak -DvTmlhs+yxd1BNYBau4rLXWFC6Qe+L9xnNWefQOLT98NokPU8RfU9IJ5OI3ColvA -r2ITEqQocqeuiQEiBBABAgAMBQJDBw4vBQMAEnUAAAoJEJcQuJvKV6182VUH/2+o -TFYzVeLuHJzhPQGI1x00Vh17MAYODp+4/bQsc6wrRykuidd8tklc/BlvPeWqjKDu -W3e16cEf/05GMdGpsYNMCgzH6SOjZ3yycNg8y3rB8BABJ+jSCP6IoAUqqRUH7fUF -VzA1SBTOkBwvZ1oGspDyYdGtn19ForXFNu7YO85TRFnJ8JIH3kNBXriaemmrfSi+ -9UFtjvuC0gH5ow/3p86GO50DVOpFzATBNi/q69FOWK6XqX8EW/tPqMZFP3MIWD3F -al9l54uL6s8OLulRAhtarpPIpAURFr5+Ex0euKbqow/EBRPlQHGcutv+ONK7n/6g -gpeentNDAyaE5kFdAG+JASIEEAECAAwFAkMIYnoFAwASdQAACgkQlxC4m8pXrXwu -oAf8CxBZiAGstqB0M1IddHHd19CvGT7zheJWn3BVZpsBPvM/jctN/bYNKtnHu3IY -DGUybNP8jHeeYEswj24tSPaZ7MT54LhU7HJdKwdYtMUp+RrBFWzbIJNpz69JwfPE -TevT/IV7dnXz3uak6ZDDXRCjL6+ETbN37uAdXLASh4MD40Mfd9r+fY0Ayov/qRmG -Th3Bxy9/f8ZoUz+CL7PllI9wt4XtX9su54L966nvcuODqUR5C6x/bw5T7897Wmkw -eh5ICdPTg/hz0B4morKtJnayy+R106byjHaHobfuth6juGYeYbHXjzMNoWYoKqDZ -uk3j7j69aAFZXzC9O69j5T8glYkBIgQQAQIADAUCQxBNOgUDABJ1AAAKCRCXELib -yletfLt+B/95xkZZwYbLRDRw++rj+uO+RmjUyHxwx5jQh2mppbOhgo2jS9s0DLUp -T3gAPm68YTVjLxAYV2hDcd57SNI7EGqRU1bQ8s/7G+Nqnc9qgf02BXWaQNDZJ/QM -dvu0TIu+IkQZcLTqo26ROLlahtNNKDMY0PxM1zF/cie3fztnpHATNuWTYYGeZdOa -CeGYy5Oj4TwNhjIrOIINPPttxO4+T+iShpHC9HVjtC65+kK/m9wAYM2CxUahSTft -fweoeIKGt/ML8ON3Pe1u0dafqY7AUiV6PYUkg2QPsjljCQLFxCxP2vyPZwHc0Ftc -ISPcRGwbYyXaDsFSkUTJAQS3qvWnZ2ayiQEiBBABAgAMBQJDEPMBBQMAEnUAAAoJ -EJcQuJvKV618WlkH/3bC1x2yaa4u5hfUDR8S0ng4Y/uXYM4iLgARNUciZw7SV1Ke -pE5b9cQDYmez/tmEyUfsZWthKQ6+Ne3vBLjLSLmNyNTiO7YIWc65RcJblrS5+fVt -Cv8jGwFr/KlH85EqgRM0QVfZc4vPz7FoIzFbj2OeucR1dnc7AMEpHVGJAq/TEKNY -5uQ5EAFB6F6KbG2mMKlsISoK5v9doZnQN9mBYnhJ3qhBJwB/DjNMG1tpp8QtCFyC -xZAYQB/2JGehFrN0q9iU/W2aCbEvTTgGIuLGEOLlrplR2MHgWyiTiFv4eF8o0mAo -yw80Gp7MGLZ3oKk4zbjbKp8S3BtwnMyILFuN++iJASIEEAECAAwFAkMSQ9cFAwAS -dQAACgkQlxC4m8pXrXwXEggAua/5xOdeyymVGt/C2cmoIZMuKQX6o6mBb7Q9NUXY -durcIAicopYFNG4FpIb0mzMdsTQGXB1KJrfj5f0fUp+rtdMWPda3ThMAx7zMK1Dk -uoorAkGGiCCMqmeZS+9TvcLKwHZTr4t1u2eqWVvdM56u7VhNri1to1Zw8JE60zz0 -ZB6IhvFBCW28oCOkNIZnergmZi0Sw9RdUYIphjes+1sML43YE83jaFGZCcrKc4/J -qBqj1ZZEnIjYy6MFoxAsEEnAr03Jpsr7sA+39+rdWgbYS/OPOFqRpDtr3kFQZFGp -M/rN0XnoJGFO+m3GQCVw2RYNn6yNZOGbN/NI+bNySBiFUIkBIgQQAQIADAUCQxRC -LQUDABJ1AAAKCRCXELibyletfMZqCACizLb1k+yJZKYe8sGCy0gb8Wfr5wIIoSDV -KUsOo4VrVbf4Z+pVwzox4BlF2WyQ8oMdNh8noCxDFsQurVthNayiMwTEWsWcKvGV -nUkl04scwcC38gy07+dP7vzuerpvKwzBNwBeFmT8sw8Cipa8RlXh56l6rXIyCyuZ -WMeLzfq5UjsYXax3ktQ4VtFDOU02aXpkp1wgQ5xTFHU4v37VoNkuzV9UbZzLCjZG -ttPaNNpHfIgsJSV4IFAcw7ZDr8PToLQ4PgT2CD2T1/DD7JMeYdnKP4CntUXJPN1w -YbG6FQtz6Y/NCoEJofRbVJDd+jh6lKbRbCDvA2dv8rS553knOqz3iQIcBBMBAgAG -BQJCdz8MAAoJEAgUGcMLQ3qJosMQAJ4BAkBO2LE3BinWKaIrjFcYExtn+k0RGtFI -b4zQwBIgOjH4Yam11zZj+YAfzOsvl5aBuL2Yc8bZSKR1WMQ1581cMSAnps9FWJjJ -rEp8FG9by5DKTI+onYW14oebiO+VJOciLrRnvdnE9+Avx18xtuwfMyRAADARggNi -ZnTXSSx/ACiE3k5/TfbhIaDw0iaE3+IUPfkHkhrFyShvCpgUNWEX+99KJfiDbboA -OZ/BDf+MvjxY6dFQW+uPyKH2YFLxWeENWjAQVgrOUqchVStmKoSmwZ1Iz3fXJDgP -WLa/EQm+13J3uNo7BHRht+hxXwg5ydoYQoI64nkWaARaGZbTit23PyBVK3C+Gqc5 -k9xEr097nGz5aNRym3DiBQTJgRkqcrwcgqXjFjeoyGJRIFOEwTqN86YGW5MXGzEJ -3zQd95eEphTVoI4SdAIDESEmds/khbh8fGo6pXYqC7Kt/01CRoqsDTczm+X95CkF -j8Zr4SSm9xsN7VheN3E4eAPLuZonjrC09AblD9jpfJQIdH/EpYj1jaqPycSct+uP -xXYuOp+2btiKvUQWU1Vy3hZ5lb8J+A7/mzom1Zpo1X6Yi360DiEVeuRw5i+/gp+8 -ItqRqQUXPCZ4h1Fsf1tZWe0doFqhqX7wCW3V8zkvtAOiBtzbjJMVZpvFxPIde2nf -AiwUNnyOiQIcBBMBAgAGBQJCdz8NAAoJEFA6oBJjVJ+OkLUQAJWH09eK8jjgL5Yi -l4lGGqAY+fONk77HAusNllQ96NcoSe5gq6awiB3CEeEyVai/RgoE34OesvXvMQYG -3+DESl7D1I1TLMCX/OSc40qqgmXZ3Gfu0WO+PPZBx+ykCFqAxtFUxrjW6dCPTwPp -F2I7qfcExYBI6640BdCh+hAxd6bgLPbsid0RQgKotdqyx/R4bliRitQXa8ODOz60 -hK9AzQYSi6ifaBSN+mYJ4YTNN1tqrsg5Q0MrGyWYMPxTkdEqfVsnhF+CO/Ca9M3S -99kM13nBCG6Ft8fwhIBg85ZwfgVIo2PDdrS7xjQpUYpW1R1QeZK/b5o0fgWNikes -Mb9zieN7GKtNKQPp2BsTHVpkvj9d+VvoGSYX+BS59j4d9I0doW+0XdGNj6SWLBqc -hZ4ybMd1ysyc/hUmIT/aX8JhNVA/Q5PkgmWaYV1F6P/xjqx/RG2IMr+9OnM/zW7f -nVEz6YQDTuADZESCdcuOd9O1Zd1Sv5UOeWRfuYE2jYGx71TKIywXcNFRqPxeDE3u -WTEGRDcEXQG+bs1d+1QvXitiN0zDBgq6cpfNIbXaWc/HIg8LOm21xhDFAw38L1fT -iTXrDU5UNhfj3lrkvgs2WOE6pRjP6ve0GFIKByi8ezb55iZTNyUgCPM0f/mVZrnK -LvKv4vVpKzrCiwysGoQDck5DN3oCtCZNaWNoYWVsIFZvZ3QgPG1pY2hhZWwudm9n -dEB1YnVudHUuY29tPohFBBMRAgAGBQJCetQiAAoJEAZR5SZ0t8cqDUIAmIfLRBeY -28PXBqwOJVKcxtMedw4AniDcMjzOXhPz3hkFvZgQbgUfRF2JiEYEEBECAAYFAkJy -IrMACgkQ0/mV1Xdq/hLXdwCglqvBfuZOFvU6rilTNrhikQ98TbMAoMZYDP30D+Yb -Lo/Ho/UMSAQkdnR6iEYEEBECAAYFAkO5fgAACgkQch6xsM7kSXj4wQCgrh5j/Tcv -BsR+a+BgccpQoIuT7ccAoPGCTPRGxas30yBVzBhEUY3gpGOriEYEEBECAAYFAkQa -p7MACgkQQVLh8cZxhv+7BwCfRDPF1Vwqo681qBtkxdnuu5PgZN8An3EpFV31J/bu -x/DERGQ4bJrec5XeiEYEEBECAAYFAkQarQkACgkQqgzR7tCLR/5w7wCfQfOvnVHB -y/M/E48ZfU9XFr+2no4An0f0KNhZjZ3+mUaNkrkkYQoQEC0NiEYEEhECAAYFAkJy -DeAACgkQ8+hUANcKr/kWnwCgi0J7zAVwn2vZufTJ7DJvIap5k/MAoJI2Y7Z65NW6 -esVYS5BpLdfJhe0IiEYEEhECAAYFAkLMsmsACgkQzN/kmwoKyScGPgCfRiKtZpTN -ULwMA90Do+UjUczBO0wAoJzLIAF9LX9HWyU5UXidQt+eZXrPiEYEExECAAYFAkI4 -EWsACgkQr3O2CKlAUK9TxACdFn3HOjQvqBwQjFqEp7QlGfxw5o4AoIa3SuTTOtLJ -hBmo7527ddmzrZzyiEYEExECAAYFAkI9iLYACgkQ+C5cwEsrK57aVwCgxrua39iO -ij8hZ0xyVehvqCyl+6kAoLyqLbJ5dllzfRGxjxjc1+ppenTGiEYEExECAAYFAkJy -OdgACgkQpQbm1N1NUIgOmwCg2dPgDcObDv8rO/MGHyZa0lqHacoAoMXv++UJaWXH -bNWSPFIgOpfxTeqqiEYEExECAAYFAkJyxrYACgkQ3cp5nGFDTdZrfgCggGiZtpj7 -wpw6pVcF8tfswF4dsZAAn0rxNKNXXN9u+IAg1OuK0rsec7cTiEYEExECAAYFAkJy -+R4ACgkQd/4g/qpqtctw4wCfQ2aNzJs/OYv1an3nPikx05iT5ocAoMyo4m6XmHDZ -hphBvK8Ua7Z35YqxiEYEExECAAYFAkJzGKMACgkQn/JYPmgbZGnZ2ACgh44bvHWX -Bq5Kovj/7+R5jxP/b5gAnRrTD5WtARrsItSBl+l8RkjZR5h5iEYEExECAAYFAkJ1 -YRAACgkQArxCt0PiXR63LACeNrOuAznY8YMEURjvIdaWgU740gcAoMPjKBTCQO5t -eqZcyel94oBR0Cz4iEYEExECAAYFAkJ1pjAACgkQu8b/uaAhL+T2JgCfYtVnAwrM -axYJghFByu/cdRN9R80AoKe+Hx0fHM1sU8IdHtn7mIMTeAt8iEYEExECAAYFAkJ1 -zNYACgkQvjztR8bOoMlUowCg1GdaFpmIOr/UXyCC9sDcv5w0jBIAmgJO1NL9gTzk -7fgy2VsYJhOP0qrwiEYEExECAAYFAkJ2SJwACgkQRsWY28vsX4BR7gCcDRTfolut -/zVq63qgjjcWr4ac5SUAoIvk6x1tksCp++oYS0lUV0MLjb3kiEYEExECAAYFAkJ2 -S6gACgkQ/qs2NkWy11sIpACg0Bp7T1euRDcJH1N7XLe9WbR+DwYAn2gG6nJz5C7N -uqlmPJVZZP7QWRIJiEYEExECAAYFAkJ3KjMACgkQDecnbV4Fd/Ic+wCdFYiRyNeY -PO27a1FX0hWChEWz09AAn1pBfBLFI54DoZvhBzhkarBXJLfyiEYEExECAAYFAkJ3 -PxcACgkQhCzbekR3nhgcPACfROmJv+sz86kfYW8k0saSqBzvBcIAoJi3RH+RZB7J -pP8/RyQkLZg4aqxNiEYEExECAAYFAkJ3R1AACgkQDt3F8mpFyBZ+GwCfVW2vykWc -NnfmrcUOej3v6Lycw4YAoLUIrGTkO2/X/673krDv5ixxNt5EiEYEExECAAYFAkJ3 -zRwACgkQSsOT+6LQaTZ+EQCgwX2d3Hzpj/7h3eh9Ws4rYpgBS+8An3TUCtOULJ6c -HhlDNkzXUFquLKhgiEYEExECAAYFAkJ42NAACgkQcJo/YDt+FuEFJgCfa34UiSTn -9ecrC3YFpVlvA/c24b8AoJX3QrL6CDxh/PEwni2CObFdAcVCiEYEExECAAYFAkJ5 -yVUACgkQvNWtkHk/awK/gwCeKnFUSolfUl09apDaZaEjhn65dAEAnAp8o3erErE6 -S+Q3+WFEls0pG0BTiEYEExECAAYFAkJ6TcYACgkQH9eQw/Gi3tW7XwCfY7He1SCb -I23NXL/YN/veA0K949sAoN6IfvdTL8TD3l60t7ka03IJZBtTiEYEExECAAYFAkJ6 -Xv8ACgkQem/rb/9SwVB1oQCgqYf/1H9CiSjXlhplc1EKcCAVRW0AoNvQT8M4e174 -tUv67zkr1nA7Op1GiEYEExECAAYFAkJ+zhMACgkQPGPKP6Cz6Iuq2wCgnEn5tGWv -mj5RRPAlBIS3P/f4MwwAoLeBZwU3TrtfCm9fqnoQnHqR/xr8iEYEExECAAYFAkJ/ -FCoACgkQuJQObal7aaB4+ACdEN7g2WKpES7QFp/ALG7lLNv9FKIAn12MSR1vCwKf -bRjh6dSFOdbx3Vq4iEYEExECAAYFAkKCWlEACgkQE91OGC5E08qqkwCgnU3zcfUR -v6YXqPXSPBOQzK/8LoIAoO6izGOLUMcMd0KB39jmLNuA7POliEYEExECAAYFAkKP -MNEACgkQ9t0zAhD6TNH9mQCdFQuGRjnVuD5ZfKQcUrCIb8j1nfMAoIF7CHjeo79q -fteokg+d7CAYq0RZiEkEExECAAkFAkJy7ngCBwAACgkQuJQObal7aaBaEQCfcq/K -IVT7x6TmmsZPZJJjYiYyi4gAoJqwIGt5DDLb5tlkzpmwvPXEJgixiF4EExECAB4F -AkH04tYCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQliSD4VZixzQFKQCgjpjp -s+IXSNkiiIsBkOBuJWKFdnsAn1FUSErS2Ox809VZ0JMmas76sa/8iQIcBBMBAgAG -BQJCdz8XAAoJEAgUGcMLQ3qJD9kQAKoG4PeRjVwfv4W+es+oGKd4AmQeQDW3g/sC -1obWPd7g9GAhITTIdAJ/q1Y7qauaeUa9zYxFfMEREHjfwDEk+tXU5bkg9w2FB0iD -5LxyNiDLIhaMWMg/tpikJV+m2fq+nCba67RYOmKTcAjBn4T0S6qmSwyNEJguP5+J -jEc1+dzM/w+r4hlgKbb9NPQa1OXQZVoEKa4iN+Hn7Grr01bglEuGzXv2EU8QM3dz -bKRWZxafD3kYaoU5fyP8fG71+7drqEZoP4A0cvHiGUaYvGIu0tKp82AW3HMMi4jL -6aNt39fJKYlCQOjC0TeiTKyEJ+3dPTMr8692xkdHXc/HrlrQBv+Wlu66B44/wZly -rmK8itvjrqLHO3yuqI9j+88iE5CRfjmkZw64aCjlgrA+JHx06QnPGIMptjxQFh5f -m/Gt5VToAEbvYEoQF09rgbG9osx0aqrluwh/MhGhKze2bmxV3PnT0xKeC+950/Bz -jaoSd80JAP96gzJSZE/hjLWUg+s7BnHi/FU5yyYUjB9olhC0UtZINiym04uuLkPj -pMkWEVSmcnGcFgd2C6fQRbEF2ISB96AXB7i7iFI0ZnzrBlCqIYWMViCT5mXKyPiK -XU7hbFCJM/Yz4KyEF5TNDnbstvneDLjwffoC0LmxGhWBA2mMDAkrQYMyaLz2mU73 -kzEUVWDDiQIcBBMBAgAGBQJCdz8XAAoJEFA6oBJjVJ+OD9kP/2Hi0WGp+w3nqlFR -qQ10MKxOElTEJIErPf8GWlM/m43GKpwtyf6CbNQ7NYwEkpAGoq6zKMaQy9kRxtQI -FWleRMDsrkmpGjvqmNqkaNbEhFEx+bApPtSsMaj9bO2HjdBJZxq5YwkDBusV6E0T -NbLBfYb5teq2XyH632X6Zj+AUlkk8k37KnY8kxl+ccHkhClXjwYZIiXggUYuIM2E -J0MZ9EA+Db6WKrgrpLLMBiTTwZIRp8J9hrbo7a9WZ2iz+X/A0qWxVzB3vdpBX73z -NRAcf57uk6VdWmQsSFhiCSiC1gPvakJ5rQQvgcQdB0PkpFNv20ncZCyqCyjl23zg -6VUU6hjRRuZC6zlQ4bOasANIHZ1i6Ri17eHyisKoid0lSk3RXpL+XEBrpo/gZ80q -/aQa39F8TSyPborks368BFqT3z6z9CjuErynpZTDbGBGPx1hNOmkLGccExY9oI6g -7RBMyGdllkruN+Me7O/3gEdhMwLoOZX54zJyiL9IWMITjr9DCyjTAN58g/hw1k3s -bMQeCzSJ3qm8sgqh4+9392ILbDZQqugaVRq5enVEp4EedZhKDm0OMDHkz4yos/sf -FvHGJ9IJV7KNPgtKbIufVmElGstUEO75sAbJXKKf9RDF3mS3l10fW5PzUhd7QoPk -bctnq2G1Fuc4XdZj51mxj/d3NE+guQENBDgbNloQBACMDd+3MOnocx85heT7zsiL -wQznw0dA554+XKh7HNjpQOGaCtIgKbvXi56K1jblx5NVyaV1VmGL9woCUfG5lGME -uJE0PbL4XlMEj1txa2yJQFQcNAiICrRfQgqQE1LZMht0fpXvwmbxdTqubsG2382V -jXtGVrAv0l3jYIGWSTo+QwADBQP+JVwIi8Qv0AzMEhMcYovMVoidMGvSCtLoIeOQ -J9KuQuKkoUhoW27oEJlYYC8XqEJ3sIQnYmc7fGaMjt+/QVr5Pq/g9iG5JTgWWCJe -8zy/+upwzE0EN6W6TqKXOBsDsENMGIok58d59z7ykI3VQRmu7TfTM1QJHVImyALj -7F0mph6IRgQYEQIABgUCOBs2WgAKCRCWJIPhVmLHNIEGAKCWcOaIYvLspRW11j2b -qlFfyUDwnQCfTTs8DO0AFWVdMrwydOYSow2cI5o= -=CfD6 ------END PGP PUBLIC KEY BLOCK----- diff --git a/test/testsources.list/sources.list.all-gpg-broken b/test/testsources.list/sources.list.all-gpg-broken deleted file mode 100644 index 110f31884..000000000 --- a/test/testsources.list/sources.list.all-gpg-broken +++ /dev/null @@ -1,2 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-broken/ / - diff --git a/test/testsources.list/sources.list.all-gpg-ok b/test/testsources.list/sources.list.all-gpg-ok deleted file mode 100644 index 2e9a4458a..000000000 --- a/test/testsources.list/sources.list.all-gpg-ok +++ /dev/null @@ -1,2 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-ok/ / - diff --git a/test/testsources.list/sources.list.all-release-broken b/test/testsources.list/sources.list.all-release-broken deleted file mode 100644 index 5e138323a..000000000 --- a/test/testsources.list/sources.list.all-release-broken +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-release-broken/ / diff --git a/test/testsources.list/sources.list.all-release-ok b/test/testsources.list/sources.list.all-release-ok deleted file mode 100644 index 8bcceeee8..000000000 --- a/test/testsources.list/sources.list.all-release-ok +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-release-ok/ / diff --git a/test/testsources.list/sources.list.all-validuntil-broken b/test/testsources.list/sources.list.all-validuntil-broken deleted file mode 100644 index bab59bb81..000000000 --- a/test/testsources.list/sources.list.all-validuntil-broken +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-validuntil-broken/ / diff --git a/test/testsources.list/sources.list.md5-package-broken b/test/testsources.list/sources.list.md5-package-broken deleted file mode 100644 index 3ba43181e..000000000 --- a/test/testsources.list/sources.list.md5-package-broken +++ /dev/null @@ -1,2 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-package-broken/ / - diff --git a/test/testsources.list/sources.list.md5-package-ok b/test/testsources.list/sources.list.md5-package-ok deleted file mode 100644 index 9bf207780..000000000 --- a/test/testsources.list/sources.list.md5-package-ok +++ /dev/null @@ -1,2 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-package-ok/ / - diff --git a/test/testsources.list/sources.list.md5-release-broken b/test/testsources.list/sources.list.md5-release-broken deleted file mode 100644 index 1c8f1dd79..000000000 --- a/test/testsources.list/sources.list.md5-release-broken +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-release-broken/ / diff --git a/test/testsources.list/sources.list.md5-release-ok b/test/testsources.list/sources.list.md5-release-ok deleted file mode 100644 index f27e04f16..000000000 --- a/test/testsources.list/sources.list.md5-release-ok +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-release-ok/ / diff --git a/test/testsources.list/sources.list.sha1-release-broken b/test/testsources.list/sources.list.sha1-release-broken deleted file mode 100644 index 29a277899..000000000 --- a/test/testsources.list/sources.list.sha1-release-broken +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha1-release-broken/ / diff --git a/test/testsources.list/sources.list.sha1-release-ok b/test/testsources.list/sources.list.sha1-release-ok deleted file mode 100644 index 6f95d0247..000000000 --- a/test/testsources.list/sources.list.sha1-release-ok +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha1-release-ok/ / diff --git a/test/testsources.list/sources.list.sha256-package-broken b/test/testsources.list/sources.list.sha256-package-broken deleted file mode 100644 index d6d284b9c..000000000 --- a/test/testsources.list/sources.list.sha256-package-broken +++ /dev/null @@ -1,2 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-package-broken/ / - diff --git a/test/testsources.list/sources.list.sha256-package-ok b/test/testsources.list/sources.list.sha256-package-ok deleted file mode 100644 index c2d7570d1..000000000 --- a/test/testsources.list/sources.list.sha256-package-ok +++ /dev/null @@ -1,2 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-package-ok/ / - diff --git a/test/testsources.list/sources.list.sha256-release-broken b/test/testsources.list/sources.list.sha256-release-broken deleted file mode 100644 index 713a4d9c8..000000000 --- a/test/testsources.list/sources.list.sha256-release-broken +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-release-broken/ / diff --git a/test/testsources.list/sources.list.sha256-release-ok b/test/testsources.list/sources.list.sha256-release-ok deleted file mode 100644 index 93b44e366..000000000 --- a/test/testsources.list/sources.list.sha256-release-ok +++ /dev/null @@ -1 +0,0 @@ -deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-release-ok/ / diff --git a/test/uri.cc b/test/uri.cc deleted file mode 100644 index ae9dc9d05..000000000 --- a/test/uri.cc +++ /dev/null @@ -1,34 +0,0 @@ -#include <apt-pkg/strutl.h> -#include <stdio.h> - -void Test(const char *Foo) -{ - URI U(Foo); - - printf("%s a='%s' u='%s' p='%s' port='%u'\n h='%s' p='%s'\n", - Foo,U.Access.c_str(),U.User.c_str(),U.Password.c_str(), - U.Port,U.Host.c_str(),U.Path.c_str()); -} - -int main() -{ - // Basic stuff - Test("http://www.debian.org:90/temp/test"); - Test("http://jgg:foo@ualberta.ca/blah"); - Test("file:/usr/bin/foo"); - Test("cdrom:Moo Cow Rom:/debian"); - Test("gzip:./bar/cow"); - - // RFC 2732 stuff - Test("http://[1080::8:800:200C:417A]/foo"); - Test("http://[::FFFF:129.144.52.38]:80/index.html"); - Test("http://[::FFFF:129.144.52.38:]:80/index.html"); - Test("http://[::FFFF:129.144.52.38:]/index.html"); - - /* My Evil Corruption of RFC 2732 to handle CDROM names! Fun for - the whole family! */ - Test("cdrom:[The Debian 1.2 disk, 1/2 R1:6]/debian/"); - Test("cdrom:Foo Bar Cow/debian/"); - - Test("ftp:ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb"); -} |