.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 $@
$(MAKE) -C dselect $@
$(MAKE) -C doc $@
$(MAKE) -C po $@
+ $(MAKE) -C test $@
# Some very common aliases
.PHONY: maintainer-clean dist-clean distclean pristine sanity
##################################################################### */
/*}}}*/
// 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
{
unsigned long UID;
unsigned long GID;
unsigned long Mode;
- unsigned long Size;
+ unsigned long long Size;
// Location of the data.
unsigned long Start;
##################################################################### */
/*}}}*/
// 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>
#include <signal.h>
#include <fcntl.h>
#include <iostream>
+
#include <apti18n.h>
/*}}}*/
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/database.h>
/*}}}*/
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/debfile.h>
#include <apt-pkg/extracttar.h>
#include <apt-pkg/error.h>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/dpkgdb.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/dirstream.h>
#include <apt-pkg/error.h>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/extract.h>
#include <apt-pkg/error.h>
#include <apt-pkg/debversion.h>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/filelist.h>
#include <apt-pkg/mmap.h>
#include <apt-pkg/error.h>
# The library name
LIBRARY=apt-inst
-MAJOR=1.2
+MAJOR=1.4
MINOR=0
SLIBS=$(PTHREADLIB) -lapt-pkg
APT_DOMAIN:=libapt-inst$(MAJOR)
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/sha1.h>
#include <apt-pkg/tagfile.h>
-#include <apti18n.h>
-
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>
#include <sstream>
#include <stdio.h>
#include <ctime>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
// ---------------------------------------------------------------------
/* 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)
// 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..
}
}
/*}}}*/
-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)
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)
// 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;
}
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)
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();
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);
}
/*}}}*/
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);
/* 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;
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);
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);
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
#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;
}
}
// 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))
// 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)
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)
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)
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);
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;
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;
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;
Desc.ShortDesc = Version.ParentPkg().Name();
QueueURI(Desc);
- Vf++;
+ ++Vf;
return true;
}
return false;
// 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);
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;
// ---------------------------------------------------------------------
/* 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)
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;
// 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);
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;
-}
*
* \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.
*
* \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.
*
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();
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();
*/
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";};
*/
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.
*/
// 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;};
};
/*}}}*/
/** \brief Information about an index file. */ /*{{{*/
-struct IndexTarget
+class IndexTarget
{
+ public:
/** \brief A URI from which the index file can be downloaded. */
string URI;
*/
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;
+ }
};
/*}}}*/
// 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; };
// 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; };
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;};
// 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(); };
* 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);
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
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 = ' ';
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)
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";
}
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.
MD5Sum = Hash.MD5.Result();
SHA1Sum = Hash.SHA1.Result();
SHA256Sum = Hash.SHA256.Result();
+ SHA512Sum = Hash.SHA512.Result();
}
/*}}}*/
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();
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-worker.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/configuration.h>
#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;
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)
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
*/
class pkgAcquire::Worker : public WeakPointable
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
friend class pkgAcquire;
protected:
/** \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.
*
* Closes the file descriptors; if MethodConfig::NeedsCleanup is
* \b false, also rudely interrupts the worker with a SIGINT.
*/
- ~Worker();
+ virtual ~Worker();
};
/** @} */
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/acquire-worker.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/fileutl.h>
-#include <apti18n.h>
-
#include <iostream>
#include <sstream>
#include <stdio.h>
#include <dirent.h>
#include <sys/time.h>
#include <errno.h>
+
+#include <apti18n.h>
/*}}}*/
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)
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)
/* */
void pkgAcquire::Shutdown()
{
- while (Items.size() != 0)
+ while (Items.empty() == false)
{
if (Items[0]->Status == Item::StatFetching)
Items[0]->Status = Item::StatError;
I = Items.begin();
}
else
- I++;
+ ++I;
}
}
/*}}}*/
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())
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());
// 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;
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;
}
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;
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;
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)
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)
else
CurrentCPS = ((CurrentBytes - ResumeSize) - LastBytes)/Delta;
LastBytes = CurrentBytes - ResumeSize;
- ElapsedTime = (unsigned long)Delta;
+ ElapsedTime = (unsigned long long)Delta;
Time = NewTime;
}
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 */ )
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;
}
*/
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;
/** \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
*/
bool Setup(pkgAcquireStatus *Progress = NULL, string const &Lock = "");
+ void SetLog(pkgAcquireStatus *Progress) { Log = Progress; }
+
/** \brief Construct a new pkgAcquire. */
pkgAcquire(pkgAcquireStatus *Log) __deprecated;
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
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;
*
* \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.
/** 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. */
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?
* 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. */
/** \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.
*
*
* \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.
##################################################################### */
/*}}}*/
// 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;
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;
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)
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)
{
{
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;
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)
*/
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
/* 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);
// 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)
{
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);
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);
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)
Change = true;
}
}
- Count++;
+ ++Count;
}
while (Change == true && Count < 10);
<< " 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;
}
// 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)
/* 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 ||
/* 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)
/* 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;
if (Start == End)
break;
- Start++;
+ ++Start;
}
if (Fail == true)
break;
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
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;
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);
}
else
{
- Start++;
+ ++Start;
// We only worry about critical deps.
if (Start.IsCritical() != true)
continue;
{
// 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;
// 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)
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
in that it does not install or remove any packages. It is assumed that the
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);
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);
{
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)
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;
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.
{
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)
{
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;
/*}}}*/
class pkgProblemResolver /*{{{*/
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
pkgDepCache &Cache;
typedef pkgCache::PkgIterator PkgIterator;
typedef pkgCache::VerIterator VerIterator;
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);};
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/error.h>
// 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
// 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) {
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();
// Include Files /*{{{*/
#include <string>
#include <vector>
+#include <limits>
/*}}}*/
namespace APT {
class Configuration { /*{{{*/
* \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);
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
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/cachefile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/sourcelist.h>
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/fileutl.h>
-
+
#include <apti18n.h>
/*}}}*/
// CacheFile::CacheFile - Constructor /*{{{*/
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
class pkgCacheFile
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
protected:
MMap *Map;
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; };
Collection of functor classes */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/cachefilter.h>
#include <apt-pkg/error.h>
#include <apt-pkg/pkgcache.h>
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);
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;
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) {
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/cachefilter.h>
#include <apt-pkg/cacheset.h>
#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 /*{{{*/
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(); };
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(); };
};
/*}}}*/
/*
*/
+#include<config.h>
#include<apt-pkg/init.h>
#include<apt-pkg/error.h>
#include<sstream>
#include<fstream>
-#include<config.h>
-#include<apti18n.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
#include "indexcopy.h"
+#include<apti18n.h>
+
using namespace std;
// FindPackages - Find the package files on the CDROM /*{{{*/
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(' ');
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(' ');
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");
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)
// 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)
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;
}
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);
{
// Escape special characters
string::iterator J = Name.begin();
- for (; J != Name.end(); J++)
+ for (; J != Name.end(); ++J)
if (*J == '"' || *J == ']' || *J == '[')
*J = '_';
// Escape special characters
string::iterator J = Name.begin();
- for (; J != Name.end(); J++)
+ for (; J != Name.end(); ++J)
if (*J == '"' || *J == ']' || *J == '[')
*J = '_';
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)
}
}
- 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)
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");
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()
{
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");
}
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:
// 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);
};
/*}}}*/
##################################################################### */
/*}}}*/
// 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 /*{{{*/
// ---------------------------------------------------------------------
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)
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*/) {};
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/cdromutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/md5.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/strutl.h>
-#include <apti18n.h>
-
#include <sys/wait.h>
#include <sys/statvfs.h>
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
+
+#include <apti18n.h>
/*}}}*/
// IsMounted - Returns true if the mount point is mounted /*{{{*/
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);
}
}
}
##################################################################### */
/*}}}*/
// 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;
##################################################################### */
/*}}}*/
// 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;
/*}}}*/
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
// 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 += ' ';
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;
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);
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/crc-16.h>
/*}}}*/
/* 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--)
#define INIT_FCS 0xffff
unsigned short AddCRC16(unsigned short fcs, void const *buf,
- unsigned long len);
+ unsigned long long len);
#endif
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/error.h>
#include <iostream>
#include <string>
#include <cstring>
-#include "config.h"
- /*}}}*/
+ /*}}}*/
// Global Error Object /*{{{*/
/* If the implementation supports posix threads then the accessor function
// 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;
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();
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;
##################################################################### */
/*}}}*/
// 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>
#include <set>
#include <algorithm>
-#include <config.h>
#ifdef WORDS_BIGENDIAN
#include <inttypes.h>
#endif
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
// 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;
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
// ---------------------------------------------------------------------
/* 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;
}
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;
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)
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;
// FileFd::Skip - Seek in the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool FileFd::Skip(unsigned long Over)
+bool FileFd::Skip(unsigned long long Over)
{
int res;
if (gz)
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;
// FileFd::Truncate - Truncate the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool FileFd::Truncate(unsigned long To)
+bool FileFd::Truncate(unsigned long long To)
{
if (gz)
{
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;
// FileFd::Tell - Current seek position /*{{{*/
// ---------------------------------------------------------------------
/* */
-unsigned long FileFd::Tell()
+unsigned long long FileFd::Tell()
{
off_t Res;
if (gz)
// FileFd::FileSize - Return the size of the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-unsigned long FileFd::FileSize()
+unsigned long long FileFd::FileSize()
{
struct stat Buf;
// 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
/* 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");
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();
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
*
##################################################################### */
/*}}}*/
// 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()
/*}}}*/
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)
// 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;
}
#include <apt-pkg/md5.h>
#include <apt-pkg/sha1.h>
-#include <apt-pkg/sha256.h>
+#include <apt-pkg/sha2.h>
#include <algorithm>
#include <vector>
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);};
};
--- /dev/null
+// 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;
+}
+ /*}}}*/
--- /dev/null
+// -*- 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
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/md5.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/macros.h>
#include <unistd.h>
#include <netinet/in.h> // For htonl
#include <inttypes.h>
-#include <config.h>
/*}}}*/
// byteSwap - Swap bytes in a buffer /*{{{*/
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 */
// 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;
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
}
MD5SumValue V;
- memcpy(V.Sum,buf,16);
+ V.Set((unsigned char *)buf);
return V;
}
/*}}}*/
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();
};
/*}}}*/
// 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 /*{{{*/
// ---------------------------------------------------------------------
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);
}
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)
}
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"));
}
}
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)
return;
}
- unsigned long EndOfFile = iSize;
+ unsigned long long EndOfFile = iSize;
iSize = WorkSpace;
Close(false);
if(ftruncate(Fd->Fd(),EndOfFile) < 0)
// 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);
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);
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
// 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
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());};
##################################################################### */
/*}}}*/
+#include <config.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/fileutl.h>
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 */
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) {
##################################################################### */
/*}}}*/
// 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;
/* 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;
// 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;
// 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();
}
/*}}}*/
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
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();
*/
/*}}} */
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/sha1.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/macros.h>
#include <string.h>
#include <unistd.h>
#include <inttypes.h>
-#include <config.h>
/*}}}*/
// SHA1Transform - Alters an existing SHA-1 hash /*{{{*/
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 */
}
/*}}}*/
-// 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 /*{{{*/
// ---------------------------------------------------------------------
/* */
// 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;
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;
-}
- /*}}}*/
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)));
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();
--- /dev/null
+// -*- 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
+++ /dev/null
-/*
- * 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;
-}
- /*}}}*/
-
-// -*- 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
--- /dev/null
+/*
+ * 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);
+}
+
--- /dev/null
+/*
+ * 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__ */
+
##################################################################### */
/*}}}*/
// 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>
#include <stdarg.h>
#include <iconv.h>
-#include "config.h"
+#include <apti18n.h>
using namespace std;
/*}}}*/
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
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]))
{
// 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)
// 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
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
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;
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 */
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 //
/* 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;
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
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);
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,
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/debindexfile.h>
#include <apt-pkg/debsrcrecords.h>
#include <apt-pkg/deblistparser.h>
{
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;
string FileName = IndexFile(Language);
pkgCache::PkgFileIterator File = Cache.FileBegin();
- for (; File.end() == false; File++)
+ for (; File.end() == false; ++File)
{
if (FileName != File.FileName())
continue;
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;
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;
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;
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;
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;
virtual unsigned long Size() const;
debSourcesIndex(string URI,string Dist,string Section,bool Trusted);
+ virtual ~debSourcesIndex() {};
};
#endif
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/deblistparser.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
}
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");
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;
*
* 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";
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);
}
if (ParseArchFlags == true)
{
- string arch = _config->Find("APT::Architecture");
string completeArch = CompleteArch(arch);
// Parse an architecture
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;
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;
}
// 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;
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
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;
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);
static const char *ConvertRelation(const char *I,unsigned int &Op);
debListParser(FileFd *File, string const &Arch = "");
+ virtual ~debListParser() {};
};
#endif
// ijones, walters
+#include <config.h>
#include <apt-pkg/debmetaindex.h>
#include <apt-pkg/debindexfile.h>
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() {
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;
// 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());
}
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;
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()));
}
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());
}
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()));
}
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. */
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
};
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;
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);
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/debrecords.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/error.h>
return Section.FindS("SHA1");
}
/*}}}*/
-// RecordParser::SHA1Hash - Return the archive hash /*{{{*/
+// RecordParser::SHA256Hash - Return the archive hash /*{{{*/
// ---------------------------------------------------------------------
/* */
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
{
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());
}
class debRecordParser : public pkgRecords::Parser
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
FileFd File;
pkgTagFile Tags;
pkgTagSection Section;
virtual string MD5Hash();
virtual string SHA1Hash();
virtual string SHA256Hash();
+ virtual string SHA512Hash();
virtual string SourcePkg();
virtual string SourceVer();
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
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/deblistparser.h>
#include <apt-pkg/debsrcrecords.h>
#include <apt-pkg/error.h>
class debSrcRecordParser : public pkgSrcRecords::Parser
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
FileFd Fd;
pkgTagFile Tags;
pkgTagSection Sect;
debSrcRecordParser(string const &File,pkgIndexFile const *Index)
: Parser(Index), Fd(File,FileFd::ReadOnlyGzip), Tags(&Fd,102400),
Buffer(0), BufSize(0) {}
- ~debSrcRecordParser();
+ virtual ~debSrcRecordParser();
};
#endif
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/debsystem.h>
#include <apt-pkg/debversion.h>
#include <apt-pkg/debindexfile.h>
#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;
}
/* */
debSystem::~debSystem()
{
- delete StatusFile;
+ delete d->StatusFile;
+ delete d;
}
/*}}}*/
// System::Lock - Get the lock /*{{{*/
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), "
// 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";
"run '%s' to correct the problem. "), cmd);
}
- LockCount++;
+ d->LockCount++;
return true;
}
/* */
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;
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;
/* */
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;
}
/*}}}*/
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;
}
#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();
pkgIndexFile *&Found) const;
debSystem();
- ~debSystem();
+ virtual ~debSystem();
};
extern debSystem debSys;
/*}}}*/
// Include Files /*{{{*/
#define APT_COMPATIBILITY 986
+#include <config.h>
#include <apt-pkg/debversion.h>
#include <apt-pkg/pkgcache.h>
##################################################################### */
/*}}}*/
// Includes /*{{{*/
+#include <config.h>
+
#include <apt-pkg/dpkgpm.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
#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
// ---------------------------------------------------------------------
/* */
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 /*{{{*/
/* */
pkgDPkgPM::~pkgDPkgPM()
{
+ delete d;
}
/*}}}*/
// DPkgPM::Install - Install a package /*{{{*/
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;
// 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)
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 /*{{{*/
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 /*{{{*/
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);
}
// 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;
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 /*{{{*/
// 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()
_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");
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
_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;
WriteHistoryTag("Downgrade",downgrade);
WriteHistoryTag("Remove",remove);
WriteHistoryTag("Purge",purge);
- fflush(history_out);
+ fflush(d->history_out);
}
return true;
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)
{
}
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;
}
// 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();
// 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;
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
// 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());
{
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;
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;
// 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)
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)
{
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");
// 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)
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
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/depcache.h>
#include <apt-pkg/version.h>
#include <apt-pkg/versionmatch.h>
#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
/* 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);
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");
// 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()) {
// 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. */
/*}}}*/
// 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];
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)
{
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];
// 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;
// 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];
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);
// 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 */
// Check that it is not already kept
if (P.Mode == ModeKeep)
- return;
+ return true;
if (Soft == true)
P.iFlags |= AutoKept;
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)
Update(Pkg);
AddSizes(Pkg);
+ return true;
}
/*}}}*/
// DepCache::IsDeleteOk - check if it is ok to remove this package /*{{{*/
// 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 */
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;
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;
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;
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
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 /*{{{*/
// 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];
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;
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
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;
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);
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;};
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:
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:
/** \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.
* \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
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);
};
--- /dev/null
+// -*- 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;
+}
+ /*}}}*/
--- /dev/null
+// -*- 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
--- /dev/null
+// -*- 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;
+}
+ /*}}}*/
--- /dev/null
+// -*- 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
--- /dev/null
+// -*- 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;
+}
+ /*}}}*/
--- /dev/null
+// -*- 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
--- /dev/null
+// -*- 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;
+}
+ /*}}}*/
--- /dev/null
+// -*- 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
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "indexcopy.h"
+#include<config.h>
#include <apt-pkg/error.h>
#include <apt-pkg/progress.h>
#include <apt-pkg/indexrecords.h>
#include <apt-pkg/md5.h>
#include <apt-pkg/cdrom.h>
-#include <apti18n.h>
#include <iostream>
#include <sstream>
#include <sys/types.h>
#include <fcntl.h>
#include <stdio.h>
+#include <stdlib.h>
+
+#include "indexcopy.h"
+#include <apti18n.h>
/*}}}*/
using namespace std;
pkgCdromStatus *log)
{
OpProgress *Progress = NULL;
- if (List.size() == 0)
+ if (List.empty() == true)
return true;
if(log)
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 &&
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;
if(Progress)
Progress->Progress(Parser.Offset());
string File;
- unsigned long Size;
+ unsigned long long Size;
if (GetFile(File,Size) == false)
{
fclose(TargetFl);
}
// Size match
- if ((unsigned)Buf.st_size != Size)
+ if ((unsigned long long)Buf.st_size != Size)
{
if (Debug == true)
clog << "Wrong Size: " << File << endl;
// 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");
// 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)
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;
}
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;
// 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
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"));
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");
vector<string> &List, pkgCdromStatus *log)
{
OpProgress *Progress = NULL;
- if (List.size() == 0)
+ if (List.empty() == true)
return true;
if(log)
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 &&
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;
this->Section = &Section;
string Prefix;
unsigned long Hits = 0;
- unsigned long Chop = 0;
while (Parser.Step(Section) == true)
{
if(Progress)
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)
{
class IndexCopy /*{{{*/
{
+ /** \brief dpointer placeholder (for later in case we need it) */
+ void *d;
+
protected:
pkgTagSection *Section;
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;
{
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 /*{{{*/
/*}}}*/
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);
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/indexfile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/aptconfiguration.h>
pkgIndexFile::Type::Type()
{
ItmList[GlobalListLen] = this;
- GlobalListLen++;
+ GlobalListLen++;
+ Label = NULL;
}
/*}}}*/
// Type::GetType - Locate the type by name /*{{{*/
// $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
{
string Name;
string Hash;
- size_t Size;
+ unsigned long long Size;
while (Start < End)
{
if (!parseSumData(Start, End, Name, Hash, Size))
}
// 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;
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;
}
}
/*}}}*/
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 = "";
if (EntryEnd == End)
return false;
- Size = strtol (Start, NULL, 10);
+ Size = strtoull (Start, NULL, 10);
/* Skip over intermediate blanks */
Start = EntryEnd;
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;
{
string MetaKeyFilename;
HashString Hash;
- size_t Size;
+ unsigned long long Size;
};
#endif
##################################################################### */
/*}}}*/
// 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
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;
// 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;
SUBDIR=apt-pkg
# Header location
-SUBDIRS = deb contrib
+SUBDIRS = deb edsp contrib
HEADER_TARGETDIRS = apt-pkg
# Bring in the default rules
# 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
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 \
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..
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)
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;
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/orderlist.h>
#include <apt-pkg/depcache.h>
#include <apt-pkg/error.h>
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;
{
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)
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)
{
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)
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;
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;
}
/*}}}*/
/* 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
if (Debug == true)
{
for (int j = 0; j != Depth; j++) clog << ' ';
- clog << "Visit " << Pkg.FullName() << endl;
+ clog << "Visit " << Pkg.FullName() << " from " << from << endl;
}
Depth++;
Loops are preprocessed and logged. */
bool pkgOrderList::DepUnPackCrit(DepIterator D)
{
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
{
if (D.Reverse() == true)
{
if (CheckDep(D) == true)
continue;
- if (VisitNode(D.ParentPkg()) == false)
+ if (VisitNode(D.ParentPkg(), "UnPackCrit") == false)
return false;
}
else
if (D.Reverse() == true)
return DepUnPackCrit(D);
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
{
if (D.IsCritical() == false)
continue;
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
bool pkgOrderList::DepUnPackDep(DepIterator D)
{
- for (; D.end() == false; D++)
+ for (; D.end() == false; ++D)
if (D.IsCritical() == true)
{
if (D.Reverse() == true)
if (IsMissing(D.ParentPkg()) == true)
continue;
- if (VisitNode(D.ParentPkg()) == false)
+ if (VisitNode(D.ParentPkg(), "UnPackDep-Parent") == false)
return false;
}
else
if (CheckDep(D) == true)
continue;
- if (VisitNode(D.TargetPkg()) == false)
+ if (VisitNode(D.TargetPkg(), "UnPackDep-Target") == false)
return false;
}
}
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;
{
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
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;
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;
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;
if (IsMissing(D.ParentPkg()) == true)
continue;
- if (VisitNode(D.ParentPkg()) == false)
+ if (VisitNode(D.ParentPkg(), "Remove-Parent") == false)
return false;
}
#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/macros.h>
class pkgDepCache;
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);
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/packagemanager.h>
#include <apt-pkg/orderlist.h>
#include <apt-pkg/depcache.h>
#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;
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();
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;
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))
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)
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)
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);
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);
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))
{
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;
return _error->Error("Couldn't configure pre-depend %s for %s, "
"probably a dependency cycle.",
End.TargetPkg().Name(),Pkg.Name());
- Start++;
+ ++Start;
}
else
break;
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) {
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);
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)
{
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/pkgcache.h>
#include <apt-pkg/policy.h>
#include <apt-pkg/version.h>
#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;
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 /*{{{*/
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)
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);
}
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);
}
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)
// 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())
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;
}
// 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++;
/* 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;
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;
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
{
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;
{
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();
// 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)
{
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)
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();
};
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
/*}}}*/
// Include Files /*{{{*/
#define APT_COMPATIBILITY 986
+#include <config.h>
#include <apt-pkg/pkgcachegen.h>
#include <apt-pkg/error.h>
#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;
return;
Cache.HeaderP->Dirty = false;
+ Cache.HeaderP->CacheFileSize = Map.Size();
Map.Sync(0,sizeof(pkgCache::Header));
}
/*}}}*/
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;
// 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;
for (Desc = Ver.DescriptionList();
Desc.end() == false;
- LastDesc = &Desc->NextDesc, Desc++)
+ LastDesc = &Desc->NextDesc, ++Desc)
{
if (MD5SumValue(Desc.md5()) == CurMd5)
{
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())
{
// 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();
// 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;
// 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();
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
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
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;
/* 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
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);
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() << ": ";
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;
FileIterator Start, FileIterator End)
{
FileIterator I;
- for (I = Start; I != End; I++)
+ for (I = Start; I != End; ++I)
{
if ((*I)->HasPackages() == false)
continue;
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)
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);
}
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"));
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);
// 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)
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);
##################################################################### */
/*}}}*/
// 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 /*{{{*/
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)
#include <apt-pkg/pkgcache.h>
-#include <apt-pkg/fileutl.h>
#include <vector>
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);
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();};
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;};
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/policy.h>
#include <cassert>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/policy.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/tagfile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/sptr.h>
-#include <apti18n.h>
-
#include <iostream>
#include <sstream>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
// 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();
}
/*}}}*/
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)
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)
{
}
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;
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)
}
return 0;
+}
+signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &File)
+{
+ return PFPriority[File->ID];
}
/*}}}*/
// PreferenceSection class - Overriding the default TrimRecord method /*{{{*/
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;
// 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);
##################################################################### */
/*}}}*/
// 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;
/* */
pkgSourceList::~pkgSourceList()
{
- for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++)
+ for (const_iterator I = SrcList.begin(); I != SrcList.end(); ++I)
delete *I;
}
/*}}}*/
/* */
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());
}
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)
{
/* */
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;
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;
+}
+ /*}}}*/
pkgIndexFile *&Found) const;
bool GetIndexes(pkgAcquire *Owner, bool GetAll=false) const;
+ // query last-modified time
+ time_t GetLastModifiedTime();
+
pkgSourceList();
pkgSourceList(string File);
~pkgSourceList();
##################################################################### */
/*}}}*/
// 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 /*{{{*/
/* 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)
{
Current = Files.begin();
for (vector<Parser*>::iterator I = Files.begin();
- I != Files.end(); I++)
+ I != Files.end(); ++I)
(*I)->Restart();
return true;
{
if (_error->PendingError() == true)
return 0;
- Current++;
+ ++Current;
if (Current == Files.end())
return 0;
}
// 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;
}
};
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;
Parser *Find(const char *Package,bool const &SrcOnly = false);
pkgSrcRecords(pkgSourceList &List);
- ~pkgSrcRecords();
+ virtual ~pkgSrcRecords();
};
#endif
##################################################################### */
/*}}}*/
// 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();
}
/*}}}*/
/* */
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 /*{{{*/
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;
}
/*}}}*/
*/
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;
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;
}
// ---------------------------------------------------------------------
/* 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;
}
"MD5Sum",
"SHA1",
"SHA256",
+ "SHA512",
"MSDOS-Filename", // Obsolete
"Description",
0};
#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 */
return Res & 0xFF;
}
-
protected:
const char *Stop;
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();
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
+#include<config.h>
+
#include <iostream>
#include <apt-pkg/error.h>
#include <apt-pkg/vendor.h>
+#include<config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
#include <apti18n.h>
pkgVendorList::~pkgVendorList()
{
for (vector<const Vendor *>::const_iterator I = VendorList.begin();
- I != VendorList.end(); I++)
+ I != VendorList.end(); ++I)
delete *I;
}
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());
/*}}}*/
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))
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/version.h>
#include <apt-pkg/pkgcache.h>
##################################################################### */
/*}}}*/
// 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>
#include <fnmatch.h>
#include <sys/types.h>
#include <regex.h>
-
/*}}}*/
// VersionMatch::pkgVersionMatch - Constructor /*{{{*/
// 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
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)
{
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;
}
/* 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
# 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)
##################################################################### */
/*}}}*/
// 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;
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;
// 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)
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,"]");
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);
##################################################################### */
/*}}}*/
// 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>
#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;
if (Start == End)
break;
- Start++;
+ ++Start;
}
while (1);
if (Start == End)
break;
cout << " | ";
- Start++;
+ ++Start;
}
while (1);
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;
{
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
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)
}
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;
}
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)
{
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;
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
}
}
- 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;
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;
}
pkgCache::VerFileIterator VF = V.FileList();
- for (; VF.end() == false ; VF++)
+ for (; VF.end() == false ; ++VF)
if ((VF.File()->Flags & pkgCache::Flag::NotSource) == 0)
break;
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)
{
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;
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)
{
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)
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;
// 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;
/* 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;
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)
{
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)
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;
// 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;
/* 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;
// 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)
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)
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."));
if (CmdL.FileList[1] != 0)
{
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
{
if (All == false && I->FirstPackage == 0)
continue;
}
// Show all pkgs
- for (;I.end() != true; I++)
+ for (;I.end() != true; ++I)
{
if (All == false && I->FirstPackage == 0)
continue;
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;
// 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;
// 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;
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)
// }
// 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())
{
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/cmndline.h>
#include <apt-pkg/error.h>
#include <apt-pkg/init.h>
#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>
#include <dirent.h>
#include <unistd.h>
#include <stdio.h>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/cmndline.h>
#include <apt-pkg/error.h>
#include <apt-pkg/init.h>
#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;
--- /dev/null
+// -*- 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);
+}
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include<config.h>
+
#include <apt-pkg/init.h>
#include <apt-pkg/cmndline.h>
#include <apt-pkg/pkgcache.h>
#include <apt-pkg/error.h>
#include <apt-pkg/strutl.h>
#include <apt-pkg/fileutl.h>
-
+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <fstream>
#include <locale.h>
-#include <config.h>
#include <apti18n.h>
#include "apt-extracttemplates.h"
/*}}}*/
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#define _LARGEFILE_SOURCE
-#define _LARGEFILE64_SOURCE
+#include <config.h>
#include <apt-pkg/aptconfiguration.h>
#include <apt-pkg/error.h>
#include <apt-pkg/md5.h>
#include <apt-pkg/versionmatch.h>
-#include <config.h>
-#include <apti18n.h>
-
#include "acqprogress.h"
#include <set>
#include <sys/wait.h>
#include <sstream>
-#define statfs statfs64
-#define statvfs statvfs64
+#include <apti18n.h>
/*}}}*/
#define RAMFS_MAGIC 0x858458f6
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));
if (Start == End)
break;
- Start++;
+ ++Start;
}
}
}
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 &&
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++;
}
// 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
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)
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)) {};
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;
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);
}
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);
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;
{
if ((*I)->Local == true)
{
- I++;
+ ++I;
continue;
}
// 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)
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);
// 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)
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)
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;
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;
// 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 {
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))
{
// Call the scored problem resolver
Fix->InstallProtect();
- if (Fix->Resolve(true) == false)
- _error->Discard();
+ Fix->Resolve(true);
delete Fix;
}
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;
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() &&
if (Start >= End)
break;
- Start++;
+ ++Start;
}
if(foundInstalledInOrGroup == false)
// 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 */
/* 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 */
}
// 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 ||
// 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)
{
/* */
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;
}
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;
}
/*}}}*/
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);
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() != "")
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;
// 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()];
// 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")
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;
// 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)
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());
// 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)
{
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;
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;
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)
(*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)
{
{'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},
{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}};
--- /dev/null
+// -*- 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;
+}
+ /*}}}*/
# 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
#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"
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/cachefile.h>
#include <apt-pkg/cacheset.h>
#include <apt-pkg/cmndline.h>
#include <apt-pkg/init.h>
#include <apt-pkg/strutl.h>
-#include <config.h>
-#include <apti18n.h>
-
#include <algorithm>
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/tagfile.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
#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;
// 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)
#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)
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)
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
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
README.progress-reporting
README.MultiArch
+doc/external-dependency-solver-protocol.txt
-usr/lib
+usr/lib/apt/solvers
usr/bin
-bin/libapt-inst*.so.* usr/lib/
+
--- /dev/null
+usr/bin/apt-internal-solver usr/lib/apt/solvers/apt
+++ /dev/null
-libapt-inst.so.1.2 libapt-inst1.2
-| apt-utils #MINVER#
-* Build-Depends-Package: libapt-pkg-dev
- (c++)"ExtractTar::Done(bool)@Base" 0.8.0
- (c++)"ExtractTar::Go(pkgDirStream&)@Base" 0.8.0
- (c++)"ExtractTar::StartGzip()@Base" 0.8.0
- (c++)"ExtractTar::ExtractTar(FileFd&, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"ExtractTar::~ExtractTar()@Base" 0.8.0
- (c++)"debDebFile::GotoMember(char const*)@Base" 0.8.0
- (c++)"debDebFile::CheckMember(char const*)@Base" 0.8.0
- (c++)"debDebFile::MergeControl(pkgDataBase&)@Base" 0.8.0
- (c++)"debDebFile::ControlExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
- (c++)"debDebFile::ControlExtract::~ControlExtract()@Base" 0.8.0
- (c++)"debDebFile::ExtractArchive(pkgDirStream&)@Base" 0.8.0
- (c++)"debDebFile::ExtractControl(pkgDataBase&)@Base" 0.8.0
- (c++)"debDebFile::MemControlExtract::TakeControl(void const*, unsigned long)@Base" 0.8.0
- (c++)"debDebFile::MemControlExtract::Read(debDebFile&)@Base" 0.8.0
- (c++)"debDebFile::MemControlExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
- (c++)"debDebFile::MemControlExtract::Process(pkgDirStream::Item&, unsigned char const*, unsigned long, unsigned long)@Base" 0.8.0
- (c++)"debDebFile::MemControlExtract::~MemControlExtract()@Base" 0.8.0
- (c++)"debDebFile::debDebFile(FileFd&)@Base" 0.8.0
- (c++)"pkgExtract::FinishedFile(pkgDirStream::Item&, int)@Base" 0.8.0
- (c++)"pkgExtract::CheckDirReplace(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)@Base" 0.8.0
- (c++)"pkgExtract::HandleOverwrites(pkgFLCache::NodeIterator, bool)@Base" 0.8.0
- (c++)"pkgExtract::Fail(pkgDirStream::Item&, int)@Base" 0.8.0
- (c++)"pkgExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
- (c++)"pkgExtract::Aborted()@Base" 0.8.0
- (c++)"pkgExtract::Finished()@Base" 0.8.0
- (c++)"pkgExtract::pkgExtract(pkgFLCache&, pkgCache::VerIterator)@Base" 0.8.0
- (c++)"pkgExtract::~pkgExtract()@Base" 0.8.0
- (c++)"pkgFLCache::TreeLookup(unsigned int*, char const*, char const*, unsigned long, unsigned int*, bool)@Base" 0.8.0
- (c++)"pkgFLCache::AddConfFile(char const*, char const*, pkgFLCache::PkgIterator const&, unsigned char const*)@Base" 0.8.0
- (c++)"pkgFLCache::AddDiversion(pkgFLCache::PkgIterator const&, char const*, char const*)@Base" 0.8.0
- (c++)"pkgFLCache::BeginDiverLoad()@Base" 0.8.0
- (c++)"pkgFLCache::FinishDiverLoad()@Base" 0.8.0
- (c++)"pkgFLCache::GetPkg(char const*, char const*, bool)@Base" 0.8.0
- (c++)"pkgFLCache::Header::Header()@Base" 0.8.0
- (c++)"pkgFLCache::GetNode(char const*, char const*, unsigned int, bool, bool)@Base" 0.8.0
- (c++)"pkgFLCache::DropNode(unsigned int)@Base" 0.8.0
- (c++)"pkgFLCache::HashNode(pkgFLCache::NodeIterator const&)@Base" 0.8.0
- (c++)"pkgFLCache::PrintTree(unsigned int, unsigned long)@Base" 0.8.0
- (c++)"pkgFLCache::pkgFLCache(DynamicMMap&)@Base" 0.8.0
- (c++)"pkgDataBase::GetMetaTmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
- (c++)"pkgDataBase::~pkgDataBase()@Base" 0.8.0
- (c++)"pkgDirStream::FinishedFile(pkgDirStream::Item&, int)@Base" 0.8.0
- (c++)"pkgDirStream::Fail(pkgDirStream::Item&, int)@Base" 0.8.0
- (c++)"pkgDirStream::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
- (c++)"pkgDirStream::Process(pkgDirStream::Item&, unsigned char const*, unsigned long, unsigned long)@Base" 0.8.0
- (c++)"pkgDirStream::~pkgDirStream()@Base" 0.8.0
- (c++|optional)"debListParser::~debListParser()@Base" 0.8.0
- (c++|optional)"pkgCacheGenerator::ListParser::CollectFileProvides(pkgCache&, pkgCache::VerIterator&)@Base" 0.8.0
- (c++|optional)"pkgCacheGenerator::ListParser::~ListParser()@Base" 0.8.0
- (c++|optional)"pkgCache::DepIterator::operator++(int)@Base" 0.8.0
- (c++|optional)"pkgCache::DepIterator::operator++()@Base" 0.8.0
- (c++|optional)"pkgCache::VerIterator::operator++(int)@Base" 0.8.0
- (c++|optional)"pkgCache::VerIterator::operator++()@Base" 0.8.0
- (c++)"ARArchive::LoadHeaders()@Base" 0.8.0
- (c++)"ARArchive::ARArchive(FileFd&)@Base" 0.8.0
- (c++)"ARArchive::~ARArchive()@Base" 0.8.0
- (c++)"debDpkgDB::InitMetaTmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
- (c++)"debDpkgDB::LoadChanges()@Base" 0.8.0
- (c++)"debDpkgDB::ReadConfFiles()@Base" 0.8.0
- (c++)"debDpkgDB::ReadyFileList(OpProgress&)@Base" 0.8.0
- (c++)"debDpkgDB::ReadyPkgCache(OpProgress&)@Base" 0.8.0
- (c++)"debDpkgDB::ReadDiversions()@Base" 0.8.0
- (c++)"debDpkgDB::ReadFList(OpProgress&)@Base" 0.8.0
- (c++)"debDpkgDB::debDpkgDB()@Base" 0.8.0
- (c++)"debDpkgDB::~debDpkgDB()@Base" 0.8.0
- (c++)"pkgFLCache::NodeIterator::RealPackage() const@Base" 0.8.0
- (c++)"pkgFLCache::Header::CheckSizes(pkgFLCache::Header&) const@Base" 0.8.0
- (c++|optional)"pkgCache::DepIterator::OwnerPointer() const@Base" 0.8.0
- (c++|optional)"pkgCache::VerIterator::OwnerPointer() const@Base" 0.8.0
- (c++)"ARArchive::FindMember(char const*) const@Base" 0.8.0
- (c++)"typeinfo for ExtractTar@Base" 0.8.0
- (c++)"typeinfo for pkgExtract@Base" 0.8.0
- (c++)"typeinfo for pkgDataBase@Base" 0.8.0
- (c++)"typeinfo for pkgDirStream@Base" 0.8.0
- (c++)"typeinfo for debDpkgDB@Base" 0.8.0
- (c++)"typeinfo for debDebFile::ControlExtract@Base" 0.8.0
- (c++)"typeinfo for debDebFile::MemControlExtract@Base" 0.8.0
- (c++|optional)"typeinfo for pkgCacheGenerator::ListParser@Base" 0.8.0
- (c++|optional)"typeinfo for pkgCache::DepIterator@Base" 0.8.0
- (c++|optional)"typeinfo for pkgCache::VerIterator@Base" 0.8.0
- (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
- (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
- (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
- (c++)"typeinfo name for ExtractTar@Base" 0.8.0
- (c++)"typeinfo name for pkgExtract@Base" 0.8.0
- (c++)"typeinfo name for pkgDataBase@Base" 0.8.0
- (c++)"typeinfo name for pkgDirStream@Base" 0.8.0
- (c++)"typeinfo name for debDpkgDB@Base" 0.8.0
- (c++)"typeinfo name for debDebFile::ControlExtract@Base" 0.8.0
- (c++)"typeinfo name for debDebFile::MemControlExtract@Base" 0.8.0
- (c++|optional)"typeinfo name for pkgCacheGenerator::ListParser@Base" 0.8.0
- (c++|optional)"typeinfo name for pkgCache::DepIterator@Base" 0.8.0
- (c++|optional)"typeinfo name for pkgCache::VerIterator@Base" 0.8.0
- (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
- (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
- (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
- (c++)"vtable for ExtractTar@Base" 0.8.0
- (c++)"vtable for pkgExtract@Base" 0.8.0
- (c++)"vtable for pkgDataBase@Base" 0.8.0
- (c++)"vtable for pkgDirStream@Base" 0.8.0
- (c++)"vtable for debDpkgDB@Base" 0.8.0
- (c++)"vtable for debDebFile::ControlExtract@Base" 0.8.0
- (c++)"vtable for debDebFile::MemControlExtract@Base" 0.8.0
- (c++|optional)"vtable for pkgCacheGenerator::ListParser@Base" 0.8.0
- (c++|optional)"vtable for pkgCache::DepIterator@Base" 0.8.0
- (c++|optional)"vtable for pkgCache::VerIterator@Base" 0.8.0
- (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
- (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
- (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
-### gcc-4.4 specific
-# (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::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
- (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
-###
usr/bin
usr/lib/apt/methods
+usr/lib/apt/solvers
usr/lib/dpkg/methods/apt
etc/apt
etc/apt/apt.conf.d
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
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
;;
+++ /dev/null
-libapt-pkg.so.4.10 libapt-pkg4.10
-| apt #MINVER#
-* Build-Depends-Package: libapt-pkg-dev
- TFRewritePackageOrder@Base 0.8.0
- TFRewriteSourceOrder@Base 0.8.0
- (c++)"FileExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"IdentCdrom(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
- (c++)"ListUpdate(pkgAcquireStatus&, pkgSourceList&, int)@Base" 0.8.0
- (c++)"MountCdrom(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++)"ParseCWord(char const*&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
- (c++)"ReadPinDir(pkgPolicy&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"RunScripts(char const*)@Base" 0.8.0
- (c++)"SafeGetCWD()@Base" 0.8.0
- (c++)"parsenetrc(char*, char*, char*, char*)@Base" 0.8.0
- (c++)"QuoteString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@Base" 0.8.0
- (c++)"ReadPinFile(pkgPolicy&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"RegexChoice(RxChoiceList*, char const**, char const**)@Base" 0.8.0
- (c++)"SetNonBlock(int, bool)@Base" 0.8.0
- (c++)"TimeRFC1123(long)@Base" 0.8.0
- (c++)"flExtension(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"Base64Encode(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"ReadMessages(int, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)@Base" 0.8.0
- (c++)"SetCloseExec(int, bool)@Base" 0.8.0
- (c++)"StringToBool(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)@Base" 0.8.0
- (c++)"UnmountCdrom(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"_GetErrorObj()@Base" 0.8.0
- (c++)"pkgFixBroken(pkgDepCache&)@Base" 0.8.0
- (c++)"DeQuoteString(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)@Base" 0.8.0
- (c++)"DeQuoteString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"OutputInDepth(unsigned long, char const*)@Base" 0.8.0
- (c++)"ReadConfigDir(Configuration&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, unsigned int const&)@Base" 0.8.0
- (c++)"URItoFileName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"UTF8ToCodeset(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> >*)@Base" 0.8.0
- (c++)"pkgAllUpgrade(pkgDepCache&)@Base" 0.8.0
- (c++)"pkgInitConfig(Configuration&)@Base" 0.8.0
- (c++)"pkgInitSystem(Configuration&, pkgSystem*&)@Base" 0.8.0
- (c++)"safe_snprintf(char*, char*, char const*, ...)@Base" 0.8.0
- (c++)"stringcasecmp(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char const*, char const*)@Base" 0.8.0
- (c++)"stringcasecmp(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)@Base" 0.8.0
- (c++)"stringcasecmp(char const*, char const*, char const*, char const*)@Base" 0.8.0
- (c++)"tolower_ascii(int)@Base" 0.8.0
- (c++)"ParseQuoteWord(char const*&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
- (c++)"ReadConfigFile(Configuration&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, unsigned int const&)@Base" 0.8.0
- (c++)"TokSplitString(char, char*, char**, unsigned long)@Base" 0.8.0
- (c++)"maybe_add_auth(URI&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgApplyStatus(pkgDepCache&)@Base" 0.8.0
- (c++)"pkgDistUpgrade(pkgDepCache&)@Base" 0.8.0
- (c++)"CheckDomainList(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++)"CreateDirectory(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++)"DirectoryExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"VectorizeString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const&)@Base" 0.8.0
- (c++)"pkgPrioSortList(pkgCache&, pkgCache::Version**)@Base" 0.8.0
- (c++)"FTPMDTMStrToTime(char const*, long&)@Base" 0.8.0
- (c++)"RFC1123StrToTime(char const*, long&)@Base" 0.8.0
- (c++)"pkgMakeStatusCache(pkgSourceList&, OpProgress&, MMap**, bool)@Base" 0.8.0
- (c++)"pkgMinimizeUpgrade(pkgDepCache&)@Base" 0.8.0
- (c++)"GetListOfFilesInDir(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<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&, bool const&)@Base" 0.8.0
- (c++)"GetListOfFilesInDir(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&, bool const&)@Base" 0.8.0
- (c++)"pkgMakeStatusCacheMem(pkgSourceList&, OpProgress&)@Base" 0.8.0
- (c++)"pkgMakeOnlyStatusCache(OpProgress&, DynamicMMap**)@Base" 0.8.0
- (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
- (c++)"StrToNum(char const*, unsigned long&, unsigned int, unsigned int)@Base" 0.8.0
- (c++)"SubstVar(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++)"SubstVar(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, SubstVar const*)@Base" 0.8.0
- (c++)"flNoLink(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"flNotDir(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"ioprintf(std::basic_ostream<char, std::char_traits<char> >&, char const*, ...)@Base" 0.8.0
- (c++)"IsMounted(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
- (c++)"LookupTag(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*)@Base" 0.8.0
- (c++)"SizeToStr(double)@Base" 0.8.0
- (c++)"StrToTime(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long&)@Base" 0.8.0
- (c++)"TFRewrite(_IO_FILE*, pkgTagSection const&, char const**, TFRewriteData*)@Base" 0.8.0
- (c++)"TimeToStr(unsigned long)@Base" 0.8.0
- (c++)"_strstrip(char*)@Base" 0.8.0
- (c++)"flCombine(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++)"flNotFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"stringcmp(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char const*, char const*)@Base" 0.8.0
- (c++)"stringcmp(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)@Base" 0.8.0
- (c++)"stringcmp(char const*, char const*, char const*, char const*)@Base" 0.8.0
- (c++)"strprintf(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*, ...)@Base" 0.8.0
- (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::DepIterator>::toReMap@Base" 0.8.0
- (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::GrpIterator>::toReMap@Base" 0.8.0
- (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::PkgIterator>::toReMap@Base" 0.8.0
- (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::PrvIterator>::toReMap@Base" 0.8.0
- (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::VerIterator>::toReMap@Base" 0.8.0
- (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::DescIterator>::toReMap@Base" 0.8.0
- (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::PkgFileIterator>::toReMap@Base" 0.8.0
- (c++)"HashString::SupportedHashes()@Base" 0.8.0
- (c++)"HashString::_SupportedHashes@Base" 0.8.0
- (c++)"HashString::HashString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"HashString::HashString(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++)"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
- (c++)"pkgAcquire::TotalNeeded()@Base" 0.8.0
- (c++)"pkgAcquire::MethodConfig::MethodConfig()@Base" 0.8.0
- (c++)"pkgAcquire::PartialPresent()@Base" 0.8.0
- (c++)"pkgAcquire::Add(pkgAcquire::Item*)@Base" 0.8.0
- (c++)"pkgAcquire::Add(pkgAcquire::Worker*)@Base" 0.8.0
- (c++)"pkgAcquire::Run(int)@Base" 0.8.0
- (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
- (c++)"pkgAcquire::Item::Finished()@Base" 0.8.0
- (c++)"pkgAcquire::Item::IsTrusted()@Base" 0.8.0
- (c++)"pkgAcquire::Item::ShortDesc()@Base" 0.8.0
- (c++)"pkgAcquire::Item::Item(pkgAcquire*)@Base" 0.8.0
- (c++)"pkgAcquire::Item::~Item()@Base" 0.8.0
- (c++)"pkgAcquire::Clean(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgAcquire::Queue::Bump()@Base" 0.8.0
- (c++)"pkgAcquire::Queue::Cycle()@Base" 0.8.0
- (c++)"pkgAcquire::Queue::Dequeue(pkgAcquire::Item*)@Base" 0.8.0
- (c++)"pkgAcquire::Queue::Enqueue(pkgAcquire::ItemDesc&)@Base" 0.8.0
- (c++)"pkgAcquire::Queue::Startup()@Base" 0.8.0
- (c++)"pkgAcquire::Queue::FindItem(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::Worker*)@Base" 0.8.0
- (c++)"pkgAcquire::Queue::ItemDone(pkgAcquire::Queue::QItem*)@Base" 0.8.0
- (c++)"pkgAcquire::Queue::Shutdown(bool)@Base" 0.8.0
- (c++)"pkgAcquire::Queue::Queue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire*)@Base" 0.8.0
- (c++)"pkgAcquire::Queue::~Queue()@Base" 0.8.0
- (c++)"pkgAcquire::Setup(pkgAcquireStatus*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"pkgAcquire::Remove(pkgAcquire::Item*)@Base" 0.8.0
- (c++)"pkgAcquire::Remove(pkgAcquire::Worker*)@Base" 0.8.0
- (c++)"pkgAcquire::RunFds(fd_set*, fd_set*)@Base" 0.8.0
- (c++)"pkgAcquire::SetFds(int&, fd_set*, fd_set*)@Base" 0.8.0
- (c++)"pkgAcquire::UriEnd()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::OutFdReady()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::MediaChange(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgAcquire::Worker::RunMessages()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::Capabilities(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgAcquire::Worker::ReadMessages()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::MethodFailure()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::SendConfiguration()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::Pulse()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::Start()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::ItemDone()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::Construct()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::InFdReady()@Base" 0.8.0
- (c++)"pkgAcquire::Worker::QueueItem(pkgAcquire::Queue::QItem*)@Base" 0.8.0
- (c++)"pkgAcquire::Worker::Worker(pkgAcquire::MethodConfig*)@Base" 0.8.0
- (c++)"pkgAcquire::Worker::Worker(pkgAcquire::Queue*, pkgAcquire::MethodConfig*, pkgAcquireStatus*)@Base" 0.8.0
- (c++)"pkgAcquire::Worker::~Worker()@Base" 0.8.0
- (c++)"pkgAcquire::Dequeue(pkgAcquire::Item*)@Base" 0.8.0
- (c++)"pkgAcquire::Enqueue(pkgAcquire::ItemDesc&)@Base" 0.8.0
- (c++)"pkgAcquire::ItemDesc::~ItemDesc()@Base" 0.8.0
- (c++)"pkgAcquire::Shutdown()@Base" 0.8.0
- (c++)"pkgAcquire::UriBegin()@Base" 0.8.0
- (c++)"pkgAcquire::GetConfig(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgAcquire::QueueName(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig const*&)@Base" 0.8.0
- (c++)"pkgAcquire::pkgAcquire(pkgAcquireStatus*)@Base" 0.8.0
- (c++)"pkgAcquire::pkgAcquire()@Base" 0.8.0
- (c++)"pkgAcquire::~pkgAcquire()@Base" 0.8.0
- (c++)"pkgRecords::Lookup(pkgCache::VerFileIterator const&)@Base" 0.8.0
- (c++)"pkgRecords::Lookup(pkgCache::DescFileIterator const&)@Base" 0.8.0
- (c++)"pkgRecords::Parser::Maintainer()@Base" 0.8.0
- (c++)"pkgRecords::Parser::SHA256Hash()@Base" 0.8.0
- (c++)"pkgRecords::Parser::Name()@Base" 0.8.0
- (c++)"pkgRecords::Parser::GetRec(char const*&, char const*&)@Base" 0.8.0
- (c++)"pkgRecords::Parser::MD5Hash()@Base" 0.8.0
- (c++)"pkgRecords::Parser::FileName()@Base" 0.8.0
- (c++)"pkgRecords::Parser::Homepage()@Base" 0.8.0
- (c++)"pkgRecords::Parser::LongDesc()@Base" 0.8.0
- (c++)"pkgRecords::Parser::SHA1Hash()@Base" 0.8.0
- (c++)"pkgRecords::Parser::ShortDesc()@Base" 0.8.0
- (c++)"pkgRecords::Parser::SourcePkg()@Base" 0.8.0
- (c++)"pkgRecords::Parser::SourceVer()@Base" 0.8.0
- (c++)"pkgRecords::Parser::~Parser()@Base" 0.8.0
- (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
- (c++)"CommandLine::SaveInConfig(unsigned int const&, char const* const*)@Base" 0.8.0
- (c++)"CommandLine::Parse(int, char const**)@Base" 0.8.0
- (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
- (c++)"DynamicMMap::DynamicMMap(FileFd&, unsigned long, unsigned long const&, unsigned long const&, unsigned long const&)@Base" 0.8.0
- (c++)"DynamicMMap::DynamicMMap(unsigned long, unsigned long const&, unsigned long const&, unsigned long const&)@Base" 0.8.0
- (c++)"DynamicMMap::~DynamicMMap()@Base" 0.8.0
- (c++)"GlobalError::DumpErrors(std::basic_ostream<char, std::char_traits<char> >&, GlobalError::MsgType const&, bool const&)@Base" 0.8.0
- (c++)"GlobalError::PopMessage(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
- (c++)"GlobalError::InsertErrno(GlobalError::MsgType const&, char const*, char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::PushToStack()@Base" 0.8.0
- (c++)"GlobalError::RevertToStack()@Base" 0.8.0
- (c++)"GlobalError::MergeWithStack()@Base" 0.8.0
- (c++)"GlobalError::Debug(char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::Errno(char const*, char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::Error(char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::Fatal(char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::DebugE(char const*, char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::FatalE(char const*, char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::Insert(GlobalError::MsgType const&, char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::Notice(char const*, ...)@Base" 0.8.0
- (c++)"GlobalError::Discard()@Base" 0.8.0
- (c++)"GlobalError::NoticeE(char const*, char const*, ...)@Base" 0.8.0
- (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
- (c++)"pkgAcqIndex::pkgAcqIndex(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, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgAcqIndex::~pkgAcqIndex()@Base" 0.8.0
- (c++)"pkgDepCache::IsDeleteOk(pkgCache::PkgIterator const&, bool, unsigned long, bool)@Base" 0.8.0
- (c++)"pkgDepCache::MarkDelete(pkgCache::PkgIterator const&, bool, unsigned long, bool)@Base" 0.8.0
- (c++)"pkgDepCache::StateCache::StripEpoch(char const*)@Base" 0.8.0
- (c++)"pkgDepCache::StateCache::Update(pkgCache::PkgIterator, pkgCache&)@Base" 0.8.0
- (c++)"pkgDepCache::ActionGroup::release()@Base" 0.8.0
- (c++)"pkgDepCache::ActionGroup::ActionGroup(pkgDepCache&)@Base" 0.8.0
- (c++)"pkgDepCache::ActionGroup::~ActionGroup()@Base" 0.8.0
- (c++)"pkgDepCache::IsInstallOk(pkgCache::PkgIterator const&, bool, unsigned long, bool)@Base" 0.8.0
- (c++)"pkgDepCache::MarkInstall(pkgCache::PkgIterator const&, bool, unsigned long, bool, bool)@Base" 0.8.0
- (c++)"pkgDepCache::MarkPackage(pkgCache::PkgIterator const&, pkgCache::VerIterator const&, bool const&, bool const&)@Base" 0.8.0
- (c++)"pkgDepCache::MarkRequired(pkgDepCache::InRootSetFunc&)@Base" 0.8.0
- (c++)"pkgDepCache::SetReInstall(pkgCache::PkgIterator const&, bool)@Base" 0.8.0
- (c++)"pkgDepCache::VersionState(pkgCache::DepIterator, unsigned char, unsigned char, unsigned char)@Base" 0.8.0
- (c++)"pkgDepCache::BuildGroupOrs(pkgCache::VerIterator const&)@Base" 0.8.0
- (c++)"pkgDepCache::InRootSetFunc::InRootSet(pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"pkgDepCache::InRootSetFunc::~InRootSetFunc()@Base" 0.8.0
- (c++)"pkgDepCache::readStateFile(OpProgress*)@Base" 0.8.0
- (c++)"pkgDepCache::GetRootSetFunc()@Base" 0.8.0
- (c++)"pkgDepCache::UpdateVerState(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgDepCache::writeStateFile(OpProgress*, bool)@Base" 0.8.0
- (c++)"pkgDepCache::DependencyState(pkgCache::DepIterator&)@Base" 0.8.0
- (c++)"pkgDepCache::DefaultRootSetFunc::InRootSet(pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"pkgDepCache::DefaultRootSetFunc::~DefaultRootSetFunc()@Base" 0.8.0
- (c++)"pkgDepCache::MarkFollowsSuggests()@Base" 0.8.0
- (c++)"pkgDepCache::MarkFollowsRecommends()@Base" 0.8.0
- (c++)"pkgDepCache::Init(OpProgress*)@Base" 0.8.0
- (c++)"pkgDepCache::Sweep()@Base" 0.8.0
- (c++)"pkgDepCache::Policy::IsImportantDep(pkgCache::DepIterator const&)@Base" 0.8.0
- (c++)"pkgDepCache::Policy::GetCandidateVer(pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"pkgDepCache::Policy::~Policy()@Base" 0.8.0
- (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
- (c++)"pkgSimulate::Policy::GetCandidateVer(pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"pkgSimulate::Policy::~Policy()@Base" 0.8.0
- (c++)"pkgSimulate::Remove(pkgCache::PkgIterator, bool)@Base" 0.8.0
- (c++)"pkgSimulate::Install(pkgCache::PkgIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgSimulate::Describe(pkgCache::PkgIterator, std::basic_ostream<char, std::char_traits<char> >&, bool, bool)@Base" 0.8.0
- (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
- (c++)"indexRecords::Load(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"indexRecords::Lookup(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"indexRecords::MetaKeys()@Base" 0.8.0
- (c++)"indexRecords::indexRecords(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"indexRecords::indexRecords()@Base" 0.8.0
- (c++)"indexRecords::~indexRecords()@Base" 0.8.0
- (c++)"pkgAcqMethod::FetchResult::TakeHashes(Hashes&)@Base" 0.8.0
- (c++)"pkgAcqMethod::FetchResult::FetchResult()@Base" 0.8.0
- (c++)"pkgAcqMethod::Configuration(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgAcqMethod::Log(char const*, ...)@Base" 0.8.0
- (c++)"pkgAcqMethod::Run(bool)@Base" 0.8.0
- (c++)"pkgAcqMethod::Exit()@Base" 0.8.0
- (c++)"pkgAcqMethod::Fail(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)@Base" 0.8.0
- (c++)"pkgAcqMethod::Fail(bool)@Base" 0.8.0
- (c++)"pkgAcqMethod::Fetch(pkgAcqMethod::FetchItem*)@Base" 0.8.0
- (c++)"pkgAcqMethod::Status(char const*, ...)@Base" 0.8.0
- (c++)"pkgAcqMethod::URIDone(pkgAcqMethod::FetchResult&, pkgAcqMethod::FetchResult*)@Base" 0.8.0
- (c++)"pkgAcqMethod::Redirect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"pkgAcqMethod::URIStart(pkgAcqMethod::FetchResult&)@Base" 0.8.0
- (c++)"pkgAcqMethod::MediaFail(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++)"pkgAcqMethod::pkgAcqMethod(char const*, unsigned long)@Base" 0.8.0
- (c++)"pkgAcqMethod::~pkgAcqMethod()@Base" 0.8.0
- (c++)"pkgCacheFile::BuildCaches(OpProgress*, bool)@Base" 0.8.0
- (c++)"pkgCacheFile::BuildPolicy(OpProgress*)@Base" 0.8.0
- (c++)"pkgCacheFile::BuildDepCache(OpProgress*)@Base" 0.8.0
- (c++)"pkgCacheFile::BuildSourceList(OpProgress*)@Base" 0.8.0
- (c++)"pkgCacheFile::Open(OpProgress*, bool)@Base" 0.8.0
- (c++)"pkgCacheFile::Close()@Base" 0.8.0
- (c++)"pkgCacheFile::pkgCacheFile()@Base" 0.8.0
- (c++)"pkgCacheFile::~pkgCacheFile()@Base" 0.8.0
- (c++)"pkgIndexFile::LanguageCode()@Base" 0.8.0
- (c++)"pkgIndexFile::CheckLanguageCode(char const*)@Base" 0.8.0
- (c++)"pkgIndexFile::TranslationsAvailable()@Base" 0.8.0
- (c++)"pkgIndexFile::Type::GlobalList@Base" 0.8.0
- (c++)"pkgIndexFile::Type::GlobalListLen@Base" 0.8.0
- (c++)"pkgIndexFile::Type::GetType(char const*)@Base" 0.8.0
- (c++)"pkgIndexFile::Type::Type()@Base" 0.8.0
- (c++)"pkgIndexFile::Type::~Type()@Base" 0.8.0
- (c++)"pkgIndexFile::~pkgIndexFile()@Base" 0.8.0
- (c++)"pkgOrderList::VisitRDeps(bool (pkgOrderList::*)(pkgCache::DepIterator), pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgOrderList::OrderUnpack(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)@Base" 0.8.0
- (c++)"pkgOrderList::DepConfigure(pkgCache::DepIterator)@Base" 0.8.0
- (c++)"pkgOrderList::DepUnPackDep(pkgCache::DepIterator)@Base" 0.8.0
- (c++)"pkgOrderList::DepUnPackPre(pkgCache::DepIterator)@Base" 0.8.0
- (c++)"pkgOrderList::DepUnPackCrit(pkgCache::DepIterator)@Base" 0.8.0
- (c++)"pkgOrderList::DepUnPackPreD(pkgCache::DepIterator)@Base" 0.8.0
- (c++)"pkgOrderList::OrderCompareA(void const*, void const*)@Base" 0.8.0
- (c++)"pkgOrderList::OrderCompareB(void const*, void const*)@Base" 0.8.0
- (c++)"pkgOrderList::OrderCritical()@Base" 0.8.0
- (c++)"pkgOrderList::VisitProvides(pkgCache::DepIterator, bool)@Base" 0.8.0
- (c++)"pkgOrderList::OrderConfigure()@Base" 0.8.0
- (c++)"pkgOrderList::VisitRProvides(bool (pkgOrderList::*)(pkgCache::DepIterator), pkgCache::VerIterator)@Base" 0.8.0
- (c++)"pkgOrderList::Me@Base" 0.8.0
- (c++)"pkgOrderList::DoRun()@Base" 0.8.0
- (c++)"pkgOrderList::Score(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgOrderList::AddLoop(pkgCache::DepIterator)@Base" 0.8.0
- (c++)"pkgOrderList::FileCmp(pkgCache::PkgIterator, pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgOrderList::CheckDep(pkgCache::DepIterator)@Base" 0.8.0
- (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
- (c++)"Configuration::MatchAgainstConfig::MatchAgainstConfig(char const*)@Base" 0.8.0
- (c++)"Configuration::MatchAgainstConfig::~MatchAgainstConfig()@Base" 0.8.0
- (c++)"Configuration::Set(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"Configuration::Set(char const*, int const&)@Base" 0.8.0
- (c++)"Configuration::Dump(std::basic_ostream<char, std::char_traits<char> >&)@Base" 0.8.0
- (c++)"Configuration::Clear(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"Configuration::Clear(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)@Base" 0.8.0
- (c++)"Configuration::Clear(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++)"Configuration::CndSet(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"Configuration::Lookup(char const*, bool const&)@Base" 0.8.0
- (c++)"Configuration::Lookup(Configuration::Item*, char const*, unsigned long const&, bool const&)@Base" 0.8.0
- (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
- (c++)"debListParser::Description()@Base" 0.8.0
- (c++)"debListParser::ParseStatus(pkgCache::PkgIterator&, pkgCache::VerIterator&)@Base" 0.8.0
- (c++)"debListParser::VersionHash()@Base" 0.8.0
- (c++)"debListParser::Architecture()@Base" 0.8.0
- (c++)"debListParser::ParseDepends(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&, bool const&, bool const&)@Base" 0.8.0
- (c++)"debListParser::ParseDepends(pkgCache::VerIterator&, char const*, unsigned int)@Base" 0.8.0
- (c++)"debListParser::ParseProvides(pkgCache::VerIterator&)@Base" 0.8.0
- (c++)"debListParser::ArchitectureAll()@Base" 0.8.0
- (c++)"debListParser::ConvertRelation(char const*, unsigned int&)@Base" 0.8.0
- (c++)"debListParser::Description_md5()@Base" 0.8.0
- (c++)"debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator&, FileFd&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"debListParser::UniqFindTagWrite(char const*)@Base" 0.8.0
- (c++)"debListParser::DescriptionLanguage()@Base" 0.8.0
- (c++)"debListParser::Size()@Base" 0.8.0
- (c++)"debListParser::Step()@Base" 0.8.0
- (c++)"debListParser::Offset()@Base" 0.8.0
- (c++)"debListParser::GetPrio(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"debListParser::Package()@Base" 0.8.0
- (c++)"debListParser::Version()@Base" 0.8.0
- (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
- (c++)"pkgAcqArchive::Finished()@Base" 0.8.0
- (c++)"pkgAcqArchive::IsTrusted()@Base" 0.8.0
- (c++)"pkgAcqArchive::QueueNext()@Base" 0.8.0
- (c++)"pkgAcqArchive::ShortDesc()@Base" 0.8.0
- (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
- (c++)"pkgSourceList::ReadAppend(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgSourceList::ReadMainList()@Base" 0.8.0
- (c++)"pkgSourceList::ReadSourceDir(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgSourceList::Read(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgSourceList::Type::GlobalList@Base" 0.8.0
- (c++)"pkgSourceList::Type::GlobalListLen@Base" 0.8.0
- (c++)"pkgSourceList::Type::GetType(char const*)@Base" 0.8.0
- (c++)"pkgSourceList::Type::Type()@Base" 0.8.0
- (c++)"pkgSourceList::Type::~Type()@Base" 0.8.0
- (c++)"pkgSourceList::Reset()@Base" 0.8.0
- (c++)"pkgSourceList::pkgSourceList(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgSourceList::pkgSourceList()@Base" 0.8.0
- (c++)"pkgSourceList::~pkgSourceList()@Base" 0.8.0
- (c++)"pkgSrcRecords::File::~File()@Base" 0.8.0
- (c++)"pkgSrcRecords::Find(char const*, bool const&)@Base" 0.8.0
- (c++)"pkgSrcRecords::Parser::BuildDepRec::~BuildDepRec()@Base" 0.8.0
- (c++)"pkgSrcRecords::Parser::BuildDepType(unsigned char const&)@Base" 0.8.0
- (c++)"pkgSrcRecords::Parser::~Parser()@Base" 0.8.0
- (c++)"pkgSrcRecords::Restart()@Base" 0.8.0
- (c++)"pkgSrcRecords::pkgSrcRecords(pkgSourceList&)@Base" 0.8.0
- (c++)"pkgSrcRecords::~pkgSrcRecords()@Base" 0.8.0
- (c++)"pkgTagSection::TrimRecord(bool, char const*&)@Base" 0.8.0
- (c++)"pkgTagSection::Scan(char const*, unsigned long)@Base" 0.8.0
- (c++)"pkgTagSection::Trim()@Base" 0.8.0
- (c++)"pkgVendorList::CreateList(Configuration&)@Base" 0.8.0
- (c++)"pkgVendorList::FindVendor(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)@Base" 0.8.0
- (c++)"pkgVendorList::ReadMainList()@Base" 0.8.0
- (c++)"pkgVendorList::LookupFingerprint(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgVendorList::Read(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgVendorList::~pkgVendorList()@Base" 0.8.0
- (c++)"OpTextProgress::Done()@Base" 0.8.0
- (c++)"OpTextProgress::Write(char const*)@Base" 0.8.0
- (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
- (c++)"debRecordParser::Jump(pkgCache::VerFileIterator const&)@Base" 0.8.0
- (c++)"debRecordParser::Jump(pkgCache::DescFileIterator const&)@Base" 0.8.0
- (c++)"debRecordParser::Name()@Base" 0.8.0
- (c++)"debRecordParser::GetRec(char const*&, char const*&)@Base" 0.8.0
- (c++)"debRecordParser::MD5Hash()@Base" 0.8.0
- (c++)"debRecordParser::FileName()@Base" 0.8.0
- (c++)"debRecordParser::Homepage()@Base" 0.8.0
- (c++)"debRecordParser::LongDesc()@Base" 0.8.0
- (c++)"debRecordParser::SHA1Hash()@Base" 0.8.0
- (c++)"debRecordParser::ShortDesc()@Base" 0.8.0
- (c++)"debRecordParser::SourcePkg()@Base" 0.8.0
- (c++)"debRecordParser::SourceVer()@Base" 0.8.0
- (c++)"debRecordParser::debRecordParser(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgCache&)@Base" 0.8.0
- (c++)"debRecordParser::~debRecordParser()@Base" 0.8.0
- (c++)"debReleaseIndex::GetIndexFiles()@Base" 0.8.0
- (c++)"debReleaseIndex::debSectionEntry::debSectionEntry(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&)@Base" 0.8.0
- (c++)"debReleaseIndex::PushSectionEntry(debReleaseIndex::debSectionEntry const*)@Base" 0.8.0
- (c++)"debReleaseIndex::PushSectionEntry(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, debReleaseIndex::debSectionEntry const*)@Base" 0.8.0
- (c++)"debReleaseIndex::PushSectionEntry(std::vector<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&, debReleaseIndex::debSectionEntry const*)@Base" 0.8.0
- (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&)@Base" 0.8.0
- (c++)"debReleaseIndex::~debReleaseIndex()@Base" 0.8.0
- (c++)"debSLTypeDebSrc::~debSLTypeDebSrc()@Base" 0.8.0
- (c++)"debSLTypeDebian::~debSLTypeDebian()@Base" 0.8.0
- (c++)"debSourcesIndex::debSourcesIndex(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> >, bool)@Base" 0.8.0
- (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
- (c++)"pkgAcqDiffIndex::~pkgAcqDiffIndex()@Base" 0.8.0
- (c++)"pkgAcqMetaIndex::QueueIndexes(bool)@Base" 0.8.0
- (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
- (c++)"pkgAcqMetaIndex::pkgAcqMetaIndex(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> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.0
- (c++)"pkgAcqMetaIndex::~pkgAcqMetaIndex()@Base" 0.8.0
- (c++)"pkgVersionMatch::ExpressionMatches(char const*, char const*)@Base" 0.8.0
- (c++)"pkgVersionMatch::ExpressionMatches(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@Base" 0.8.0
- (c++)"pkgVersionMatch::Find(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgVersionMatch::MatchVer(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)@Base" 0.8.0
- (c++)"pkgVersionMatch::FileMatch(pkgCache::PkgFileIterator)@Base" 0.8.0
- (c++)"pkgVersionMatch::pkgVersionMatch(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgVersionMatch::MatchType)@Base" 0.8.0
- (c++)"pkgVersionMatch::~pkgVersionMatch()@Base" 0.8.0
- (c++)"TranslationsCopy::CopyTranslations(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, pkgCdromStatus*)@Base" 0.8.0
- (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
- (c++)"pkgAcqIndexDiffs::pkgAcqIndexDiffs(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, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<DiffInfo, std::allocator<DiffInfo> >)@Base" 0.8.0
- (c++)"pkgAcqIndexDiffs::~pkgAcqIndexDiffs()@Base" 0.8.0
- (c++)"pkgAcqIndexTrans::Custom600Headers()@Base" 0.8.0
- (c++)"pkgAcqIndexTrans::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
- (c++)"pkgAcqIndexTrans::pkgAcqIndexTrans(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> >)@Base" 0.8.0
- (c++)"pkgAcqIndexTrans::~pkgAcqIndexTrans()@Base" 0.8.0
- (c++)"pkgAcquireStatus::Done(pkgAcquire::ItemDesc&)@Base" 0.8.0
- (c++)"pkgAcquireStatus::Fail(pkgAcquire::ItemDesc&)@Base" 0.8.0
- (c++)"pkgAcquireStatus::Stop()@Base" 0.8.0
- (c++)"pkgAcquireStatus::Fetch(pkgAcquire::ItemDesc&)@Base" 0.8.0
- (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
- (c++)"pkgArchiveCleaner::Go(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgCache&)@Base" 0.8.0
- (c++)"pkgCacheGenerator::ListParser::NewDepends(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&, unsigned int, unsigned int)@Base" 0.8.0
- (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
- (c++)"pkgCacheGenerator::SelectFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pkgIndexFile const&, unsigned long)@Base" 0.8.0
- (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
- (c++)"pkgCacheGenerator::WriteStringInMap(char const*, unsigned long const&)@Base" 0.8.0
- (c++)"pkgCacheGenerator::CreateDynamicMMap(FileFd*, unsigned long)@Base" 0.8.0
- (c++)"pkgCacheGenerator::MergeFileProvides(pkgCacheGenerator::ListParser&)@Base" 0.8.0
- (c++)"pkgCacheGenerator::MakeOnlyStatusCache(OpProgress*, DynamicMMap**)@Base" 0.8.0
- (c++)"pkgCacheGenerator::ReMap(void const*, void const*)@Base" 0.8.0
- (c++)"pkgCacheGenerator::Dynamic<pkgCache::DepIterator>::toReMap@Base" 0.8.0
- (c++)"pkgCacheGenerator::Dynamic<pkgCache::GrpIterator>::toReMap@Base" 0.8.0
- (c++)"pkgCacheGenerator::Dynamic<pkgCache::PkgIterator>::toReMap@Base" 0.8.0
- (c++)"pkgCacheGenerator::Dynamic<pkgCache::PrvIterator>::toReMap@Base" 0.8.0
- (c++)"pkgCacheGenerator::Dynamic<pkgCache::VerIterator>::toReMap@Base" 0.8.0
- (c++)"pkgCacheGenerator::Dynamic<pkgCache::DescIterator>::toReMap@Base" 0.8.0
- (c++)"pkgCacheGenerator::Dynamic<pkgCache::PkgFileIterator>::toReMap@Base" 0.8.0
- (c++)"pkgCacheGenerator::NewGroup(pkgCache::GrpIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser&, pkgCache::VerIterator*)@Base" 0.8.0
- (c++)"pkgCacheGenerator::pkgCacheGenerator(DynamicMMap*, OpProgress*)@Base" 0.8.0
- (c++)"pkgCacheGenerator::~pkgCacheGenerator()@Base" 0.8.0
- (c++)"pkgPackageManager::FixMissing()@Base" 0.8.0
- (c++)"pkgPackageManager::EarlyRemove(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgPackageManager::GetArchives(pkgAcquire*, pkgSourceList*, pkgRecords*)@Base" 0.8.0
- (c++)"pkgPackageManager::SmartRemove(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgPackageManager::ConfigureAll()@Base" 0.8.0
- (c++)"pkgPackageManager::ImmediateAdd(pkgCache::PkgIterator, bool, unsigned int const&)@Base" 0.8.0
- (c++)"pkgPackageManager::OrderInstall()@Base" 0.8.0
- (c++)"pkgPackageManager::DepAlwaysTrue(pkgCache::DepIterator)@Base" 0.8.0
- (c++)"pkgPackageManager::SmartConfigure(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgPackageManager::CheckRConflicts(pkgCache::PkgIterator, pkgCache::DepIterator, char const*)@Base" 0.8.0
- (c++)"pkgPackageManager::CreateOrderList()@Base" 0.8.0
- (c++)"pkgPackageManager::DoInstallPostFork(int)@Base" 0.8.0
- (c++)"pkgPackageManager::Go(int)@Base" 0.8.0
- (c++)"pkgPackageManager::Reset()@Base" 0.8.0
- (c++)"pkgPackageManager::DepAdd(pkgOrderList&, pkgCache::PkgIterator, int)@Base" 0.8.0
- (c++)"pkgPackageManager::Remove(pkgCache::PkgIterator, bool)@Base" 0.8.0
- (c++)"pkgPackageManager::Install(pkgCache::PkgIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgPackageManager::Configure(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgPackageManager::DoInstall(int)@Base" 0.8.0
- (c++)"pkgPackageManager::pkgPackageManager(pkgDepCache*)@Base" 0.8.0
- (c++)"pkgPackageManager::~pkgPackageManager()@Base" 0.8.0
- (c++)"debSrcRecordParser::BuildDepends(std::vector<pkgSrcRecords::Parser::BuildDepRec, std::allocator<pkgSrcRecords::Parser::BuildDepRec> >&, bool const&, bool const&)@Base" 0.8.0
- (c++)"debSrcRecordParser::Jump(unsigned long const&)@Base" 0.8.0
- (c++)"debSrcRecordParser::Step()@Base" 0.8.0
- (c++)"debSrcRecordParser::AsStr()@Base" 0.8.0
- (c++)"debSrcRecordParser::Files(std::vector<pkgSrcRecords::File, std::allocator<pkgSrcRecords::File> >&)@Base" 0.8.0
- (c++)"debSrcRecordParser::Offset()@Base" 0.8.0
- (c++)"debSrcRecordParser::Restart()@Base" 0.8.0
- (c++)"debSrcRecordParser::Binaries()@Base" 0.8.0
- (c++)"debSrcRecordParser::~debSrcRecordParser()@Base" 0.8.0
- (c++)"pkgProblemResolver::MakeScores()@Base" 0.8.0
- (c++)"pkgProblemResolver::ResolveByKeep()@Base" 0.8.0
- (c++)"pkgProblemResolver::InstallProtect()@Base" 0.8.0
- (c++)"pkgProblemResolver::This@Base" 0.8.0
- (c++)"pkgProblemResolver::Resolve(bool)@Base" 0.8.0
- (c++)"pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgProblemResolver::ScoreSort(void const*, void const*)@Base" 0.8.0
- (c++)"pkgProblemResolver::pkgProblemResolver(pkgDepCache*)@Base" 0.8.0
- (c++)"pkgProblemResolver::~pkgProblemResolver()@Base" 0.8.0
- (c++)"debVersioningSystem::CmpFragment(char const*, char const*, char const*, char const*)@Base" 0.8.0
- (c++)"debVersioningSystem::DoCmpVersion(char const*, char const*, char const*, char const*)@Base" 0.8.0
- (c++)"debVersioningSystem::DoCmpReleaseVer(char const*, char const*, char const*, char const*)@Base" 0.8.0
- (c++)"debVersioningSystem::UpstreamVersion(char const*)@Base" 0.8.0
- (c++)"debVersioningSystem::CheckDep(char const*, int, char const*)@Base" 0.8.0
- (c++)"debVersioningSystem::debVersioningSystem()@Base" 0.8.0
- (c++)"debVersioningSystem::~debVersioningSystem()@Base" 0.8.0
- (c++)"pkgUdevCdromDevices::Scan()@Base" 0.8.0
- (c++)"pkgUdevCdromDevices::Dlopen()@Base" 0.8.0
- (c++)"pkgUdevCdromDevices::pkgUdevCdromDevices()@Base" 0.8.0
- (c++)"pkgUdevCdromDevices::~pkgUdevCdromDevices()@Base" 0.8.0
- (c++)"pkgVersioningSystem::GlobalList@Base" 0.8.0
- (c++)"pkgVersioningSystem::GlobalListLen@Base" 0.8.0
- (c++)"pkgVersioningSystem::TestCompatibility(pkgVersioningSystem const&)@Base" 0.8.0
- (c++)"pkgVersioningSystem::GetVS(char const*)@Base" 0.8.0
- (c++)"pkgVersioningSystem::pkgVersioningSystem()@Base" 0.8.0
- (c++)"pkgVersioningSystem::~pkgVersioningSystem()@Base" 0.8.0
- (c++)"debTranslationsIndex::debTranslationsIndex(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> >, char const*)@Base" 0.8.0
- (c++)"debTranslationsIndex::~debTranslationsIndex()@Base" 0.8.0
- (c++)"APT::PackageSet::FromString(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::PackageSet::FromCommandLine(pkgCacheFile&, char const**, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::PackageSet::GroupedFromCommandLine(pkgCacheFile&, char const**, std::list<APT::PackageSet::Modifier, std::allocator<APT::PackageSet::Modifier> > const&, unsigned short const&, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::PackageSet::FromName(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::PackageSet::FromTask(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::PackageSet::FromRegEx(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::PackageSet::~PackageSet()@Base" 0.8.0
- (c++)"APT::VersionSet::FromString(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::VersionSet::Version const&, APT::CacheSetHelper&, bool const&)@Base" 0.8.0
- (c++)"APT::VersionSet::FromPackage(pkgCacheFile&, pkgCache::PkgIterator const&, APT::VersionSet::Version const&, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::VersionSet::FromCommandLine(pkgCacheFile&, char const**, APT::VersionSet::Version const&, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::VersionSet::getCandidateVer(pkgCacheFile&, pkgCache::PkgIterator const&, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::VersionSet::getInstalledVer(pkgCacheFile&, pkgCache::PkgIterator const&, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::VersionSet::GroupedFromCommandLine(pkgCacheFile&, char const**, std::list<APT::VersionSet::Modifier, std::allocator<APT::VersionSet::Modifier> > const&, unsigned short const&, APT::CacheSetHelper&)@Base" 0.8.0
- (c++)"APT::VersionSet::~VersionSet()@Base" 0.8.0
- (c++)"APT::CacheFilter::PackageNameMatchesRegEx::PackageNameMatchesRegEx(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"APT::CacheFilter::PackageNameMatchesRegEx::~PackageNameMatchesRegEx()@Base" 0.8.0
- (c++)"APT::CacheFilter::PackageNameMatchesRegEx::operator()(pkgCache::GrpIterator const&)@Base" 0.8.0
- (c++)"APT::CacheFilter::PackageNameMatchesRegEx::operator()(pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"APT::Configuration::getLanguages(bool const&, bool const&, char const**)@Base" 0.8.0
- (c++)"APT::Configuration::getArchitectures(bool const&)@Base" 0.8.0
- (c++)"APT::Configuration::checkArchitecture(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"APT::Configuration::getCompressionTypes(bool const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindTask(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindRegEx(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindAllVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindPackage(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindPkgName(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::showTaskSelection(APT::PackageSet const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::showRegExSelection(APT::PackageSet const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindNewestVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::showSelectedVersion(pkgCache::PkgIterator const&, pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindCandInstVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindInstCandVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindCandidateVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::canNotFindInstalledVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
- (c++)"APT::CacheSetHelper::~CacheSetHelper()@Base" 0.8.0
- (c++)"URI::NoUserPassword(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"URI::CopyFrom(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"URI::SiteOnly(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"URI::~URI()@Base" 0.8.0
- (c++)"URI::operator std::basic_string<char, std::char_traits<char>, std::allocator<char> >()@Base" 0.8.0
- (c++)"MMap::Map(FileFd&)@Base" 0.8.0
- (c++)"MMap::Sync(unsigned long, unsigned long)@Base" 0.8.0
- (c++)"MMap::Sync()@Base" 0.8.0
- (c++)"MMap::Close(bool)@Base" 0.8.0
- (c++)"MMap::MMap(FileFd&, unsigned long)@Base" 0.8.0
- (c++)"MMap::MMap(unsigned long)@Base" 0.8.0
- (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
- (c++)"DiffInfo::~DiffInfo()@Base" 0.8.0
- (c++)"pkgCache::CompTypeDeb(unsigned char)@Base" 0.8.0
- (c++)"pkgCache::DepIterator::GlobOr(pkgCache::DepIterator&, pkgCache::DepIterator&)@Base" 0.8.0
- (c++)"pkgCache::DepIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::DepIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::GrpIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::GrpIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::PkgIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::PkgIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::PrvIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::PrvIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::VerIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::VerIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::DescIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::DescIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::PkgFileIterator::IsOk()@Base" 0.8.0
- (c++)"pkgCache::PkgFileIterator::RelStr()@Base" 0.8.0
- (c++)"pkgCache::PkgFileIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::PkgFileIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::VerFileIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::VerFileIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::DescFileIterator::operator++(int)@Base" 0.8.0
- (c++)"pkgCache::DescFileIterator::operator++()@Base" 0.8.0
- (c++)"pkgCache::SingleArchFindPkg(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"pkgCache::ReMap(bool const&)@Base" 0.8.0
- (c++)"pkgCache::Header::Header()@Base" 0.8.0
- (c++)"pkgCache::DepType(unsigned char)@Base" 0.8.0
- (c++)"pkgCache::FindGrp(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"pkgCache::FindPkg(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"pkgCache::FindPkg(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++)"pkgCache::CompType(unsigned char)@Base" 0.8.0
- (c++)"pkgCache::Priority(unsigned char)@Base" 0.8.0
- (c++)"pkgCache::pkgCache(MMap*, bool)@Base" 0.8.0
- (c++)"pkgCache::~pkgCache()@Base" 0.8.0
- (c++)"pkgCdrom::DropRepeats(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, char const*)@Base" 0.8.0
- (c++)"pkgCdrom::FindPackages(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<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::vector<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::vector<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::vector<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::basic_string<char, std::char_traits<char>, std::allocator<char> >&, pkgCdromStatus*, unsigned int)@Base" 0.8.0
- (c++)"pkgCdrom::WriteDatabase(Configuration&)@Base" 0.8.0
- (c++)"pkgCdrom::DropBinaryArch(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)@Base" 0.8.0
- (c++)"pkgCdrom::WriteSourceList(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<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)@Base" 0.8.0
- (c++)"pkgCdrom::ReduceSourcelist(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)@Base" 0.8.0
- (c++)"pkgCdrom::Add(pkgCdromStatus*)@Base" 0.8.0
- (c++)"pkgCdrom::Ident(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, pkgCdromStatus*)@Base" 0.8.0
- (c++)"pkgCdrom::Score(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"IndexCopy::CopyPackages(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, pkgCdromStatus*)@Base" 0.8.0
- (c++)"IndexCopy::ReconstructChop(unsigned long&, 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++)"IndexCopy::ReconstructPrefix(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> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"IndexCopy::ConvertToSourceList(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++)"IndexCopy::ChopDirs(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)@Base" 0.8.0
- (c++)"IndexCopy::GrabFirst(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
- (c++)"IndexCopy::~IndexCopy()@Base" 0.8.0
- (c++)"SigVerify::CopyAndVerify(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<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::vector<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::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)@Base" 0.8.0
- (c++)"SigVerify::CopyMetaIndex(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> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"SigVerify::Verify(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, indexRecords*)@Base" 0.8.0
- (c++)"SigVerify::RunGPGV(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&, int*)@Base" 0.8.0
- (c++)"debSystem::Initialize(Configuration&)@Base" 0.8.0
- (c++)"debSystem::CheckUpdates()@Base" 0.8.0
- (c++)"debSystem::AddStatusFiles(std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> >&)@Base" 0.8.0
- (c++)"debSystem::ArchiveSupported(char const*)@Base" 0.8.0
- (c++)"debSystem::Lock()@Base" 0.8.0
- (c++)"debSystem::Score(Configuration const&)@Base" 0.8.0
- (c++)"debSystem::UnLock(bool)@Base" 0.8.0
- (c++)"debSystem::debSystem()@Base" 0.8.0
- (c++)"debSystem::~debSystem()@Base" 0.8.0
- (c++)"metaIndex::~metaIndex()@Base" 0.8.0
- (c++)"pkgDPkgPM::SendV2Pkgs(_IO_FILE*)@Base" 0.8.0
- (c++)"pkgDPkgPM::DoTerminalPty(int)@Base" 0.8.0
- (c++)"pkgDPkgPM::DoDpkgStatusFd(int, int)@Base" 0.8.0
- (c++)"pkgDPkgPM::WriteHistoryTag(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgDPkgPM::WriteApportReport(char const*, char const*)@Base" 0.8.0
- (c++)"pkgDPkgPM::RunScriptsWithPkgs(char const*)@Base" 0.8.0
- (c++)"pkgDPkgPM::ProcessDpkgStatusLine(int, char*)@Base" 0.8.0
- (c++)"pkgDPkgPM::handleDisappearAction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
- (c++)"pkgDPkgPM::Go(int)@Base" 0.8.0
- (c++)"pkgDPkgPM::Reset()@Base" 0.8.0
- (c++)"pkgDPkgPM::Remove(pkgCache::PkgIterator, bool)@Base" 0.8.0
- (c++)"pkgDPkgPM::DoStdin(int)@Base" 0.8.0
- (c++)"pkgDPkgPM::Install(pkgCache::PkgIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
- (c++)"pkgDPkgPM::OpenLog()@Base" 0.8.0
- (c++)"pkgDPkgPM::CloseLog()@Base" 0.8.0
- (c++)"pkgDPkgPM::Configure(pkgCache::PkgIterator)@Base" 0.8.0
- (c++)"pkgDPkgPM::pkgDPkgPM(pkgDepCache*)@Base" 0.8.0
- (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
- (c++)"pkgPolicy::CreatePin(pkgVersionMatch::MatchType, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short)@Base" 0.8.0
- (c++)"pkgPolicy::pkgPolicy(pkgCache*)@Base" 0.8.0
- (c++)"pkgPolicy::~pkgPolicy()@Base" 0.8.0
- (c++)"pkgSystem::GlobalList@Base" 0.8.0
- (c++)"pkgSystem::Initialize(Configuration&)@Base" 0.8.0
- (c++)"pkgSystem::GlobalListLen@Base" 0.8.0
- (c++)"pkgSystem::Score(Configuration const&)@Base" 0.8.0
- (c++)"pkgSystem::GetSystem(char const*)@Base" 0.8.0
- (c++)"pkgSystem::pkgSystem()@Base" 0.8.0
- (c++)"pkgSystem::~pkgSystem()@Base" 0.8.0
- (c++)"HashString::VerifyFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
- (c++)"HashString::empty() const@Base" 0.8.0
- (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
- (c++)"indexRecords::GetExpectedDist() const@Base" 0.8.0
- (c++)"indexRecords::Exists(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
- (c++)"indexRecords::GetDist() const@Base" 0.8.0
- (c++)"indexRecords::CheckDist(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
- (c++)"pkgIndexFile::ArchiveURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
- (c++)"pkgIndexFile::SourceInfo(pkgSrcRecords::Parser const&, pkgSrcRecords::File const&) const@Base" 0.8.0
- (c++)"pkgIndexFile::ArchiveInfo(pkgCache::VerIterator) const@Base" 0.8.0
- (c++)"pkgIndexFile::FindInCache(pkgCache&) const@Base" 0.8.0
- (c++)"pkgIndexFile::CreateSrcParser() const@Base" 0.8.0
- (c++)"pkgIndexFile::MergeFileProvides(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
- (c++)"pkgIndexFile::MergeFileProvides(pkgCacheGenerator&, OpProgress&) const@Base" 0.8.0
- (c++)"pkgIndexFile::Type::CreatePkgParser(pkgCache::PkgFileIterator) const@Base" 0.8.0
- (c++)"pkgIndexFile::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
- (c++)"pkgIndexFile::Merge(pkgCacheGenerator&, OpProgress&) const@Base" 0.8.0
- (c++)"Configuration::FindVector(char const*) const@Base" 0.8.0
- (c++)"Configuration::MatchAgainstConfig::Match(char const*) const@Base" 0.8.0
- (c++)"Configuration::Find(char const*, char const*) const@Base" 0.8.0
- (c++)"Configuration::Item::FullTag(Configuration::Item const*) const@Base" 0.8.0
- (c++)"Configuration::FindB(char const*, bool const&) const@Base" 0.8.0
- (c++)"Configuration::FindI(char const*, int const&) const@Base" 0.8.0
- (c++)"Configuration::Exists(char const*) const@Base" 0.8.0
- (c++)"Configuration::FindAny(char const*, char const*) const@Base" 0.8.0
- (c++)"Configuration::FindDir(char const*, char const*) const@Base" 0.8.0
- (c++)"Configuration::FindFile(char const*, char const*) const@Base" 0.8.0
- (c++)"Configuration::ExistsAny(char const*) const@Base" 0.8.0
- (c++)"pkgSourceList::GetIndexes(pkgAcquire*, bool) const@Base" 0.8.0
- (c++)"pkgSourceList::Type::FixupURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const@Base" 0.8.0
- (c++)"pkgSourceList::Type::ParseLine(std::vector<metaIndex*, std::allocator<metaIndex*> >&, char const*, unsigned long const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
- (c++)"pkgSourceList::FindIndex(pkgCache::PkgFileIterator, pkgIndexFile*&) const@Base" 0.8.0
- (c++)"pkgTagSection::Find(char const*, char const*&, char const*&) const@Base" 0.8.0
- (c++)"pkgTagSection::Find(char const*, unsigned int&) const@Base" 0.8.0
- (c++)"pkgTagSection::FindI(char const*, long) const@Base" 0.8.0
- (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
- (c++)"debStatusIndex::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
- (c++)"debStatusIndex::Exists() const@Base" 0.8.0
- (c++)"debStatusIndex::GetType() const@Base" 0.8.0
- (c++)"debStatusIndex::Describe(bool) const@Base" 0.8.0
- (c++)"debIFTypeStatus::CreatePkgParser(pkgCache::PkgFileIterator) const@Base" 0.8.0
- (c++)"debReleaseIndex::ArchiveURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
- (c++)"debReleaseIndex::GetIndexes(pkgAcquire*, bool const&) const@Base" 0.8.0
- (c++)"debReleaseIndex::MetaIndexURI(char const*) const@Base" 0.8.0
- (c++)"debReleaseIndex::MetaIndexFile(char const*) const@Base" 0.8.0
- (c++)"debReleaseIndex::MetaIndexInfo(char const*) const@Base" 0.8.0
- (c++)"debReleaseIndex::IndexURISuffix(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&) const@Base" 0.8.0
- (c++)"debReleaseIndex::SourceIndexURI(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
- (c++)"debReleaseIndex::ComputeIndexTargets() const@Base" 0.8.0
- (c++)"debReleaseIndex::SourceIndexURISuffix(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
- (c++)"debReleaseIndex::Info(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&) const@Base" 0.8.0
- (c++)"debReleaseIndex::IndexURI(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&) const@Base" 0.8.0
- (c++)"debReleaseIndex::IsTrusted() const@Base" 0.8.0
- (c++)"debSLTypeDebSrc::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++)"debSLTypeDebian::CreateItemInternal(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&, bool 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++)"debSourcesIndex::ArchiveURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
- (c++)"debSourcesIndex::SourceInfo(pkgSrcRecords::Parser const&, pkgSrcRecords::File const&) const@Base" 0.8.0
- (c++)"debSourcesIndex::HasPackages() const@Base" 0.8.0
- (c++)"debSourcesIndex::CreateSrcParser() const@Base" 0.8.0
- (c++)"debSourcesIndex::Info(char const*) const@Base" 0.8.0
- (c++)"debSourcesIndex::Size() const@Base" 0.8.0
- (c++)"debSourcesIndex::Exists() const@Base" 0.8.0
- (c++)"debSourcesIndex::GetType() const@Base" 0.8.0
- (c++)"debSourcesIndex::Describe(bool) const@Base" 0.8.0
- (c++)"debSourcesIndex::IndexURI(char const*) const@Base" 0.8.0
- (c++)"debPackagesIndex::ArchiveURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
- (c++)"debPackagesIndex::ArchiveInfo(pkgCache::VerIterator) const@Base" 0.8.0
- (c++)"debPackagesIndex::FindInCache(pkgCache&) const@Base" 0.8.0
- (c++)"debPackagesIndex::HasPackages() const@Base" 0.8.0
- (c++)"debPackagesIndex::Info(char const*) const@Base" 0.8.0
- (c++)"debPackagesIndex::Size() const@Base" 0.8.0
- (c++)"debPackagesIndex::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
- (c++)"debPackagesIndex::Exists() const@Base" 0.8.0
- (c++)"debPackagesIndex::GetType() const@Base" 0.8.0
- (c++)"debPackagesIndex::Describe(bool) const@Base" 0.8.0
- (c++)"debPackagesIndex::IndexURI(char const*) const@Base" 0.8.0
- (c++)"debSrcRecordParser::Maintainer() const@Base" 0.8.0
- (c++)"debSrcRecordParser::Package() const@Base" 0.8.0
- (c++)"debSrcRecordParser::Section() const@Base" 0.8.0
- (c++)"debSrcRecordParser::Version() const@Base" 0.8.0
- (c++)"debTranslationsIndex::GetIndexes(pkgAcquire*) const@Base" 0.8.0
- (c++)"debTranslationsIndex::FindInCache(pkgCache&) const@Base" 0.8.0
- (c++)"debTranslationsIndex::HasPackages() const@Base" 0.8.0
- (c++)"debTranslationsIndex::Info(char const*) const@Base" 0.8.0
- (c++)"debTranslationsIndex::Size() const@Base" 0.8.0
- (c++)"debTranslationsIndex::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
- (c++)"debTranslationsIndex::Exists() const@Base" 0.8.0
- (c++)"debTranslationsIndex::GetType() const@Base" 0.8.0
- (c++)"debTranslationsIndex::Describe(bool) const@Base" 0.8.0
- (c++)"debTranslationsIndex::IndexURI(char const*) const@Base" 0.8.0
- (c++)"Vendor::GetVendorID() const@Base" 0.8.0
- (c++)"Vendor::LookupFingerprint(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
- (c++)"pkgCache::DepIterator::AllTargets() const@Base" 0.8.0
- (c++)"pkgCache::DepIterator::IsCritical() const@Base" 0.8.0
- (c++)"pkgCache::DepIterator::OwnerPointer() const@Base" 0.8.0
- (c++)"pkgCache::DepIterator::SmartTargetPkg(pkgCache::PkgIterator&) const@Base" 0.8.0
- (c++)"pkgCache::GrpIterator::OwnerPointer() const@Base" 0.8.0
- (c++)"pkgCache::GrpIterator::FindPreferredPkg(bool const&) const@Base" 0.8.0
- (c++)"pkgCache::GrpIterator::FindPkg(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
- (c++)"pkgCache::GrpIterator::NextPkg(pkgCache::PkgIterator const&) const@Base" 0.8.0
- (c++)"pkgCache::PkgIterator::CurVersion() const@Base" 0.8.0
- (c++)"pkgCache::PkgIterator::CandVersion() const@Base" 0.8.0
- (c++)"pkgCache::PkgIterator::OwnerPointer() const@Base" 0.8.0
- (c++)"pkgCache::PkgIterator::State() const@Base" 0.8.0
- (c++)"pkgCache::PkgIterator::FullName(bool const&) const@Base" 0.8.0
- (c++)"pkgCache::PrvIterator::OwnerPointer() const@Base" 0.8.0
- (c++)"pkgCache::VerIterator::CompareVer(pkgCache::VerIterator const&) const@Base" 0.8.0
- (c++)"pkgCache::VerIterator::NewestFile() const@Base" 0.8.0
- (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
- (c++)"pkgCache::PkgFileIterator::OwnerPointer() const@Base" 0.8.0
- (c++)"pkgCache::VerFileIterator::OwnerPointer() const@Base" 0.8.0
- (c++)"pkgCache::DescFileIterator::OwnerPointer() const@Base" 0.8.0
- (c++)"pkgCache::sHash(char const*) const@Base" 0.8.0
- (c++)"pkgCache::sHash(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
- (c++)"pkgCache::Header::CheckSizes(pkgCache::Header&) const@Base" 0.8.0
- (c++)"debSystem::CreatePM(pkgDepCache*) const@Base" 0.8.0
- (c++)"debSystem::FindIndex(pkgCache::PkgFileIterator, pkgIndexFile*&) const@Base" 0.8.0
- (c++)"metaIndex::GetURI() const@Base" 0.8.0
- (c++)"metaIndex::GetDist() const@Base" 0.8.0
- (c++)"metaIndex::GetType() const@Base" 0.8.0
- (c++)"typeinfo for OpProgress@Base" 0.8.0
- (c++)"typeinfo for SourceCopy@Base" 0.8.0
- (c++)"typeinfo for pkgAcqFile@Base" 0.8.0
- (c++)"typeinfo for pkgAcquire@Base" 0.8.0
- (c++)"typeinfo for DynamicMMap@Base" 0.8.0
- (c++)"typeinfo for PackageCopy@Base" 0.8.0
- (c++)"typeinfo for pkgAcqIndex@Base" 0.8.0
- (c++)"typeinfo for pkgDepCache@Base" 0.8.0
- (c++)"typeinfo for pkgSimulate@Base" 0.8.0
- (c++)"typeinfo for debIFTypePkg@Base" 0.8.0
- (c++)"typeinfo for debIFTypeSrc@Base" 0.8.0
- (c++)"typeinfo for debSLTypeDeb@Base" 0.8.0
- (c++)"typeinfo for indexRecords@Base" 0.8.0
- (c++)"typeinfo for pkgAcqMethod@Base" 0.8.0
- (c++)"typeinfo for pkgCacheFile@Base" 0.8.0
- (c++)"typeinfo for pkgIndexFile@Base" 0.8.0
- (c++)"typeinfo for WeakPointable@Base" 0.8.0
- (c++)"typeinfo for debListParser@Base" 0.8.0
- (c++)"typeinfo for pkgAcqArchive@Base" 0.8.0
- (c++)"typeinfo for pkgAcqMetaSig@Base" 0.8.0
- (c++)"typeinfo for pkgTagSection@Base" 0.8.0
- (c++)"typeinfo for OpTextProgress@Base" 0.8.0
- (c++)"typeinfo for debIFTypeTrans@Base" 0.8.0
- (c++)"typeinfo for debStatusIndex@Base" 0.8.0
- (c++)"typeinfo for debIFTypeStatus@Base" 0.8.0
- (c++)"typeinfo for debRecordParser@Base" 0.8.0
- (c++)"typeinfo for debReleaseIndex@Base" 0.8.0
- (c++)"typeinfo for debSLTypeDebSrc@Base" 0.8.0
- (c++)"typeinfo for debSLTypeDebian@Base" 0.8.0
- (c++)"typeinfo for debSourcesIndex@Base" 0.8.0
- (c++)"typeinfo for pkgAcqDiffIndex@Base" 0.8.0
- (c++)"typeinfo for pkgAcqMetaIndex@Base" 0.8.0
- (c++)"typeinfo for debPackagesIndex@Base" 0.8.0
- (c++)"typeinfo for pkgAcqIndexDiffs@Base" 0.8.0
- (c++)"typeinfo for pkgAcqIndexTrans@Base" 0.8.0
- (c++)"typeinfo for pkgAcquireStatus@Base" 0.8.0
- (c++)"typeinfo for PreferenceSection@Base" 0.8.0
- (c++)"typeinfo for pkgPackageManager@Base" 0.8.0
- (c++)"typeinfo for debSrcRecordParser@Base" 0.8.0
- (c++)"typeinfo for debVersioningSystem@Base" 0.8.0
- (c++)"typeinfo for pkgUdevCdromDevices@Base" 0.8.0
- (c++)"typeinfo for pkgVersioningSystem@Base" 0.8.0
- (c++)"typeinfo for debTranslationsIndex@Base" 0.8.0
- (c++)"typeinfo for MMap@Base" 0.8.0
- (c++)"typeinfo for FileFd@Base" 0.8.0
- (c++)"typeinfo for Vendor@Base" 0.8.0
- (c++)"typeinfo for pkgCache@Base" 0.8.0
- (c++)"typeinfo for IndexCopy@Base" 0.8.0
- (c++)"typeinfo for debSystem@Base" 0.8.0
- (c++)"typeinfo for metaIndex@Base" 0.8.0
- (c++)"typeinfo for pkgDPkgPM@Base" 0.8.0
- (c++)"typeinfo for pkgPolicy@Base" 0.8.0
- (c++)"typeinfo for pkgSystem@Base" 0.8.0
- (c++)"typeinfo for pkgAcquire::Item@Base" 0.8.0
- (c++)"typeinfo for pkgRecords::Parser@Base" 0.8.0
- (c++)"typeinfo for pkgDepCache::InRootSetFunc@Base" 0.8.0
- (c++)"typeinfo for pkgDepCache::DefaultRootSetFunc@Base" 0.8.0
- (c++)"typeinfo for pkgDepCache::Policy@Base" 0.8.0
- (c++)"typeinfo for pkgSimulate::Policy@Base" 0.8.0
- (c++)"typeinfo for pkgIndexFile::Type@Base" 0.8.0
- (c++)"typeinfo for Configuration::MatchAgainstConfig@Base" 0.8.0
- (c++)"typeinfo for pkgSourceList::Type@Base" 0.8.0
- (c++)"typeinfo for pkgSrcRecords::Parser@Base" 0.8.0
- (c++)"typeinfo for pkgCacheGenerator::ListParser@Base" 0.8.0
- (c++)"typeinfo for APT::CacheSetHelper@Base" 0.8.0
- (c++)"typeinfo for pkgCache::DepIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::GrpIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::PkgIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::PrvIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::VerIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::DescIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::PkgFileIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::VerFileIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::DescFileIterator@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::Description, pkgCache::DescIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::PackageFile, pkgCache::PkgFileIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::Group, pkgCache::GrpIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::VerFile, pkgCache::VerFileIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::DescFile, pkgCache::DescFileIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Iterator<pkgCache::Provides, pkgCache::PrvIterator>@Base" 0.8.0
- (c++)"typeinfo for pkgCache::Namespace@Base" 0.8.0
- (c++)"typeinfo name for OpProgress@Base" 0.8.0
- (c++)"typeinfo name for SourceCopy@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqFile@Base" 0.8.0
- (c++)"typeinfo name for pkgAcquire@Base" 0.8.0
- (c++)"typeinfo name for DynamicMMap@Base" 0.8.0
- (c++)"typeinfo name for PackageCopy@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqIndex@Base" 0.8.0
- (c++)"typeinfo name for pkgDepCache@Base" 0.8.0
- (c++)"typeinfo name for pkgSimulate@Base" 0.8.0
- (c++)"typeinfo name for debIFTypePkg@Base" 0.8.0
- (c++)"typeinfo name for debIFTypeSrc@Base" 0.8.0
- (c++)"typeinfo name for debSLTypeDeb@Base" 0.8.0
- (c++)"typeinfo name for indexRecords@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqMethod@Base" 0.8.0
- (c++)"typeinfo name for pkgCacheFile@Base" 0.8.0
- (c++)"typeinfo name for pkgIndexFile@Base" 0.8.0
- (c++)"typeinfo name for WeakPointable@Base" 0.8.0
- (c++)"typeinfo name for debListParser@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqArchive@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqMetaSig@Base" 0.8.0
- (c++)"typeinfo name for pkgTagSection@Base" 0.8.0
- (c++)"typeinfo name for OpTextProgress@Base" 0.8.0
- (c++)"typeinfo name for debIFTypeTrans@Base" 0.8.0
- (c++)"typeinfo name for debStatusIndex@Base" 0.8.0
- (c++)"typeinfo name for debIFTypeStatus@Base" 0.8.0
- (c++)"typeinfo name for debRecordParser@Base" 0.8.0
- (c++)"typeinfo name for debReleaseIndex@Base" 0.8.0
- (c++)"typeinfo name for debSLTypeDebSrc@Base" 0.8.0
- (c++)"typeinfo name for debSLTypeDebian@Base" 0.8.0
- (c++)"typeinfo name for debSourcesIndex@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqDiffIndex@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqMetaIndex@Base" 0.8.0
- (c++)"typeinfo name for debPackagesIndex@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqIndexDiffs@Base" 0.8.0
- (c++)"typeinfo name for pkgAcqIndexTrans@Base" 0.8.0
- (c++)"typeinfo name for pkgAcquireStatus@Base" 0.8.0
- (c++)"typeinfo name for PreferenceSection@Base" 0.8.0
- (c++)"typeinfo name for pkgPackageManager@Base" 0.8.0
- (c++)"typeinfo name for debSrcRecordParser@Base" 0.8.0
- (c++)"typeinfo name for debVersioningSystem@Base" 0.8.0
- (c++)"typeinfo name for pkgUdevCdromDevices@Base" 0.8.0
- (c++)"typeinfo name for pkgVersioningSystem@Base" 0.8.0
- (c++)"typeinfo name for debTranslationsIndex@Base" 0.8.0
- (c++)"typeinfo name for MMap@Base" 0.8.0
- (c++)"typeinfo name for FileFd@Base" 0.8.0
- (c++)"typeinfo name for Vendor@Base" 0.8.0
- (c++)"typeinfo name for pkgCache@Base" 0.8.0
- (c++)"typeinfo name for IndexCopy@Base" 0.8.0
- (c++)"typeinfo name for debSystem@Base" 0.8.0
- (c++)"typeinfo name for metaIndex@Base" 0.8.0
- (c++)"typeinfo name for pkgDPkgPM@Base" 0.8.0
- (c++)"typeinfo name for pkgPolicy@Base" 0.8.0
- (c++)"typeinfo name for pkgSystem@Base" 0.8.0
- (c++)"typeinfo name for pkgAcquire::Item@Base" 0.8.0
- (c++)"typeinfo name for pkgRecords::Parser@Base" 0.8.0
- (c++)"typeinfo name for pkgDepCache::InRootSetFunc@Base" 0.8.0
- (c++)"typeinfo name for pkgDepCache::DefaultRootSetFunc@Base" 0.8.0
- (c++)"typeinfo name for pkgDepCache::Policy@Base" 0.8.0
- (c++)"typeinfo name for pkgSimulate::Policy@Base" 0.8.0
- (c++)"typeinfo name for pkgIndexFile::Type@Base" 0.8.0
- (c++)"typeinfo name for Configuration::MatchAgainstConfig@Base" 0.8.0
- (c++)"typeinfo name for pkgSourceList::Type@Base" 0.8.0
- (c++)"typeinfo name for pkgSrcRecords::Parser@Base" 0.8.0
- (c++)"typeinfo name for pkgCacheGenerator::ListParser@Base" 0.8.0
- (c++)"typeinfo name for APT::CacheSetHelper@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::DepIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::GrpIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::PkgIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::PrvIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::VerIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::DescIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::PkgFileIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::VerFileIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::DescFileIterator@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Description, pkgCache::DescIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::PackageFile, pkgCache::PkgFileIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Group, pkgCache::GrpIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::VerFile, pkgCache::VerFileIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::DescFile, pkgCache::DescFileIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Provides, pkgCache::PrvIterator>@Base" 0.8.0
- (c++)"typeinfo name for pkgCache::Namespace@Base" 0.8.0
- (c++)"vtable for OpProgress@Base" 0.8.0
- (c++)"vtable for SourceCopy@Base" 0.8.0
- (c++)"vtable for pkgAcqFile@Base" 0.8.0
- (c++)"vtable for pkgAcquire@Base" 0.8.0
- (c++)"vtable for DynamicMMap@Base" 0.8.0
- (c++)"vtable for PackageCopy@Base" 0.8.0
- (c++)"vtable for pkgAcqIndex@Base" 0.8.0
- (c++)"vtable for pkgDepCache@Base" 0.8.0
- (c++)"vtable for pkgSimulate@Base" 0.8.0
- (c++)"vtable for debIFTypePkg@Base" 0.8.0
- (c++)"vtable for debIFTypeSrc@Base" 0.8.0
- (c++)"vtable for debSLTypeDeb@Base" 0.8.0
- (c++)"vtable for indexRecords@Base" 0.8.0
- (c++)"vtable for pkgAcqMethod@Base" 0.8.0
- (c++)"vtable for pkgCacheFile@Base" 0.8.0
- (c++)"vtable for pkgIndexFile@Base" 0.8.0
- (c++)"vtable for debListParser@Base" 0.8.0
- (c++)"vtable for pkgAcqArchive@Base" 0.8.0
- (c++)"vtable for pkgAcqMetaSig@Base" 0.8.0
- (c++)"vtable for pkgTagSection@Base" 0.8.0
- (c++)"vtable for OpTextProgress@Base" 0.8.0
- (c++)"vtable for debIFTypeTrans@Base" 0.8.0
- (c++)"vtable for debStatusIndex@Base" 0.8.0
- (c++)"vtable for debIFTypeStatus@Base" 0.8.0
- (c++)"vtable for debRecordParser@Base" 0.8.0
- (c++)"vtable for debReleaseIndex@Base" 0.8.0
- (c++)"vtable for debSLTypeDebSrc@Base" 0.8.0
- (c++)"vtable for debSLTypeDebian@Base" 0.8.0
- (c++)"vtable for debSourcesIndex@Base" 0.8.0
- (c++)"vtable for pkgAcqDiffIndex@Base" 0.8.0
- (c++)"vtable for pkgAcqMetaIndex@Base" 0.8.0
- (c++)"vtable for debPackagesIndex@Base" 0.8.0
- (c++)"vtable for pkgAcqIndexDiffs@Base" 0.8.0
- (c++)"vtable for pkgAcqIndexTrans@Base" 0.8.0
- (c++)"vtable for pkgAcquireStatus@Base" 0.8.0
- (c++)"vtable for PreferenceSection@Base" 0.8.0
- (c++)"vtable for pkgPackageManager@Base" 0.8.0
- (c++)"vtable for debSrcRecordParser@Base" 0.8.0
- (c++)"vtable for debVersioningSystem@Base" 0.8.0
- (c++)"vtable for pkgUdevCdromDevices@Base" 0.8.0
- (c++)"vtable for pkgVersioningSystem@Base" 0.8.0
- (c++)"vtable for debTranslationsIndex@Base" 0.8.0
- (c++)"vtable for MMap@Base" 0.8.0
- (c++)"vtable for FileFd@Base" 0.8.0
- (c++)"vtable for Vendor@Base" 0.8.0
- (c++)"vtable for pkgCache@Base" 0.8.0
- (c++)"vtable for IndexCopy@Base" 0.8.0
- (c++)"vtable for debSystem@Base" 0.8.0
- (c++)"vtable for metaIndex@Base" 0.8.0
- (c++)"vtable for pkgDPkgPM@Base" 0.8.0
- (c++)"vtable for pkgPolicy@Base" 0.8.0
- (c++)"vtable for pkgSystem@Base" 0.8.0
- (c++)"vtable for pkgAcquire::Item@Base" 0.8.0
- (c++)"vtable for pkgRecords::Parser@Base" 0.8.0
- (c++)"vtable for pkgDepCache::InRootSetFunc@Base" 0.8.0
- (c++)"vtable for pkgDepCache::DefaultRootSetFunc@Base" 0.8.0
- (c++)"vtable for pkgDepCache::Policy@Base" 0.8.0
- (c++)"vtable for pkgSimulate::Policy@Base" 0.8.0
- (c++)"vtable for pkgIndexFile::Type@Base" 0.8.0
- (c++)"vtable for Configuration::MatchAgainstConfig@Base" 0.8.0
- (c++)"vtable for pkgSourceList::Type@Base" 0.8.0
- (c++)"vtable for pkgSrcRecords::Parser@Base" 0.8.0
- (c++)"vtable for pkgCacheGenerator::ListParser@Base" 0.8.0
- (c++)"vtable for APT::CacheSetHelper@Base" 0.8.0
- (c++)"vtable for pkgCache::DepIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::GrpIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::PkgIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::PrvIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::VerIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::DescIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::PkgFileIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::VerFileIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::DescFileIterator@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::Description, pkgCache::DescIterator>@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::PackageFile, pkgCache::PkgFileIterator>@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::Group, pkgCache::GrpIterator>@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::VerFile, pkgCache::VerFileIterator>@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::DescFile, pkgCache::DescFileIterator>@Base" 0.8.0
- (c++)"vtable for pkgCache::Iterator<pkgCache::Provides, pkgCache::PrvIterator>@Base" 0.8.0
- (c++)"non-virtual thunk to pkgDepCache::DefaultRootSetFunc::~DefaultRootSetFunc()@Base" 0.8.0
- (c++)"operator<<(std::basic_ostream<char, std::char_traits<char> >&, pkgCache::DepIterator)@Base" 0.8.0
- (c++)"operator<<(std::basic_ostream<char, std::char_traits<char> >&, pkgCache::PkgIterator)@Base" 0.8.0
- _apt_DebSrcType@Base 0.8.0
- _apt_DebType@Base 0.8.0
- _config@Base 0.8.0
- _system@Base 0.8.0
- debSys@Base 0.8.0
- debVS@Base 0.8.0
- pkgLibVersion@Base 0.8.0
- pkgVersion@Base 0.8.0
-### demangle strangeness - buildd report it as MISSING and as new…
- (c++)"pkgAcqMetaSig::pkgAcqMetaSig(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> >, 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> >, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.0
-### gcc-4.4 specific
-# (c++|optional=inherent)"APT::PackageSet::PackageSet(APT::PackageSet const&)@Base" 0.8.0
-# (c++|optional=inline)"stringcasecmp(char const*, char const*, char const*)@Base" 0.8.0
-# (arch=armel|c++|optional=inline)"stringcasecmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@Base" 0.8.0
-# (c++|optional=inherent)"APT::VersionSet::insert(pkgCache::VerIterator const&)@Base" 0.8.0
-# (c++|optional=inline)"APT::VersionSet::insert(APT::VersionSet const&)@Base" 0.8.0
-# (c++|optional=private)"debTranslationsIndex::IndexFile(char const*) const@Base" 0.8.0
-# (c++|optional=inline)"pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>::end() const@Base" 0.8.0
-# (c++|optional=inherent)"HashString::operator=(HashString const&)@Base" 0.8.0
-# (c++|regex|optional=std)"^std::less<[^ ]+>::operator\(\)\(.+\) const@Base$" 0.8.0
-# (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0
-# (c++|regex|optional=std)"^pkgCache::(Dep|Pkg|Ver|Grp|Prv|Desc|PkgFile)Iterator\*\* std::_.+@Base$" 0.8.0
-### gcc-4.5 specific
-# (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0
-# (c++|optional=inline)"FileFd::FileFd(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, FileFd::OpenMode, unsigned long)@Base" 0.8.0
-# (c++|regex|optional=template)"^SPtrArray<[^ ]+>::~SPtrArray\(\)@Base$" 0.8.0
-# (c++|optional=template)"SPtrArray<unsigned char>::~SPtrArray()@Base" 0.8.0
-### gcc-4.6 specific
- (c++|optional=template)"SPtrArray<pkgCache::Version*>::~SPtrArray()@Base" 0.8.0
- (c++|regex|optional=std)"^std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char( const|)\*>\(.+\)@Base$" 0.8.0
- (c++|regex|optional=std)"^std::vector<DiffInfo, .+@Base$" 0.8.0
- (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
-### 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=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
-### 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
- (c++|regex|optional=std)"^(void |DiffInfo\* |)std::_.*@Base$" 0.8.0
- (c++|regex|optional=std)"^(bool|void) std::(operator|sort_heap|make_heap)[^ ]+<.+ >\(.+\)@Base$" 0.8.0
- (c++|regex|optional=std)"^std::reverse_iterator<.+ > std::__.+@Base$" 0.8.0
- (c++|regex|optional=std)"^std::basic_string<.+ >\(.+\)@Base$" 0.8.0
- (c++|regex|optional=std)"^__gnu_cxx::__[^ ]+<.*@Base$" 0.8.0
- (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
+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 ]
-- 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:
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
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
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.
--- /dev/null
+bin/libapt-inst*.so.* usr/lib/
+usr/share/locale/*/*/libapt-inst*.mo
--- /dev/null
+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
+ (c++)"ExtractTar::StartGzip()@Base" 0.8.0
+ (c++)"ExtractTar::ExtractTar(FileFd&, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"ExtractTar::~ExtractTar()@Base" 0.8.0
+ (c++)"debDebFile::GotoMember(char const*)@Base" 0.8.0
+ (c++)"debDebFile::CheckMember(char const*)@Base" 0.8.0
+ (c++)"debDebFile::MergeControl(pkgDataBase&)@Base" 0.8.0
+ (c++)"debDebFile::ControlExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
+ (c++)"debDebFile::ControlExtract::~ControlExtract()@Base" 0.8.0
+ (c++)"debDebFile::ExtractArchive(pkgDirStream&)@Base" 0.8.0
+ (c++)"debDebFile::ExtractControl(pkgDataBase&)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::TakeControl(void const*, unsigned long)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::Read(debDebFile&)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::Process(pkgDirStream::Item&, unsigned char const*, unsigned long, unsigned long)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::~MemControlExtract()@Base" 0.8.0
+ (c++)"debDebFile::debDebFile(FileFd&)@Base" 0.8.0
+ (c++)"pkgExtract::FinishedFile(pkgDirStream::Item&, int)@Base" 0.8.0
+ (c++)"pkgExtract::CheckDirReplace(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)@Base" 0.8.0
+ (c++)"pkgExtract::HandleOverwrites(pkgFLCache::NodeIterator, bool)@Base" 0.8.0
+ (c++)"pkgExtract::Fail(pkgDirStream::Item&, int)@Base" 0.8.0
+ (c++)"pkgExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
+ (c++)"pkgExtract::Aborted()@Base" 0.8.0
+ (c++)"pkgExtract::Finished()@Base" 0.8.0
+ (c++)"pkgExtract::pkgExtract(pkgFLCache&, pkgCache::VerIterator)@Base" 0.8.0
+ (c++)"pkgExtract::~pkgExtract()@Base" 0.8.0
+ (c++)"pkgFLCache::TreeLookup(unsigned int*, char const*, char const*, unsigned long, unsigned int*, bool)@Base" 0.8.0
+ (c++)"pkgFLCache::AddConfFile(char const*, char const*, pkgFLCache::PkgIterator const&, unsigned char const*)@Base" 0.8.0
+ (c++)"pkgFLCache::AddDiversion(pkgFLCache::PkgIterator const&, char const*, char const*)@Base" 0.8.0
+ (c++)"pkgFLCache::BeginDiverLoad()@Base" 0.8.0
+ (c++)"pkgFLCache::FinishDiverLoad()@Base" 0.8.0
+ (c++)"pkgFLCache::GetPkg(char const*, char const*, bool)@Base" 0.8.0
+ (c++)"pkgFLCache::Header::Header()@Base" 0.8.0
+ (c++)"pkgFLCache::GetNode(char const*, char const*, unsigned int, bool, bool)@Base" 0.8.0
+ (c++)"pkgFLCache::DropNode(unsigned int)@Base" 0.8.0
+ (c++)"pkgFLCache::HashNode(pkgFLCache::NodeIterator const&)@Base" 0.8.0
+ (c++)"pkgFLCache::PrintTree(unsigned int, unsigned long)@Base" 0.8.0
+ (c++)"pkgFLCache::pkgFLCache(DynamicMMap&)@Base" 0.8.0
+ (c++)"pkgDataBase::GetMetaTmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
+ (c++)"pkgDataBase::~pkgDataBase()@Base" 0.8.0
+ (c++)"pkgDirStream::FinishedFile(pkgDirStream::Item&, int)@Base" 0.8.0
+ (c++)"pkgDirStream::Fail(pkgDirStream::Item&, int)@Base" 0.8.0
+ (c++)"pkgDirStream::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
+ (c++)"pkgDirStream::Process(pkgDirStream::Item&, unsigned char const*, unsigned long, unsigned long)@Base" 0.8.0
+ (c++)"pkgDirStream::~pkgDirStream()@Base" 0.8.0
+ (c++|optional)"debListParser::~debListParser()@Base" 0.8.0
+ (c++|optional)"pkgCacheGenerator::ListParser::CollectFileProvides(pkgCache&, pkgCache::VerIterator&)@Base" 0.8.0
+ (c++|optional)"pkgCacheGenerator::ListParser::~ListParser()@Base" 0.8.0
+ (c++|optional)"pkgCache::DepIterator::operator++(int)@Base" 0.8.0
+ (c++|optional)"pkgCache::DepIterator::operator++()@Base" 0.8.0
+ (c++|optional)"pkgCache::VerIterator::operator++(int)@Base" 0.8.0
+ (c++|optional)"pkgCache::VerIterator::operator++()@Base" 0.8.0
+ (c++)"ARArchive::LoadHeaders()@Base" 0.8.0
+ (c++)"ARArchive::ARArchive(FileFd&)@Base" 0.8.0
+ (c++)"ARArchive::~ARArchive()@Base" 0.8.0
+ (c++)"debDpkgDB::InitMetaTmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
+ (c++)"debDpkgDB::LoadChanges()@Base" 0.8.0
+ (c++)"debDpkgDB::ReadConfFiles()@Base" 0.8.0
+ (c++)"debDpkgDB::ReadyFileList(OpProgress&)@Base" 0.8.0
+ (c++)"debDpkgDB::ReadyPkgCache(OpProgress&)@Base" 0.8.0
+ (c++)"debDpkgDB::ReadDiversions()@Base" 0.8.0
+ (c++)"debDpkgDB::ReadFList(OpProgress&)@Base" 0.8.0
+ (c++)"debDpkgDB::debDpkgDB()@Base" 0.8.0
+ (c++)"debDpkgDB::~debDpkgDB()@Base" 0.8.0
+ (c++)"pkgFLCache::NodeIterator::RealPackage() const@Base" 0.8.0
+ (c++)"pkgFLCache::Header::CheckSizes(pkgFLCache::Header&) const@Base" 0.8.0
+ (c++|optional)"pkgCache::DepIterator::OwnerPointer() const@Base" 0.8.0
+ (c++|optional)"pkgCache::VerIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"ARArchive::FindMember(char const*) const@Base" 0.8.0
+ (c++)"typeinfo for ExtractTar@Base" 0.8.0
+ (c++)"typeinfo for pkgExtract@Base" 0.8.0
+ (c++)"typeinfo for pkgDataBase@Base" 0.8.0
+ (c++)"typeinfo for pkgDirStream@Base" 0.8.0
+ (c++)"typeinfo for debDpkgDB@Base" 0.8.0
+ (c++)"typeinfo for debDebFile::ControlExtract@Base" 0.8.0
+ (c++)"typeinfo for debDebFile::MemControlExtract@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::DepIterator@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::VerIterator@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+ (c++)"typeinfo name for ExtractTar@Base" 0.8.0
+ (c++)"typeinfo name for pkgExtract@Base" 0.8.0
+ (c++)"typeinfo name for pkgDataBase@Base" 0.8.0
+ (c++)"typeinfo name for pkgDirStream@Base" 0.8.0
+ (c++)"typeinfo name for debDpkgDB@Base" 0.8.0
+ (c++)"typeinfo name for debDebFile::ControlExtract@Base" 0.8.0
+ (c++)"typeinfo name for debDebFile::MemControlExtract@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::DepIterator@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::VerIterator@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+ (c++)"vtable for ExtractTar@Base" 0.8.0
+ (c++)"vtable for pkgExtract@Base" 0.8.0
+ (c++)"vtable for pkgDataBase@Base" 0.8.0
+ (c++)"vtable for pkgDirStream@Base" 0.8.0
+ (c++)"vtable for debDpkgDB@Base" 0.8.0
+ (c++)"vtable for debDebFile::ControlExtract@Base" 0.8.0
+ (c++)"vtable for debDebFile::MemControlExtract@Base" 0.8.0
+ (c++|optional)"vtable for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::DepIterator@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::VerIterator@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+### gcc-4.4 specific
+# (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
+ (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
+ (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
+###
--- /dev/null
+bin/libapt-pkg*.so.* usr/lib/
+usr/share/locale/*/*/libapt-pkg*.mo
--- /dev/null
+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
+ (c++)"FileExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"IdentCdrom(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
+ (c++)"ListUpdate(pkgAcquireStatus&, pkgSourceList&, int)@Base" 0.8.0
+ (c++)"MountCdrom(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++)"ParseCWord(char const*&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
+ (c++)"ReadPinDir(pkgPolicy&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"RunScripts(char const*)@Base" 0.8.0
+ (c++)"SafeGetCWD()@Base" 0.8.0
+ (c++)"parsenetrc(char*, char*, char*, char*)@Base" 0.8.0
+ (c++)"QuoteString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@Base" 0.8.0
+ (c++)"ReadPinFile(pkgPolicy&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"RegexChoice(RxChoiceList*, char const**, char const**)@Base" 0.8.0
+ (c++)"SetNonBlock(int, bool)@Base" 0.8.0
+ (c++)"TimeRFC1123(long)@Base" 0.8.0
+ (c++)"flExtension(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"Base64Encode(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"ReadMessages(int, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)@Base" 0.8.0
+ (c++)"SetCloseExec(int, bool)@Base" 0.8.0
+ (c++)"StringToBool(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)@Base" 0.8.0
+ (c++)"UnmountCdrom(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"_GetErrorObj()@Base" 0.8.0
+ (c++)"pkgFixBroken(pkgDepCache&)@Base" 0.8.0
+ (c++)"DeQuoteString(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)@Base" 0.8.0
+ (c++)"DeQuoteString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"OutputInDepth(unsigned long, char const*)@Base" 0.8.0
+ (c++)"ReadConfigDir(Configuration&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, unsigned int const&)@Base" 0.8.0
+ (c++)"URItoFileName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"UTF8ToCodeset(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> >*)@Base" 0.8.0
+ (c++)"pkgAllUpgrade(pkgDepCache&)@Base" 0.8.0
+ (c++)"pkgInitConfig(Configuration&)@Base" 0.8.0
+ (c++)"pkgInitSystem(Configuration&, pkgSystem*&)@Base" 0.8.0
+ (c++)"safe_snprintf(char*, char*, char const*, ...)@Base" 0.8.0
+ (c++)"stringcasecmp(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char const*, char const*)@Base" 0.8.0
+ (c++)"stringcasecmp(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)@Base" 0.8.0
+ (c++)"stringcasecmp(char const*, char const*, char const*, char const*)@Base" 0.8.0
+ (c++)"tolower_ascii(int)@Base" 0.8.0
+ (c++)"ParseQuoteWord(char const*&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
+ (c++)"ReadConfigFile(Configuration&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, unsigned int const&)@Base" 0.8.0
+ (c++)"TokSplitString(char, char*, char**, unsigned long)@Base" 0.8.0
+ (c++)"maybe_add_auth(URI&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgApplyStatus(pkgDepCache&)@Base" 0.8.0
+ (c++)"pkgDistUpgrade(pkgDepCache&)@Base" 0.8.0
+ (c++)"CheckDomainList(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++)"CreateDirectory(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++)"DirectoryExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"VectorizeString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const&)@Base" 0.8.0
+ (c++)"pkgPrioSortList(pkgCache&, pkgCache::Version**)@Base" 0.8.0
+ (c++)"FTPMDTMStrToTime(char const*, long&)@Base" 0.8.0
+ (c++)"RFC1123StrToTime(char const*, long&)@Base" 0.8.0
+ (c++)"pkgMakeStatusCache(pkgSourceList&, OpProgress&, MMap**, bool)@Base" 0.8.0
+ (c++)"pkgMinimizeUpgrade(pkgDepCache&)@Base" 0.8.0
+ (c++)"GetListOfFilesInDir(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<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&, bool const&)@Base" 0.8.0
+ (c++)"GetListOfFilesInDir(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&, bool const&)@Base" 0.8.0
+ (c++)"pkgMakeStatusCacheMem(pkgSourceList&, OpProgress&)@Base" 0.8.0
+ (c++)"pkgMakeOnlyStatusCache(OpProgress&, DynamicMMap**)@Base" 0.8.0
+ (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++)"CopyFile(FileFd&, FileFd&)@Base" 0.8.0
+ (c++)"ExecFork()@Base" 0.8.0
+ (c++)"ExecWait(int, char const*, bool)@Base" 0.8.0
+ (c++)"StrToNum(char const*, unsigned long&, unsigned int, unsigned int)@Base" 0.8.0
+ (c++)"SubstVar(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++)"SubstVar(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, SubstVar const*)@Base" 0.8.0
+ (c++)"flNoLink(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"flNotDir(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"ioprintf(std::basic_ostream<char, std::char_traits<char> >&, char const*, ...)@Base" 0.8.0
+ (c++)"IsMounted(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
+ (c++)"LookupTag(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*)@Base" 0.8.0
+ (c++)"SizeToStr(double)@Base" 0.8.0
+ (c++)"StrToTime(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long&)@Base" 0.8.0
+ (c++)"TFRewrite(_IO_FILE*, pkgTagSection const&, char const**, TFRewriteData*)@Base" 0.8.0
+ (c++)"TimeToStr(unsigned long)@Base" 0.8.0
+ (c++)"_strstrip(char*)@Base" 0.8.0
+ (c++)"flCombine(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++)"flNotFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"stringcmp(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char const*, char const*)@Base" 0.8.0
+ (c++)"stringcmp(__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)@Base" 0.8.0
+ (c++)"stringcmp(char const*, char const*, char const*, char const*)@Base" 0.8.0
+ (c++)"strprintf(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*, ...)@Base" 0.8.0
+ (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::DepIterator>::toReMap@Base" 0.8.0
+ (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::GrpIterator>::toReMap@Base" 0.8.0
+ (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::PkgIterator>::toReMap@Base" 0.8.0
+ (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::PrvIterator>::toReMap@Base" 0.8.0
+ (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::VerIterator>::toReMap@Base" 0.8.0
+ (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::DescIterator>::toReMap@Base" 0.8.0
+ (c++)"guard variable for pkgCacheGenerator::Dynamic<pkgCache::PkgFileIterator>::toReMap@Base" 0.8.0
+ (c++)"HashString::SupportedHashes()@Base" 0.8.0
+ (c++)"HashString::_SupportedHashes@Base" 0.8.0
+ (c++)"HashString::HashString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"HashString::HashString(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++)"HashString::HashString()@Base" 0.8.0
+ (c++)"HashString::~HashString()@Base" 0.8.0
+ (c++)"OpProgress::CheckChange(float)@Base" 0.8.0
+ (c++)"OpProgress::Done()@Base" 0.8.0
+ (c++)"OpProgress::Update()@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::~SourceCopy()@Base" 0.8.0
+ (c++)"pkgAcqFile::Custom600Headers()@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()@Base" 0.8.0
+ (c++)"pkgAcquire::WorkerStep(pkgAcquire::Worker*)@Base" 0.8.0
+ (c++)"pkgAcquire::FetchNeeded()@Base" 0.8.0
+ (c++)"pkgAcquire::TotalNeeded()@Base" 0.8.0
+ (c++)"pkgAcquire::MethodConfig::MethodConfig()@Base" 0.8.0
+ (c++)"pkgAcquire::PartialPresent()@Base" 0.8.0
+ (c++)"pkgAcquire::Add(pkgAcquire::Item*)@Base" 0.8.0
+ (c++)"pkgAcquire::Add(pkgAcquire::Worker*)@Base" 0.8.0
+ (c++)"pkgAcquire::Run(int)@Base" 0.8.0
+ (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::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
+ (c++)"pkgAcquire::Item::Finished()@Base" 0.8.0
+ (c++)"pkgAcquire::Item::IsTrusted()@Base" 0.8.0
+ (c++)"pkgAcquire::Item::ShortDesc()@Base" 0.8.0
+ (c++)"pkgAcquire::Item::Item(pkgAcquire*)@Base" 0.8.0
+ (c++)"pkgAcquire::Item::~Item()@Base" 0.8.0
+ (c++)"pkgAcquire::Clean(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::Bump()@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::Cycle()@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::Dequeue(pkgAcquire::Item*)@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::Enqueue(pkgAcquire::ItemDesc&)@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::Startup()@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::FindItem(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::Worker*)@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::ItemDone(pkgAcquire::Queue::QItem*)@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::Shutdown(bool)@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::Queue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire*)@Base" 0.8.0
+ (c++)"pkgAcquire::Queue::~Queue()@Base" 0.8.0
+ (c++)"pkgAcquire::Setup(pkgAcquireStatus*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"pkgAcquire::Remove(pkgAcquire::Item*)@Base" 0.8.0
+ (c++)"pkgAcquire::Remove(pkgAcquire::Worker*)@Base" 0.8.0
+ (c++)"pkgAcquire::RunFds(fd_set*, fd_set*)@Base" 0.8.0
+ (c++)"pkgAcquire::SetFds(int&, fd_set*, fd_set*)@Base" 0.8.0
+ (c++)"pkgAcquire::UriEnd()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::OutFdReady()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::MediaChange(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::RunMessages()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::Capabilities(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::ReadMessages()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::MethodFailure()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::SendConfiguration()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::Pulse()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::Start()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::ItemDone()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::Construct()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::InFdReady()@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::QueueItem(pkgAcquire::Queue::QItem*)@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::Worker(pkgAcquire::MethodConfig*)@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::Worker(pkgAcquire::Queue*, pkgAcquire::MethodConfig*, pkgAcquireStatus*)@Base" 0.8.0
+ (c++)"pkgAcquire::Worker::~Worker()@Base" 0.8.0
+ (c++)"pkgAcquire::Dequeue(pkgAcquire::Item*)@Base" 0.8.0
+ (c++)"pkgAcquire::Enqueue(pkgAcquire::ItemDesc&)@Base" 0.8.0
+ (c++)"pkgAcquire::ItemDesc::~ItemDesc()@Base" 0.8.0
+ (c++)"pkgAcquire::Shutdown()@Base" 0.8.0
+ (c++)"pkgAcquire::UriBegin()@Base" 0.8.0
+ (c++)"pkgAcquire::GetConfig(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgAcquire::QueueName(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig const*&)@Base" 0.8.0
+ (c++)"pkgAcquire::pkgAcquire(pkgAcquireStatus*)@Base" 0.8.0
+ (c++)"pkgAcquire::pkgAcquire()@Base" 0.8.0
+ (c++)"pkgAcquire::~pkgAcquire()@Base" 0.8.0
+ (c++)"pkgRecords::Lookup(pkgCache::VerFileIterator const&)@Base" 0.8.0
+ (c++)"pkgRecords::Lookup(pkgCache::DescFileIterator const&)@Base" 0.8.0
+ (c++)"pkgRecords::Parser::Maintainer()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::SHA256Hash()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::Name()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::GetRec(char const*&, char const*&)@Base" 0.8.0
+ (c++)"pkgRecords::Parser::MD5Hash()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::FileName()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::Homepage()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::LongDesc()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::SHA1Hash()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::ShortDesc()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::SourcePkg()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::SourceVer()@Base" 0.8.0
+ (c++)"pkgRecords::Parser::~Parser()@Base" 0.8.0
+ (c++)"pkgRecords::pkgRecords(pkgCache&)@Base" 0.8.0
+ (c++)"pkgRecords::~pkgRecords()@Base" 0.8.0
+ (c++)"pkgTagFile::Fill()@Base" 0.8.0
+ (c++)"pkgTagFile::Step(pkgTagSection&)@Base" 0.8.0
+ (c++)"pkgTagFile::Resize()@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
+ (c++)"CommandLine::SaveInConfig(unsigned int const&, char const* const*)@Base" 0.8.0
+ (c++)"CommandLine::Parse(int, char const**)@Base" 0.8.0
+ (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::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
+ (c++)"DynamicMMap::DynamicMMap(FileFd&, unsigned long, unsigned long const&, unsigned long const&, unsigned long const&)@Base" 0.8.0
+ (c++)"DynamicMMap::DynamicMMap(unsigned long, unsigned long const&, unsigned long const&, unsigned long const&)@Base" 0.8.0
+ (c++)"DynamicMMap::~DynamicMMap()@Base" 0.8.0
+ (c++)"GlobalError::DumpErrors(std::basic_ostream<char, std::char_traits<char> >&, GlobalError::MsgType const&, bool const&)@Base" 0.8.0
+ (c++)"GlobalError::PopMessage(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
+ (c++)"GlobalError::InsertErrno(GlobalError::MsgType const&, char const*, char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::PushToStack()@Base" 0.8.0
+ (c++)"GlobalError::RevertToStack()@Base" 0.8.0
+ (c++)"GlobalError::MergeWithStack()@Base" 0.8.0
+ (c++)"GlobalError::Debug(char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::Errno(char const*, char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::Error(char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::Fatal(char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::DebugE(char const*, char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::FatalE(char const*, char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::Insert(GlobalError::MsgType const&, char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::Notice(char const*, ...)@Base" 0.8.0
+ (c++)"GlobalError::Discard()@Base" 0.8.0
+ (c++)"GlobalError::NoticeE(char const*, char const*, ...)@Base" 0.8.0
+ (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++)"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::~PackageCopy()@Base" 0.8.0
+ (c++)"pkgAcqIndex::Custom600Headers()@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
+ (c++)"pkgAcqIndex::pkgAcqIndex(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, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgAcqIndex::~pkgAcqIndex()@Base" 0.8.0
+ (c++)"pkgDepCache::IsDeleteOk(pkgCache::PkgIterator const&, bool, unsigned long, bool)@Base" 0.8.0
+ (c++)"pkgDepCache::MarkDelete(pkgCache::PkgIterator const&, bool, unsigned long, bool)@Base" 0.8.0
+ (c++)"pkgDepCache::StateCache::StripEpoch(char const*)@Base" 0.8.0
+ (c++)"pkgDepCache::StateCache::Update(pkgCache::PkgIterator, pkgCache&)@Base" 0.8.0
+ (c++)"pkgDepCache::ActionGroup::release()@Base" 0.8.0
+ (c++)"pkgDepCache::ActionGroup::ActionGroup(pkgDepCache&)@Base" 0.8.0
+ (c++)"pkgDepCache::ActionGroup::~ActionGroup()@Base" 0.8.0
+ (c++)"pkgDepCache::IsInstallOk(pkgCache::PkgIterator const&, bool, unsigned long, bool)@Base" 0.8.0
+ (c++)"pkgDepCache::MarkInstall(pkgCache::PkgIterator const&, bool, unsigned long, bool, bool)@Base" 0.8.0
+ (c++)"pkgDepCache::MarkPackage(pkgCache::PkgIterator const&, pkgCache::VerIterator const&, bool const&, bool const&)@Base" 0.8.0
+ (c++)"pkgDepCache::MarkRequired(pkgDepCache::InRootSetFunc&)@Base" 0.8.0
+ (c++)"pkgDepCache::SetReInstall(pkgCache::PkgIterator const&, bool)@Base" 0.8.0
+ (c++)"pkgDepCache::VersionState(pkgCache::DepIterator, unsigned char, unsigned char, unsigned char)@Base" 0.8.0
+ (c++)"pkgDepCache::BuildGroupOrs(pkgCache::VerIterator const&)@Base" 0.8.0
+ (c++)"pkgDepCache::InRootSetFunc::InRootSet(pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"pkgDepCache::InRootSetFunc::~InRootSetFunc()@Base" 0.8.0
+ (c++)"pkgDepCache::readStateFile(OpProgress*)@Base" 0.8.0
+ (c++)"pkgDepCache::GetRootSetFunc()@Base" 0.8.0
+ (c++)"pkgDepCache::UpdateVerState(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgDepCache::writeStateFile(OpProgress*, bool)@Base" 0.8.0
+ (c++)"pkgDepCache::DependencyState(pkgCache::DepIterator&)@Base" 0.8.0
+ (c++)"pkgDepCache::DefaultRootSetFunc::InRootSet(pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"pkgDepCache::DefaultRootSetFunc::~DefaultRootSetFunc()@Base" 0.8.0
+ (c++)"pkgDepCache::MarkFollowsSuggests()@Base" 0.8.0
+ (c++)"pkgDepCache::MarkFollowsRecommends()@Base" 0.8.0
+ (c++)"pkgDepCache::Init(OpProgress*)@Base" 0.8.0
+ (c++)"pkgDepCache::Sweep()@Base" 0.8.0
+ (c++)"pkgDepCache::Policy::IsImportantDep(pkgCache::DepIterator const&)@Base" 0.8.0
+ (c++)"pkgDepCache::Policy::GetCandidateVer(pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"pkgDepCache::Policy::~Policy()@Base" 0.8.0
+ (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::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::pkgDepCache(pkgCache*, pkgDepCache::Policy*)@Base" 0.8.0
+ (c++)"pkgDepCache::~pkgDepCache()@Base" 0.8.0
+ (c++)"pkgSimulate::ShortBreaks()@Base" 0.8.0
+ (c++)"pkgSimulate::Policy::GetCandidateVer(pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"pkgSimulate::Policy::~Policy()@Base" 0.8.0
+ (c++)"pkgSimulate::Remove(pkgCache::PkgIterator, bool)@Base" 0.8.0
+ (c++)"pkgSimulate::Install(pkgCache::PkgIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgSimulate::Describe(pkgCache::PkgIterator, std::basic_ostream<char, std::char_traits<char> >&, bool, bool)@Base" 0.8.0
+ (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++)"debIFTypePkg::~debIFTypePkg()@Base" 0.8.0
+ (c++)"debIFTypeSrc::~debIFTypeSrc()@Base" 0.8.0
+ (c++)"debSLTypeDeb::~debSLTypeDeb()@Base" 0.8.0
+ (c++)"indexRecords::Load(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"indexRecords::Lookup(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"indexRecords::MetaKeys()@Base" 0.8.0
+ (c++)"indexRecords::indexRecords(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"indexRecords::indexRecords()@Base" 0.8.0
+ (c++)"indexRecords::~indexRecords()@Base" 0.8.0
+ (c++)"pkgAcqMethod::FetchResult::TakeHashes(Hashes&)@Base" 0.8.0
+ (c++)"pkgAcqMethod::FetchResult::FetchResult()@Base" 0.8.0
+ (c++)"pkgAcqMethod::Configuration(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgAcqMethod::Log(char const*, ...)@Base" 0.8.0
+ (c++)"pkgAcqMethod::Run(bool)@Base" 0.8.0
+ (c++)"pkgAcqMethod::Exit()@Base" 0.8.0
+ (c++)"pkgAcqMethod::Fail(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)@Base" 0.8.0
+ (c++)"pkgAcqMethod::Fail(bool)@Base" 0.8.0
+ (c++)"pkgAcqMethod::Fetch(pkgAcqMethod::FetchItem*)@Base" 0.8.0
+ (c++)"pkgAcqMethod::Status(char const*, ...)@Base" 0.8.0
+ (c++)"pkgAcqMethod::URIDone(pkgAcqMethod::FetchResult&, pkgAcqMethod::FetchResult*)@Base" 0.8.0
+ (c++)"pkgAcqMethod::Redirect(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"pkgAcqMethod::URIStart(pkgAcqMethod::FetchResult&)@Base" 0.8.0
+ (c++)"pkgAcqMethod::MediaFail(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++)"pkgAcqMethod::pkgAcqMethod(char const*, unsigned long)@Base" 0.8.0
+ (c++)"pkgAcqMethod::~pkgAcqMethod()@Base" 0.8.0
+ (c++)"pkgCacheFile::BuildCaches(OpProgress*, bool)@Base" 0.8.0
+ (c++)"pkgCacheFile::BuildPolicy(OpProgress*)@Base" 0.8.0
+ (c++)"pkgCacheFile::BuildDepCache(OpProgress*)@Base" 0.8.0
+ (c++)"pkgCacheFile::BuildSourceList(OpProgress*)@Base" 0.8.0
+ (c++)"pkgCacheFile::Open(OpProgress*, bool)@Base" 0.8.0
+ (c++)"pkgCacheFile::Close()@Base" 0.8.0
+ (c++)"pkgCacheFile::pkgCacheFile()@Base" 0.8.0
+ (c++)"pkgCacheFile::~pkgCacheFile()@Base" 0.8.0
+ (c++)"pkgIndexFile::LanguageCode()@Base" 0.8.0
+ (c++)"pkgIndexFile::CheckLanguageCode(char const*)@Base" 0.8.0
+ (c++)"pkgIndexFile::TranslationsAvailable()@Base" 0.8.0
+ (c++)"pkgIndexFile::Type::GlobalList@Base" 0.8.0
+ (c++)"pkgIndexFile::Type::GlobalListLen@Base" 0.8.0
+ (c++)"pkgIndexFile::Type::GetType(char const*)@Base" 0.8.0
+ (c++)"pkgIndexFile::Type::Type()@Base" 0.8.0
+ (c++)"pkgIndexFile::Type::~Type()@Base" 0.8.0
+ (c++)"pkgIndexFile::~pkgIndexFile()@Base" 0.8.0
+ (c++)"pkgOrderList::VisitRDeps(bool (pkgOrderList::*)(pkgCache::DepIterator), pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::OrderUnpack(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)@Base" 0.8.0
+ (c++)"pkgOrderList::DepConfigure(pkgCache::DepIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::DepUnPackDep(pkgCache::DepIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::DepUnPackPre(pkgCache::DepIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::DepUnPackCrit(pkgCache::DepIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::DepUnPackPreD(pkgCache::DepIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::OrderCompareA(void const*, void const*)@Base" 0.8.0
+ (c++)"pkgOrderList::OrderCompareB(void const*, void const*)@Base" 0.8.0
+ (c++)"pkgOrderList::OrderCritical()@Base" 0.8.0
+ (c++)"pkgOrderList::VisitProvides(pkgCache::DepIterator, bool)@Base" 0.8.0
+ (c++)"pkgOrderList::OrderConfigure()@Base" 0.8.0
+ (c++)"pkgOrderList::VisitRProvides(bool (pkgOrderList::*)(pkgCache::DepIterator), pkgCache::VerIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::Me@Base" 0.8.0
+ (c++)"pkgOrderList::DoRun()@Base" 0.8.0
+ (c++)"pkgOrderList::Score(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::AddLoop(pkgCache::DepIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::FileCmp(pkgCache::PkgIterator, pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgOrderList::CheckDep(pkgCache::DepIterator)@Base" 0.8.0
+ (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::WipeFlags(unsigned long)@Base" 0.8.0
+ (c++)"pkgOrderList::pkgOrderList(pkgDepCache*)@Base" 0.8.0
+ (c++)"pkgOrderList::~pkgOrderList()@Base" 0.8.0
+ (c++)"Configuration::MatchAgainstConfig::MatchAgainstConfig(char const*)@Base" 0.8.0
+ (c++)"Configuration::MatchAgainstConfig::~MatchAgainstConfig()@Base" 0.8.0
+ (c++)"Configuration::Set(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"Configuration::Set(char const*, int const&)@Base" 0.8.0
+ (c++)"Configuration::Dump(std::basic_ostream<char, std::char_traits<char> >&)@Base" 0.8.0
+ (c++)"Configuration::Clear(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"Configuration::Clear(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)@Base" 0.8.0
+ (c++)"Configuration::Clear(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++)"Configuration::CndSet(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"Configuration::Lookup(char const*, bool const&)@Base" 0.8.0
+ (c++)"Configuration::Lookup(Configuration::Item*, char const*, unsigned long const&, bool const&)@Base" 0.8.0
+ (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++)"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
+ (c++)"debListParser::Description()@Base" 0.8.0
+ (c++)"debListParser::ParseStatus(pkgCache::PkgIterator&, pkgCache::VerIterator&)@Base" 0.8.0
+ (c++)"debListParser::VersionHash()@Base" 0.8.0
+ (c++)"debListParser::Architecture()@Base" 0.8.0
+ (c++)"debListParser::ParseDepends(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&, bool const&, bool const&)@Base" 0.8.0
+ (c++)"debListParser::ParseDepends(pkgCache::VerIterator&, char const*, unsigned int)@Base" 0.8.0
+ (c++)"debListParser::ParseProvides(pkgCache::VerIterator&)@Base" 0.8.0
+ (c++)"debListParser::ArchitectureAll()@Base" 0.8.0
+ (c++)"debListParser::ConvertRelation(char const*, unsigned int&)@Base" 0.8.0
+ (c++)"debListParser::Description_md5()@Base" 0.8.0
+ (c++)"debListParser::LoadReleaseInfo(pkgCache::PkgFileIterator&, FileFd&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"debListParser::UniqFindTagWrite(char const*)@Base" 0.8.0
+ (c++)"debListParser::DescriptionLanguage()@Base" 0.8.0
+ (c++)"debListParser::Size()@Base" 0.8.0
+ (c++)"debListParser::Step()@Base" 0.8.0
+ (c++)"debListParser::Offset()@Base" 0.8.0
+ (c++)"debListParser::GetPrio(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"debListParser::Package()@Base" 0.8.0
+ (c++)"debListParser::Version()@Base" 0.8.0
+ (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::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
+ (c++)"pkgAcqArchive::Finished()@Base" 0.8.0
+ (c++)"pkgAcqArchive::IsTrusted()@Base" 0.8.0
+ (c++)"pkgAcqArchive::QueueNext()@Base" 0.8.0
+ (c++)"pkgAcqArchive::ShortDesc()@Base" 0.8.0
+ (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::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
+ (c++)"pkgSourceList::ReadAppend(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgSourceList::ReadMainList()@Base" 0.8.0
+ (c++)"pkgSourceList::ReadSourceDir(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgSourceList::Read(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgSourceList::Type::GlobalList@Base" 0.8.0
+ (c++)"pkgSourceList::Type::GlobalListLen@Base" 0.8.0
+ (c++)"pkgSourceList::Type::GetType(char const*)@Base" 0.8.0
+ (c++)"pkgSourceList::Type::Type()@Base" 0.8.0
+ (c++)"pkgSourceList::Type::~Type()@Base" 0.8.0
+ (c++)"pkgSourceList::Reset()@Base" 0.8.0
+ (c++)"pkgSourceList::pkgSourceList(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgSourceList::pkgSourceList()@Base" 0.8.0
+ (c++)"pkgSourceList::~pkgSourceList()@Base" 0.8.0
+ (c++)"pkgSrcRecords::File::~File()@Base" 0.8.0
+ (c++)"pkgSrcRecords::Find(char const*, bool const&)@Base" 0.8.0
+ (c++)"pkgSrcRecords::Parser::BuildDepRec::~BuildDepRec()@Base" 0.8.0
+ (c++)"pkgSrcRecords::Parser::BuildDepType(unsigned char const&)@Base" 0.8.0
+ (c++)"pkgSrcRecords::Parser::~Parser()@Base" 0.8.0
+ (c++)"pkgSrcRecords::Restart()@Base" 0.8.0
+ (c++)"pkgSrcRecords::pkgSrcRecords(pkgSourceList&)@Base" 0.8.0
+ (c++)"pkgSrcRecords::~pkgSrcRecords()@Base" 0.8.0
+ (c++)"pkgTagSection::TrimRecord(bool, char const*&)@Base" 0.8.0
+ (c++)"pkgTagSection::Scan(char const*, unsigned long)@Base" 0.8.0
+ (c++)"pkgTagSection::Trim()@Base" 0.8.0
+ (c++)"pkgVendorList::CreateList(Configuration&)@Base" 0.8.0
+ (c++)"pkgVendorList::FindVendor(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)@Base" 0.8.0
+ (c++)"pkgVendorList::ReadMainList()@Base" 0.8.0
+ (c++)"pkgVendorList::LookupFingerprint(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgVendorList::Read(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgVendorList::~pkgVendorList()@Base" 0.8.0
+ (c++)"OpTextProgress::Done()@Base" 0.8.0
+ (c++)"OpTextProgress::Write(char const*)@Base" 0.8.0
+ (c++)"OpTextProgress::Update()@Base" 0.8.0
+ (c++)"OpTextProgress::OpTextProgress(Configuration&)@Base" 0.8.0
+ (c++)"OpTextProgress::~OpTextProgress()@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++)"debIFTypeStatus::~debIFTypeStatus()@Base" 0.8.0
+ (c++)"debRecordParser::Maintainer()@Base" 0.8.0
+ (c++)"debRecordParser::SHA256Hash()@Base" 0.8.0
+ (c++)"debRecordParser::Jump(pkgCache::VerFileIterator const&)@Base" 0.8.0
+ (c++)"debRecordParser::Jump(pkgCache::DescFileIterator const&)@Base" 0.8.0
+ (c++)"debRecordParser::Name()@Base" 0.8.0
+ (c++)"debRecordParser::GetRec(char const*&, char const*&)@Base" 0.8.0
+ (c++)"debRecordParser::MD5Hash()@Base" 0.8.0
+ (c++)"debRecordParser::FileName()@Base" 0.8.0
+ (c++)"debRecordParser::Homepage()@Base" 0.8.0
+ (c++)"debRecordParser::LongDesc()@Base" 0.8.0
+ (c++)"debRecordParser::SHA1Hash()@Base" 0.8.0
+ (c++)"debRecordParser::ShortDesc()@Base" 0.8.0
+ (c++)"debRecordParser::SourcePkg()@Base" 0.8.0
+ (c++)"debRecordParser::SourceVer()@Base" 0.8.0
+ (c++)"debRecordParser::debRecordParser(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgCache&)@Base" 0.8.0
+ (c++)"debRecordParser::~debRecordParser()@Base" 0.8.0
+ (c++)"debReleaseIndex::GetIndexFiles()@Base" 0.8.0
+ (c++)"debReleaseIndex::debSectionEntry::debSectionEntry(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&)@Base" 0.8.0
+ (c++)"debReleaseIndex::PushSectionEntry(debReleaseIndex::debSectionEntry const*)@Base" 0.8.0
+ (c++)"debReleaseIndex::PushSectionEntry(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, debReleaseIndex::debSectionEntry const*)@Base" 0.8.0
+ (c++)"debReleaseIndex::PushSectionEntry(std::vector<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&, debReleaseIndex::debSectionEntry const*)@Base" 0.8.0
+ (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&)@Base" 0.8.0
+ (c++)"debReleaseIndex::~debReleaseIndex()@Base" 0.8.0
+ (c++)"debSLTypeDebSrc::~debSLTypeDebSrc()@Base" 0.8.0
+ (c++)"debSLTypeDebian::~debSLTypeDebian()@Base" 0.8.0
+ (c++)"debSourcesIndex::debSourcesIndex(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> >, bool)@Base" 0.8.0
+ (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::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
+ (c++)"pkgAcqDiffIndex::~pkgAcqDiffIndex()@Base" 0.8.0
+ (c++)"pkgAcqMetaIndex::QueueIndexes(bool)@Base" 0.8.0
+ (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::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
+ (c++)"pkgAcqMetaIndex::pkgAcqMetaIndex(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> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.0
+ (c++)"pkgAcqMetaIndex::~pkgAcqMetaIndex()@Base" 0.8.0
+ (c++)"pkgVersionMatch::ExpressionMatches(char const*, char const*)@Base" 0.8.0
+ (c++)"pkgVersionMatch::ExpressionMatches(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@Base" 0.8.0
+ (c++)"pkgVersionMatch::Find(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgVersionMatch::MatchVer(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)@Base" 0.8.0
+ (c++)"pkgVersionMatch::FileMatch(pkgCache::PkgFileIterator)@Base" 0.8.0
+ (c++)"pkgVersionMatch::pkgVersionMatch(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgVersionMatch::MatchType)@Base" 0.8.0
+ (c++)"pkgVersionMatch::~pkgVersionMatch()@Base" 0.8.0
+ (c++)"TranslationsCopy::CopyTranslations(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, pkgCdromStatus*)@Base" 0.8.0
+ (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::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
+ (c++)"pkgAcqIndexDiffs::pkgAcqIndexDiffs(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, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<DiffInfo, std::allocator<DiffInfo> >)@Base" 0.8.0
+ (c++)"pkgAcqIndexDiffs::~pkgAcqIndexDiffs()@Base" 0.8.0
+ (c++)"pkgAcqIndexTrans::Custom600Headers()@Base" 0.8.0
+ (c++)"pkgAcqIndexTrans::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.0
+ (c++)"pkgAcqIndexTrans::pkgAcqIndexTrans(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> >)@Base" 0.8.0
+ (c++)"pkgAcqIndexTrans::~pkgAcqIndexTrans()@Base" 0.8.0
+ (c++)"pkgAcquireStatus::Done(pkgAcquire::ItemDesc&)@Base" 0.8.0
+ (c++)"pkgAcquireStatus::Fail(pkgAcquire::ItemDesc&)@Base" 0.8.0
+ (c++)"pkgAcquireStatus::Stop()@Base" 0.8.0
+ (c++)"pkgAcquireStatus::Fetch(pkgAcquire::ItemDesc&)@Base" 0.8.0
+ (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::pkgAcquireStatus()@Base" 0.8.0
+ (c++)"pkgAcquireStatus::~pkgAcquireStatus()@Base" 0.8.0
+ (c++)"PreferenceSection::TrimRecord(bool, char const*&)@Base" 0.8.0
+ (c++)"pkgArchiveCleaner::Go(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgCache&)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::ListParser::NewDepends(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&, unsigned int, unsigned int)@Base" 0.8.0
+ (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::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
+ (c++)"pkgCacheGenerator::SelectFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pkgIndexFile const&, unsigned long)@Base" 0.8.0
+ (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::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
+ (c++)"pkgCacheGenerator::WriteStringInMap(char const*, unsigned long const&)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::CreateDynamicMMap(FileFd*, unsigned long)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::MergeFileProvides(pkgCacheGenerator::ListParser&)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::MakeOnlyStatusCache(OpProgress*, DynamicMMap**)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::ReMap(void const*, void const*)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::Dynamic<pkgCache::DepIterator>::toReMap@Base" 0.8.0
+ (c++)"pkgCacheGenerator::Dynamic<pkgCache::GrpIterator>::toReMap@Base" 0.8.0
+ (c++)"pkgCacheGenerator::Dynamic<pkgCache::PkgIterator>::toReMap@Base" 0.8.0
+ (c++)"pkgCacheGenerator::Dynamic<pkgCache::PrvIterator>::toReMap@Base" 0.8.0
+ (c++)"pkgCacheGenerator::Dynamic<pkgCache::VerIterator>::toReMap@Base" 0.8.0
+ (c++)"pkgCacheGenerator::Dynamic<pkgCache::DescIterator>::toReMap@Base" 0.8.0
+ (c++)"pkgCacheGenerator::Dynamic<pkgCache::PkgFileIterator>::toReMap@Base" 0.8.0
+ (c++)"pkgCacheGenerator::NewGroup(pkgCache::GrpIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::MergeList(pkgCacheGenerator::ListParser&, pkgCache::VerIterator*)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::pkgCacheGenerator(DynamicMMap*, OpProgress*)@Base" 0.8.0
+ (c++)"pkgCacheGenerator::~pkgCacheGenerator()@Base" 0.8.0
+ (c++)"pkgPackageManager::FixMissing()@Base" 0.8.0
+ (c++)"pkgPackageManager::EarlyRemove(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgPackageManager::GetArchives(pkgAcquire*, pkgSourceList*, pkgRecords*)@Base" 0.8.0
+ (c++)"pkgPackageManager::SmartRemove(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgPackageManager::ConfigureAll()@Base" 0.8.0
+ (c++)"pkgPackageManager::ImmediateAdd(pkgCache::PkgIterator, bool, unsigned int const&)@Base" 0.8.0
+ (c++)"pkgPackageManager::OrderInstall()@Base" 0.8.0
+ (c++)"pkgPackageManager::DepAlwaysTrue(pkgCache::DepIterator)@Base" 0.8.0
+ (c++)"pkgPackageManager::SmartConfigure(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgPackageManager::CheckRConflicts(pkgCache::PkgIterator, pkgCache::DepIterator, char const*)@Base" 0.8.0
+ (c++)"pkgPackageManager::CreateOrderList()@Base" 0.8.0
+ (c++)"pkgPackageManager::DoInstallPostFork(int)@Base" 0.8.0
+ (c++)"pkgPackageManager::Go(int)@Base" 0.8.0
+ (c++)"pkgPackageManager::Reset()@Base" 0.8.0
+ (c++)"pkgPackageManager::DepAdd(pkgOrderList&, pkgCache::PkgIterator, int)@Base" 0.8.0
+ (c++)"pkgPackageManager::Remove(pkgCache::PkgIterator, bool)@Base" 0.8.0
+ (c++)"pkgPackageManager::Install(pkgCache::PkgIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgPackageManager::Configure(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgPackageManager::DoInstall(int)@Base" 0.8.0
+ (c++)"pkgPackageManager::pkgPackageManager(pkgDepCache*)@Base" 0.8.0
+ (c++)"pkgPackageManager::~pkgPackageManager()@Base" 0.8.0
+ (c++)"debSrcRecordParser::BuildDepends(std::vector<pkgSrcRecords::Parser::BuildDepRec, std::allocator<pkgSrcRecords::Parser::BuildDepRec> >&, bool const&, bool const&)@Base" 0.8.0
+ (c++)"debSrcRecordParser::Jump(unsigned long const&)@Base" 0.8.0
+ (c++)"debSrcRecordParser::Step()@Base" 0.8.0
+ (c++)"debSrcRecordParser::AsStr()@Base" 0.8.0
+ (c++)"debSrcRecordParser::Files(std::vector<pkgSrcRecords::File, std::allocator<pkgSrcRecords::File> >&)@Base" 0.8.0
+ (c++)"debSrcRecordParser::Offset()@Base" 0.8.0
+ (c++)"debSrcRecordParser::Restart()@Base" 0.8.0
+ (c++)"debSrcRecordParser::Binaries()@Base" 0.8.0
+ (c++)"debSrcRecordParser::~debSrcRecordParser()@Base" 0.8.0
+ (c++)"pkgProblemResolver::MakeScores()@Base" 0.8.0
+ (c++)"pkgProblemResolver::ResolveByKeep()@Base" 0.8.0
+ (c++)"pkgProblemResolver::InstallProtect()@Base" 0.8.0
+ (c++)"pkgProblemResolver::This@Base" 0.8.0
+ (c++)"pkgProblemResolver::Resolve(bool)@Base" 0.8.0
+ (c++)"pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgProblemResolver::ScoreSort(void const*, void const*)@Base" 0.8.0
+ (c++)"pkgProblemResolver::pkgProblemResolver(pkgDepCache*)@Base" 0.8.0
+ (c++)"pkgProblemResolver::~pkgProblemResolver()@Base" 0.8.0
+ (c++)"debVersioningSystem::CmpFragment(char const*, char const*, char const*, char const*)@Base" 0.8.0
+ (c++)"debVersioningSystem::DoCmpVersion(char const*, char const*, char const*, char const*)@Base" 0.8.0
+ (c++)"debVersioningSystem::DoCmpReleaseVer(char const*, char const*, char const*, char const*)@Base" 0.8.0
+ (c++)"debVersioningSystem::UpstreamVersion(char const*)@Base" 0.8.0
+ (c++)"debVersioningSystem::CheckDep(char const*, int, char const*)@Base" 0.8.0
+ (c++)"debVersioningSystem::debVersioningSystem()@Base" 0.8.0
+ (c++)"debVersioningSystem::~debVersioningSystem()@Base" 0.8.0
+ (c++)"pkgUdevCdromDevices::Scan()@Base" 0.8.0
+ (c++)"pkgUdevCdromDevices::Dlopen()@Base" 0.8.0
+ (c++)"pkgUdevCdromDevices::pkgUdevCdromDevices()@Base" 0.8.0
+ (c++)"pkgUdevCdromDevices::~pkgUdevCdromDevices()@Base" 0.8.0
+ (c++)"pkgVersioningSystem::GlobalList@Base" 0.8.0
+ (c++)"pkgVersioningSystem::GlobalListLen@Base" 0.8.0
+ (c++)"pkgVersioningSystem::TestCompatibility(pkgVersioningSystem const&)@Base" 0.8.0
+ (c++)"pkgVersioningSystem::GetVS(char const*)@Base" 0.8.0
+ (c++)"pkgVersioningSystem::pkgVersioningSystem()@Base" 0.8.0
+ (c++)"pkgVersioningSystem::~pkgVersioningSystem()@Base" 0.8.0
+ (c++)"debTranslationsIndex::debTranslationsIndex(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> >, char const*)@Base" 0.8.0
+ (c++)"debTranslationsIndex::~debTranslationsIndex()@Base" 0.8.0
+ (c++)"APT::PackageSet::FromString(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::PackageSet::FromCommandLine(pkgCacheFile&, char const**, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::PackageSet::GroupedFromCommandLine(pkgCacheFile&, char const**, std::list<APT::PackageSet::Modifier, std::allocator<APT::PackageSet::Modifier> > const&, unsigned short const&, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::PackageSet::FromName(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::PackageSet::FromTask(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::PackageSet::FromRegEx(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::PackageSet::~PackageSet()@Base" 0.8.0
+ (c++)"APT::VersionSet::FromString(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::VersionSet::Version const&, APT::CacheSetHelper&, bool const&)@Base" 0.8.0
+ (c++)"APT::VersionSet::FromPackage(pkgCacheFile&, pkgCache::PkgIterator const&, APT::VersionSet::Version const&, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::VersionSet::FromCommandLine(pkgCacheFile&, char const**, APT::VersionSet::Version const&, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::VersionSet::getCandidateVer(pkgCacheFile&, pkgCache::PkgIterator const&, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::VersionSet::getInstalledVer(pkgCacheFile&, pkgCache::PkgIterator const&, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::VersionSet::GroupedFromCommandLine(pkgCacheFile&, char const**, std::list<APT::VersionSet::Modifier, std::allocator<APT::VersionSet::Modifier> > const&, unsigned short const&, APT::CacheSetHelper&)@Base" 0.8.0
+ (c++)"APT::VersionSet::~VersionSet()@Base" 0.8.0
+ (c++)"APT::CacheFilter::PackageNameMatchesRegEx::PackageNameMatchesRegEx(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"APT::CacheFilter::PackageNameMatchesRegEx::~PackageNameMatchesRegEx()@Base" 0.8.0
+ (c++)"APT::CacheFilter::PackageNameMatchesRegEx::operator()(pkgCache::GrpIterator const&)@Base" 0.8.0
+ (c++)"APT::CacheFilter::PackageNameMatchesRegEx::operator()(pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"APT::Configuration::getLanguages(bool const&, bool const&, char const**)@Base" 0.8.0
+ (c++)"APT::Configuration::getArchitectures(bool const&)@Base" 0.8.0
+ (c++)"APT::Configuration::checkArchitecture(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"APT::Configuration::getCompressionTypes(bool const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindTask(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindRegEx(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindAllVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindPackage(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindPkgName(pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::showTaskSelection(APT::PackageSet const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::showRegExSelection(APT::PackageSet const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindNewestVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::showSelectedVersion(pkgCache::PkgIterator const&, pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindCandInstVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindInstCandVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindCandidateVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::canNotFindInstalledVer(pkgCacheFile&, pkgCache::PkgIterator const&)@Base" 0.8.0
+ (c++)"APT::CacheSetHelper::~CacheSetHelper()@Base" 0.8.0
+ (c++)"URI::NoUserPassword(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"URI::CopyFrom(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"URI::SiteOnly(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"URI::~URI()@Base" 0.8.0
+ (c++)"URI::operator std::basic_string<char, std::char_traits<char>, std::allocator<char> >()@Base" 0.8.0
+ (c++)"MMap::Map(FileFd&)@Base" 0.8.0
+ (c++)"MMap::Sync(unsigned long, unsigned long)@Base" 0.8.0
+ (c++)"MMap::Sync()@Base" 0.8.0
+ (c++)"MMap::Close(bool)@Base" 0.8.0
+ (c++)"MMap::MMap(FileFd&, unsigned long)@Base" 0.8.0
+ (c++)"MMap::MMap(unsigned long)@Base" 0.8.0
+ (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::Size()@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::~FileFd()@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
+ (c++)"DiffInfo::~DiffInfo()@Base" 0.8.0
+ (c++)"pkgCache::CompTypeDeb(unsigned char)@Base" 0.8.0
+ (c++)"pkgCache::DepIterator::GlobOr(pkgCache::DepIterator&, pkgCache::DepIterator&)@Base" 0.8.0
+ (c++)"pkgCache::DepIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::DepIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::GrpIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::GrpIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::PkgIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::PkgIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::PrvIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::PrvIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::VerIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::VerIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::DescIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::DescIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::PkgFileIterator::IsOk()@Base" 0.8.0
+ (c++)"pkgCache::PkgFileIterator::RelStr()@Base" 0.8.0
+ (c++)"pkgCache::PkgFileIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::PkgFileIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::VerFileIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::VerFileIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::DescFileIterator::operator++(int)@Base" 0.8.0
+ (c++)"pkgCache::DescFileIterator::operator++()@Base" 0.8.0
+ (c++)"pkgCache::SingleArchFindPkg(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"pkgCache::ReMap(bool const&)@Base" 0.8.0
+ (c++)"pkgCache::Header::Header()@Base" 0.8.0
+ (c++)"pkgCache::DepType(unsigned char)@Base" 0.8.0
+ (c++)"pkgCache::FindGrp(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"pkgCache::FindPkg(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"pkgCache::FindPkg(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++)"pkgCache::CompType(unsigned char)@Base" 0.8.0
+ (c++)"pkgCache::Priority(unsigned char)@Base" 0.8.0
+ (c++)"pkgCache::pkgCache(MMap*, bool)@Base" 0.8.0
+ (c++)"pkgCache::~pkgCache()@Base" 0.8.0
+ (c++)"pkgCdrom::DropRepeats(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, char const*)@Base" 0.8.0
+ (c++)"pkgCdrom::FindPackages(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<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::vector<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::vector<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::vector<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::basic_string<char, std::char_traits<char>, std::allocator<char> >&, pkgCdromStatus*, unsigned int)@Base" 0.8.0
+ (c++)"pkgCdrom::WriteDatabase(Configuration&)@Base" 0.8.0
+ (c++)"pkgCdrom::DropBinaryArch(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)@Base" 0.8.0
+ (c++)"pkgCdrom::WriteSourceList(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<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)@Base" 0.8.0
+ (c++)"pkgCdrom::ReduceSourcelist(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)@Base" 0.8.0
+ (c++)"pkgCdrom::Add(pkgCdromStatus*)@Base" 0.8.0
+ (c++)"pkgCdrom::Ident(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, pkgCdromStatus*)@Base" 0.8.0
+ (c++)"pkgCdrom::Score(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"IndexCopy::CopyPackages(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, pkgCdromStatus*)@Base" 0.8.0
+ (c++)"IndexCopy::ReconstructChop(unsigned long&, 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++)"IndexCopy::ReconstructPrefix(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> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"IndexCopy::ConvertToSourceList(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++)"IndexCopy::ChopDirs(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)@Base" 0.8.0
+ (c++)"IndexCopy::GrabFirst(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
+ (c++)"IndexCopy::~IndexCopy()@Base" 0.8.0
+ (c++)"SigVerify::CopyAndVerify(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<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::vector<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::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)@Base" 0.8.0
+ (c++)"SigVerify::CopyMetaIndex(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> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"SigVerify::Verify(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, indexRecords*)@Base" 0.8.0
+ (c++)"SigVerify::RunGPGV(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&, int*)@Base" 0.8.0
+ (c++)"debSystem::Initialize(Configuration&)@Base" 0.8.0
+ (c++)"debSystem::CheckUpdates()@Base" 0.8.0
+ (c++)"debSystem::AddStatusFiles(std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> >&)@Base" 0.8.0
+ (c++)"debSystem::ArchiveSupported(char const*)@Base" 0.8.0
+ (c++)"debSystem::Lock()@Base" 0.8.0
+ (c++)"debSystem::Score(Configuration const&)@Base" 0.8.0
+ (c++)"debSystem::UnLock(bool)@Base" 0.8.0
+ (c++)"debSystem::debSystem()@Base" 0.8.0
+ (c++)"debSystem::~debSystem()@Base" 0.8.0
+ (c++)"metaIndex::~metaIndex()@Base" 0.8.0
+ (c++)"pkgDPkgPM::SendV2Pkgs(_IO_FILE*)@Base" 0.8.0
+ (c++)"pkgDPkgPM::DoTerminalPty(int)@Base" 0.8.0
+ (c++)"pkgDPkgPM::DoDpkgStatusFd(int, int)@Base" 0.8.0
+ (c++)"pkgDPkgPM::WriteHistoryTag(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgDPkgPM::WriteApportReport(char const*, char const*)@Base" 0.8.0
+ (c++)"pkgDPkgPM::RunScriptsWithPkgs(char const*)@Base" 0.8.0
+ (c++)"pkgDPkgPM::ProcessDpkgStatusLine(int, char*)@Base" 0.8.0
+ (c++)"pkgDPkgPM::handleDisappearAction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.0
+ (c++)"pkgDPkgPM::Go(int)@Base" 0.8.0
+ (c++)"pkgDPkgPM::Reset()@Base" 0.8.0
+ (c++)"pkgDPkgPM::Remove(pkgCache::PkgIterator, bool)@Base" 0.8.0
+ (c++)"pkgDPkgPM::DoStdin(int)@Base" 0.8.0
+ (c++)"pkgDPkgPM::Install(pkgCache::PkgIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"pkgDPkgPM::OpenLog()@Base" 0.8.0
+ (c++)"pkgDPkgPM::CloseLog()@Base" 0.8.0
+ (c++)"pkgDPkgPM::Configure(pkgCache::PkgIterator)@Base" 0.8.0
+ (c++)"pkgDPkgPM::pkgDPkgPM(pkgDepCache*)@Base" 0.8.0
+ (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::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
+ (c++)"pkgPolicy::CreatePin(pkgVersionMatch::MatchType, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, short)@Base" 0.8.0
+ (c++)"pkgPolicy::pkgPolicy(pkgCache*)@Base" 0.8.0
+ (c++)"pkgPolicy::~pkgPolicy()@Base" 0.8.0
+ (c++)"pkgSystem::GlobalList@Base" 0.8.0
+ (c++)"pkgSystem::Initialize(Configuration&)@Base" 0.8.0
+ (c++)"pkgSystem::GlobalListLen@Base" 0.8.0
+ (c++)"pkgSystem::Score(Configuration const&)@Base" 0.8.0
+ (c++)"pkgSystem::GetSystem(char const*)@Base" 0.8.0
+ (c++)"pkgSystem::pkgSystem()@Base" 0.8.0
+ (c++)"pkgSystem::~pkgSystem()@Base" 0.8.0
+ (c++)"HashString::VerifyFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
+ (c++)"HashString::empty() const@Base" 0.8.0
+ (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++)"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
+ (c++)"indexRecords::GetExpectedDist() const@Base" 0.8.0
+ (c++)"indexRecords::Exists(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
+ (c++)"indexRecords::GetDist() const@Base" 0.8.0
+ (c++)"indexRecords::CheckDist(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
+ (c++)"pkgIndexFile::ArchiveURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
+ (c++)"pkgIndexFile::SourceInfo(pkgSrcRecords::Parser const&, pkgSrcRecords::File const&) const@Base" 0.8.0
+ (c++)"pkgIndexFile::ArchiveInfo(pkgCache::VerIterator) const@Base" 0.8.0
+ (c++)"pkgIndexFile::FindInCache(pkgCache&) const@Base" 0.8.0
+ (c++)"pkgIndexFile::CreateSrcParser() const@Base" 0.8.0
+ (c++)"pkgIndexFile::MergeFileProvides(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
+ (c++)"pkgIndexFile::MergeFileProvides(pkgCacheGenerator&, OpProgress&) const@Base" 0.8.0
+ (c++)"pkgIndexFile::Type::CreatePkgParser(pkgCache::PkgFileIterator) const@Base" 0.8.0
+ (c++)"pkgIndexFile::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
+ (c++)"pkgIndexFile::Merge(pkgCacheGenerator&, OpProgress&) const@Base" 0.8.0
+ (c++)"Configuration::FindVector(char const*) const@Base" 0.8.0
+ (c++)"Configuration::MatchAgainstConfig::Match(char const*) const@Base" 0.8.0
+ (c++)"Configuration::Find(char const*, char const*) const@Base" 0.8.0
+ (c++)"Configuration::Item::FullTag(Configuration::Item const*) const@Base" 0.8.0
+ (c++)"Configuration::FindB(char const*, bool const&) const@Base" 0.8.0
+ (c++)"Configuration::FindI(char const*, int const&) const@Base" 0.8.0
+ (c++)"Configuration::Exists(char const*) const@Base" 0.8.0
+ (c++)"Configuration::FindAny(char const*, char const*) const@Base" 0.8.0
+ (c++)"Configuration::FindDir(char const*, char const*) const@Base" 0.8.0
+ (c++)"Configuration::FindFile(char const*, char const*) const@Base" 0.8.0
+ (c++)"Configuration::ExistsAny(char const*) const@Base" 0.8.0
+ (c++)"pkgSourceList::GetIndexes(pkgAcquire*, bool) const@Base" 0.8.0
+ (c++)"pkgSourceList::Type::FixupURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const@Base" 0.8.0
+ (c++)"pkgSourceList::Type::ParseLine(std::vector<metaIndex*, std::allocator<metaIndex*> >&, char const*, unsigned long const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
+ (c++)"pkgSourceList::FindIndex(pkgCache::PkgFileIterator, pkgIndexFile*&) const@Base" 0.8.0
+ (c++)"pkgTagSection::Find(char const*, char const*&, char const*&) const@Base" 0.8.0
+ (c++)"pkgTagSection::Find(char const*, unsigned int&) const@Base" 0.8.0
+ (c++)"pkgTagSection::FindI(char const*, long) const@Base" 0.8.0
+ (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++)"debStatusIndex::FindInCache(pkgCache&) const@Base" 0.8.0
+ (c++)"debStatusIndex::HasPackages() const@Base" 0.8.0
+ (c++)"debStatusIndex::Size() const@Base" 0.8.0
+ (c++)"debStatusIndex::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
+ (c++)"debStatusIndex::Exists() const@Base" 0.8.0
+ (c++)"debStatusIndex::GetType() const@Base" 0.8.0
+ (c++)"debStatusIndex::Describe(bool) const@Base" 0.8.0
+ (c++)"debIFTypeStatus::CreatePkgParser(pkgCache::PkgFileIterator) const@Base" 0.8.0
+ (c++)"debReleaseIndex::ArchiveURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
+ (c++)"debReleaseIndex::GetIndexes(pkgAcquire*, bool const&) const@Base" 0.8.0
+ (c++)"debReleaseIndex::MetaIndexURI(char const*) const@Base" 0.8.0
+ (c++)"debReleaseIndex::MetaIndexFile(char const*) const@Base" 0.8.0
+ (c++)"debReleaseIndex::MetaIndexInfo(char const*) const@Base" 0.8.0
+ (c++)"debReleaseIndex::IndexURISuffix(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&) const@Base" 0.8.0
+ (c++)"debReleaseIndex::SourceIndexURI(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
+ (c++)"debReleaseIndex::ComputeIndexTargets() const@Base" 0.8.0
+ (c++)"debReleaseIndex::SourceIndexURISuffix(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
+ (c++)"debReleaseIndex::Info(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&) const@Base" 0.8.0
+ (c++)"debReleaseIndex::IndexURI(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&) const@Base" 0.8.0
+ (c++)"debReleaseIndex::IsTrusted() const@Base" 0.8.0
+ (c++)"debSLTypeDebSrc::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++)"debSLTypeDebian::CreateItemInternal(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&, bool 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++)"debSourcesIndex::ArchiveURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
+ (c++)"debSourcesIndex::SourceInfo(pkgSrcRecords::Parser const&, pkgSrcRecords::File const&) const@Base" 0.8.0
+ (c++)"debSourcesIndex::HasPackages() const@Base" 0.8.0
+ (c++)"debSourcesIndex::CreateSrcParser() const@Base" 0.8.0
+ (c++)"debSourcesIndex::Info(char const*) const@Base" 0.8.0
+ (c++)"debSourcesIndex::Size() const@Base" 0.8.0
+ (c++)"debSourcesIndex::Exists() const@Base" 0.8.0
+ (c++)"debSourcesIndex::GetType() const@Base" 0.8.0
+ (c++)"debSourcesIndex::Describe(bool) const@Base" 0.8.0
+ (c++)"debSourcesIndex::IndexURI(char const*) const@Base" 0.8.0
+ (c++)"debPackagesIndex::ArchiveURI(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
+ (c++)"debPackagesIndex::ArchiveInfo(pkgCache::VerIterator) const@Base" 0.8.0
+ (c++)"debPackagesIndex::FindInCache(pkgCache&) const@Base" 0.8.0
+ (c++)"debPackagesIndex::HasPackages() const@Base" 0.8.0
+ (c++)"debPackagesIndex::Info(char const*) const@Base" 0.8.0
+ (c++)"debPackagesIndex::Size() const@Base" 0.8.0
+ (c++)"debPackagesIndex::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
+ (c++)"debPackagesIndex::Exists() const@Base" 0.8.0
+ (c++)"debPackagesIndex::GetType() const@Base" 0.8.0
+ (c++)"debPackagesIndex::Describe(bool) const@Base" 0.8.0
+ (c++)"debPackagesIndex::IndexURI(char const*) const@Base" 0.8.0
+ (c++)"debSrcRecordParser::Maintainer() const@Base" 0.8.0
+ (c++)"debSrcRecordParser::Package() const@Base" 0.8.0
+ (c++)"debSrcRecordParser::Section() const@Base" 0.8.0
+ (c++)"debSrcRecordParser::Version() const@Base" 0.8.0
+ (c++)"debTranslationsIndex::GetIndexes(pkgAcquire*) const@Base" 0.8.0
+ (c++)"debTranslationsIndex::FindInCache(pkgCache&) const@Base" 0.8.0
+ (c++)"debTranslationsIndex::HasPackages() const@Base" 0.8.0
+ (c++)"debTranslationsIndex::Info(char const*) const@Base" 0.8.0
+ (c++)"debTranslationsIndex::Size() const@Base" 0.8.0
+ (c++)"debTranslationsIndex::Merge(pkgCacheGenerator&, OpProgress*) const@Base" 0.8.0
+ (c++)"debTranslationsIndex::Exists() const@Base" 0.8.0
+ (c++)"debTranslationsIndex::GetType() const@Base" 0.8.0
+ (c++)"debTranslationsIndex::Describe(bool) const@Base" 0.8.0
+ (c++)"debTranslationsIndex::IndexURI(char const*) const@Base" 0.8.0
+ (c++)"Vendor::GetVendorID() const@Base" 0.8.0
+ (c++)"Vendor::LookupFingerprint(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
+ (c++)"pkgCache::DepIterator::AllTargets() const@Base" 0.8.0
+ (c++)"pkgCache::DepIterator::IsCritical() const@Base" 0.8.0
+ (c++)"pkgCache::DepIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"pkgCache::DepIterator::SmartTargetPkg(pkgCache::PkgIterator&) const@Base" 0.8.0
+ (c++)"pkgCache::GrpIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"pkgCache::GrpIterator::FindPreferredPkg(bool const&) const@Base" 0.8.0
+ (c++)"pkgCache::GrpIterator::FindPkg(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.8.0
+ (c++)"pkgCache::GrpIterator::NextPkg(pkgCache::PkgIterator const&) const@Base" 0.8.0
+ (c++)"pkgCache::PkgIterator::CurVersion() const@Base" 0.8.0
+ (c++)"pkgCache::PkgIterator::CandVersion() const@Base" 0.8.0
+ (c++)"pkgCache::PkgIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"pkgCache::PkgIterator::State() const@Base" 0.8.0
+ (c++)"pkgCache::PkgIterator::FullName(bool const&) const@Base" 0.8.0
+ (c++)"pkgCache::PrvIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"pkgCache::VerIterator::CompareVer(pkgCache::VerIterator const&) const@Base" 0.8.0
+ (c++)"pkgCache::VerIterator::NewestFile() const@Base" 0.8.0
+ (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::RelStr() const@Base" 0.8.0
+ (c++)"pkgCache::VerIterator::Automatic() const@Base" 0.8.0
+ (c++)"pkgCache::DescIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"pkgCache::PkgFileIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"pkgCache::VerFileIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"pkgCache::DescFileIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"pkgCache::sHash(char const*) const@Base" 0.8.0
+ (c++)"pkgCache::sHash(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.0
+ (c++)"pkgCache::Header::CheckSizes(pkgCache::Header&) const@Base" 0.8.0
+ (c++)"debSystem::CreatePM(pkgDepCache*) const@Base" 0.8.0
+ (c++)"debSystem::FindIndex(pkgCache::PkgFileIterator, pkgIndexFile*&) const@Base" 0.8.0
+ (c++)"metaIndex::GetURI() const@Base" 0.8.0
+ (c++)"metaIndex::GetDist() const@Base" 0.8.0
+ (c++)"metaIndex::GetType() const@Base" 0.8.0
+ (c++)"typeinfo for OpProgress@Base" 0.8.0
+ (c++)"typeinfo for SourceCopy@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqFile@Base" 0.8.0
+ (c++)"typeinfo for pkgAcquire@Base" 0.8.0
+ (c++)"typeinfo for DynamicMMap@Base" 0.8.0
+ (c++)"typeinfo for PackageCopy@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqIndex@Base" 0.8.0
+ (c++)"typeinfo for pkgDepCache@Base" 0.8.0
+ (c++)"typeinfo for pkgSimulate@Base" 0.8.0
+ (c++)"typeinfo for debIFTypePkg@Base" 0.8.0
+ (c++)"typeinfo for debIFTypeSrc@Base" 0.8.0
+ (c++)"typeinfo for debSLTypeDeb@Base" 0.8.0
+ (c++)"typeinfo for indexRecords@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqMethod@Base" 0.8.0
+ (c++)"typeinfo for pkgCacheFile@Base" 0.8.0
+ (c++)"typeinfo for pkgIndexFile@Base" 0.8.0
+ (c++)"typeinfo for WeakPointable@Base" 0.8.0
+ (c++)"typeinfo for debListParser@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqArchive@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqMetaSig@Base" 0.8.0
+ (c++)"typeinfo for pkgTagSection@Base" 0.8.0
+ (c++)"typeinfo for OpTextProgress@Base" 0.8.0
+ (c++)"typeinfo for debIFTypeTrans@Base" 0.8.0
+ (c++)"typeinfo for debStatusIndex@Base" 0.8.0
+ (c++)"typeinfo for debIFTypeStatus@Base" 0.8.0
+ (c++)"typeinfo for debRecordParser@Base" 0.8.0
+ (c++)"typeinfo for debReleaseIndex@Base" 0.8.0
+ (c++)"typeinfo for debSLTypeDebSrc@Base" 0.8.0
+ (c++)"typeinfo for debSLTypeDebian@Base" 0.8.0
+ (c++)"typeinfo for debSourcesIndex@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqDiffIndex@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqMetaIndex@Base" 0.8.0
+ (c++)"typeinfo for debPackagesIndex@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqIndexDiffs@Base" 0.8.0
+ (c++)"typeinfo for pkgAcqIndexTrans@Base" 0.8.0
+ (c++)"typeinfo for pkgAcquireStatus@Base" 0.8.0
+ (c++)"typeinfo for PreferenceSection@Base" 0.8.0
+ (c++)"typeinfo for pkgPackageManager@Base" 0.8.0
+ (c++)"typeinfo for debSrcRecordParser@Base" 0.8.0
+ (c++)"typeinfo for debVersioningSystem@Base" 0.8.0
+ (c++)"typeinfo for pkgUdevCdromDevices@Base" 0.8.0
+ (c++)"typeinfo for pkgVersioningSystem@Base" 0.8.0
+ (c++)"typeinfo for debTranslationsIndex@Base" 0.8.0
+ (c++)"typeinfo for MMap@Base" 0.8.0
+ (c++)"typeinfo for FileFd@Base" 0.8.0
+ (c++)"typeinfo for Vendor@Base" 0.8.0
+ (c++)"typeinfo for pkgCache@Base" 0.8.0
+ (c++)"typeinfo for IndexCopy@Base" 0.8.0
+ (c++)"typeinfo for debSystem@Base" 0.8.0
+ (c++)"typeinfo for metaIndex@Base" 0.8.0
+ (c++)"typeinfo for pkgDPkgPM@Base" 0.8.0
+ (c++)"typeinfo for pkgPolicy@Base" 0.8.0
+ (c++)"typeinfo for pkgSystem@Base" 0.8.0
+ (c++)"typeinfo for pkgAcquire::Item@Base" 0.8.0
+ (c++)"typeinfo for pkgRecords::Parser@Base" 0.8.0
+ (c++)"typeinfo for pkgDepCache::InRootSetFunc@Base" 0.8.0
+ (c++)"typeinfo for pkgDepCache::DefaultRootSetFunc@Base" 0.8.0
+ (c++)"typeinfo for pkgDepCache::Policy@Base" 0.8.0
+ (c++)"typeinfo for pkgSimulate::Policy@Base" 0.8.0
+ (c++)"typeinfo for pkgIndexFile::Type@Base" 0.8.0
+ (c++)"typeinfo for Configuration::MatchAgainstConfig@Base" 0.8.0
+ (c++)"typeinfo for pkgSourceList::Type@Base" 0.8.0
+ (c++)"typeinfo for pkgSrcRecords::Parser@Base" 0.8.0
+ (c++)"typeinfo for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++)"typeinfo for APT::CacheSetHelper@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::DepIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::GrpIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::PkgIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::PrvIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::VerIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::DescIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::PkgFileIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::VerFileIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::DescFileIterator@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::Description, pkgCache::DescIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::PackageFile, pkgCache::PkgFileIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::Group, pkgCache::GrpIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::VerFile, pkgCache::VerFileIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::DescFile, pkgCache::DescFileIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Iterator<pkgCache::Provides, pkgCache::PrvIterator>@Base" 0.8.0
+ (c++)"typeinfo for pkgCache::Namespace@Base" 0.8.0
+ (c++)"typeinfo name for OpProgress@Base" 0.8.0
+ (c++)"typeinfo name for SourceCopy@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqFile@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcquire@Base" 0.8.0
+ (c++)"typeinfo name for DynamicMMap@Base" 0.8.0
+ (c++)"typeinfo name for PackageCopy@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqIndex@Base" 0.8.0
+ (c++)"typeinfo name for pkgDepCache@Base" 0.8.0
+ (c++)"typeinfo name for pkgSimulate@Base" 0.8.0
+ (c++)"typeinfo name for debIFTypePkg@Base" 0.8.0
+ (c++)"typeinfo name for debIFTypeSrc@Base" 0.8.0
+ (c++)"typeinfo name for debSLTypeDeb@Base" 0.8.0
+ (c++)"typeinfo name for indexRecords@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqMethod@Base" 0.8.0
+ (c++)"typeinfo name for pkgCacheFile@Base" 0.8.0
+ (c++)"typeinfo name for pkgIndexFile@Base" 0.8.0
+ (c++)"typeinfo name for WeakPointable@Base" 0.8.0
+ (c++)"typeinfo name for debListParser@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqArchive@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqMetaSig@Base" 0.8.0
+ (c++)"typeinfo name for pkgTagSection@Base" 0.8.0
+ (c++)"typeinfo name for OpTextProgress@Base" 0.8.0
+ (c++)"typeinfo name for debIFTypeTrans@Base" 0.8.0
+ (c++)"typeinfo name for debStatusIndex@Base" 0.8.0
+ (c++)"typeinfo name for debIFTypeStatus@Base" 0.8.0
+ (c++)"typeinfo name for debRecordParser@Base" 0.8.0
+ (c++)"typeinfo name for debReleaseIndex@Base" 0.8.0
+ (c++)"typeinfo name for debSLTypeDebSrc@Base" 0.8.0
+ (c++)"typeinfo name for debSLTypeDebian@Base" 0.8.0
+ (c++)"typeinfo name for debSourcesIndex@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqDiffIndex@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqMetaIndex@Base" 0.8.0
+ (c++)"typeinfo name for debPackagesIndex@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqIndexDiffs@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcqIndexTrans@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcquireStatus@Base" 0.8.0
+ (c++)"typeinfo name for PreferenceSection@Base" 0.8.0
+ (c++)"typeinfo name for pkgPackageManager@Base" 0.8.0
+ (c++)"typeinfo name for debSrcRecordParser@Base" 0.8.0
+ (c++)"typeinfo name for debVersioningSystem@Base" 0.8.0
+ (c++)"typeinfo name for pkgUdevCdromDevices@Base" 0.8.0
+ (c++)"typeinfo name for pkgVersioningSystem@Base" 0.8.0
+ (c++)"typeinfo name for debTranslationsIndex@Base" 0.8.0
+ (c++)"typeinfo name for MMap@Base" 0.8.0
+ (c++)"typeinfo name for FileFd@Base" 0.8.0
+ (c++)"typeinfo name for Vendor@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache@Base" 0.8.0
+ (c++)"typeinfo name for IndexCopy@Base" 0.8.0
+ (c++)"typeinfo name for debSystem@Base" 0.8.0
+ (c++)"typeinfo name for metaIndex@Base" 0.8.0
+ (c++)"typeinfo name for pkgDPkgPM@Base" 0.8.0
+ (c++)"typeinfo name for pkgPolicy@Base" 0.8.0
+ (c++)"typeinfo name for pkgSystem@Base" 0.8.0
+ (c++)"typeinfo name for pkgAcquire::Item@Base" 0.8.0
+ (c++)"typeinfo name for pkgRecords::Parser@Base" 0.8.0
+ (c++)"typeinfo name for pkgDepCache::InRootSetFunc@Base" 0.8.0
+ (c++)"typeinfo name for pkgDepCache::DefaultRootSetFunc@Base" 0.8.0
+ (c++)"typeinfo name for pkgDepCache::Policy@Base" 0.8.0
+ (c++)"typeinfo name for pkgSimulate::Policy@Base" 0.8.0
+ (c++)"typeinfo name for pkgIndexFile::Type@Base" 0.8.0
+ (c++)"typeinfo name for Configuration::MatchAgainstConfig@Base" 0.8.0
+ (c++)"typeinfo name for pkgSourceList::Type@Base" 0.8.0
+ (c++)"typeinfo name for pkgSrcRecords::Parser@Base" 0.8.0
+ (c++)"typeinfo name for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++)"typeinfo name for APT::CacheSetHelper@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::DepIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::GrpIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::PkgIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::PrvIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::VerIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::DescIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::PkgFileIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::VerFileIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::DescFileIterator@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Description, pkgCache::DescIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::PackageFile, pkgCache::PkgFileIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Group, pkgCache::GrpIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::VerFile, pkgCache::VerFileIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::DescFile, pkgCache::DescFileIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Iterator<pkgCache::Provides, pkgCache::PrvIterator>@Base" 0.8.0
+ (c++)"typeinfo name for pkgCache::Namespace@Base" 0.8.0
+ (c++)"vtable for OpProgress@Base" 0.8.0
+ (c++)"vtable for SourceCopy@Base" 0.8.0
+ (c++)"vtable for pkgAcqFile@Base" 0.8.0
+ (c++)"vtable for pkgAcquire@Base" 0.8.0
+ (c++)"vtable for DynamicMMap@Base" 0.8.0
+ (c++)"vtable for PackageCopy@Base" 0.8.0
+ (c++)"vtable for pkgAcqIndex@Base" 0.8.0
+ (c++)"vtable for pkgDepCache@Base" 0.8.0
+ (c++)"vtable for pkgSimulate@Base" 0.8.0
+ (c++)"vtable for debIFTypePkg@Base" 0.8.0
+ (c++)"vtable for debIFTypeSrc@Base" 0.8.0
+ (c++)"vtable for debSLTypeDeb@Base" 0.8.0
+ (c++)"vtable for indexRecords@Base" 0.8.0
+ (c++)"vtable for pkgAcqMethod@Base" 0.8.0
+ (c++)"vtable for pkgCacheFile@Base" 0.8.0
+ (c++)"vtable for pkgIndexFile@Base" 0.8.0
+ (c++)"vtable for debListParser@Base" 0.8.0
+ (c++)"vtable for pkgAcqArchive@Base" 0.8.0
+ (c++)"vtable for pkgAcqMetaSig@Base" 0.8.0
+ (c++)"vtable for pkgTagSection@Base" 0.8.0
+ (c++)"vtable for OpTextProgress@Base" 0.8.0
+ (c++)"vtable for debIFTypeTrans@Base" 0.8.0
+ (c++)"vtable for debStatusIndex@Base" 0.8.0
+ (c++)"vtable for debIFTypeStatus@Base" 0.8.0
+ (c++)"vtable for debRecordParser@Base" 0.8.0
+ (c++)"vtable for debReleaseIndex@Base" 0.8.0
+ (c++)"vtable for debSLTypeDebSrc@Base" 0.8.0
+ (c++)"vtable for debSLTypeDebian@Base" 0.8.0
+ (c++)"vtable for debSourcesIndex@Base" 0.8.0
+ (c++)"vtable for pkgAcqDiffIndex@Base" 0.8.0
+ (c++)"vtable for pkgAcqMetaIndex@Base" 0.8.0
+ (c++)"vtable for debPackagesIndex@Base" 0.8.0
+ (c++)"vtable for pkgAcqIndexDiffs@Base" 0.8.0
+ (c++)"vtable for pkgAcqIndexTrans@Base" 0.8.0
+ (c++)"vtable for pkgAcquireStatus@Base" 0.8.0
+ (c++)"vtable for PreferenceSection@Base" 0.8.0
+ (c++)"vtable for pkgPackageManager@Base" 0.8.0
+ (c++)"vtable for debSrcRecordParser@Base" 0.8.0
+ (c++)"vtable for debVersioningSystem@Base" 0.8.0
+ (c++)"vtable for pkgUdevCdromDevices@Base" 0.8.0
+ (c++)"vtable for pkgVersioningSystem@Base" 0.8.0
+ (c++)"vtable for debTranslationsIndex@Base" 0.8.0
+ (c++)"vtable for MMap@Base" 0.8.0
+ (c++)"vtable for FileFd@Base" 0.8.0
+ (c++)"vtable for Vendor@Base" 0.8.0
+ (c++)"vtable for pkgCache@Base" 0.8.0
+ (c++)"vtable for IndexCopy@Base" 0.8.0
+ (c++)"vtable for debSystem@Base" 0.8.0
+ (c++)"vtable for metaIndex@Base" 0.8.0
+ (c++)"vtable for pkgDPkgPM@Base" 0.8.0
+ (c++)"vtable for pkgPolicy@Base" 0.8.0
+ (c++)"vtable for pkgSystem@Base" 0.8.0
+ (c++)"vtable for pkgAcquire::Item@Base" 0.8.0
+ (c++)"vtable for pkgRecords::Parser@Base" 0.8.0
+ (c++)"vtable for pkgDepCache::InRootSetFunc@Base" 0.8.0
+ (c++)"vtable for pkgDepCache::DefaultRootSetFunc@Base" 0.8.0
+ (c++)"vtable for pkgDepCache::Policy@Base" 0.8.0
+ (c++)"vtable for pkgSimulate::Policy@Base" 0.8.0
+ (c++)"vtable for pkgIndexFile::Type@Base" 0.8.0
+ (c++)"vtable for Configuration::MatchAgainstConfig@Base" 0.8.0
+ (c++)"vtable for pkgSourceList::Type@Base" 0.8.0
+ (c++)"vtable for pkgSrcRecords::Parser@Base" 0.8.0
+ (c++)"vtable for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++)"vtable for APT::CacheSetHelper@Base" 0.8.0
+ (c++)"vtable for pkgCache::DepIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::GrpIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::PkgIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::PrvIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::VerIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::DescIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::PkgFileIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::VerFileIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::DescFileIterator@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::Description, pkgCache::DescIterator>@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::PackageFile, pkgCache::PkgFileIterator>@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::Group, pkgCache::GrpIterator>@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::VerFile, pkgCache::VerFileIterator>@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::DescFile, pkgCache::DescFileIterator>@Base" 0.8.0
+ (c++)"vtable for pkgCache::Iterator<pkgCache::Provides, pkgCache::PrvIterator>@Base" 0.8.0
+ (c++)"non-virtual thunk to pkgDepCache::DefaultRootSetFunc::~DefaultRootSetFunc()@Base" 0.8.0
+ (c++)"operator<<(std::basic_ostream<char, std::char_traits<char> >&, pkgCache::DepIterator)@Base" 0.8.0
+ (c++)"operator<<(std::basic_ostream<char, std::char_traits<char> >&, pkgCache::PkgIterator)@Base" 0.8.0
+ _apt_DebSrcType@Base 0.8.0
+ _apt_DebType@Base 0.8.0
+ _config@Base 0.8.0
+ _system@Base 0.8.0
+ debSys@Base 0.8.0
+ debVS@Base 0.8.0
+ pkgLibVersion@Base 0.8.0
+ pkgVersion@Base 0.8.0
+### demangle strangeness - buildd report it as MISSING and as new…
+ (c++)"pkgAcqMetaSig::pkgAcqMetaSig(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> >, 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> >, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.0
+### gcc-4.4 specific
+# (c++|optional=inherent)"APT::PackageSet::PackageSet(APT::PackageSet const&)@Base" 0.8.0
+# (c++|optional=inline)"stringcasecmp(char const*, char const*, char const*)@Base" 0.8.0
+# (arch=armel|c++|optional=inline)"stringcasecmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)@Base" 0.8.0
+# (c++|optional=inherent)"APT::VersionSet::insert(pkgCache::VerIterator const&)@Base" 0.8.0
+# (c++|optional=inline)"APT::VersionSet::insert(APT::VersionSet const&)@Base" 0.8.0
+# (c++|optional=private)"debTranslationsIndex::IndexFile(char const*) const@Base" 0.8.0
+# (c++|optional=inline)"pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>::end() const@Base" 0.8.0
+# (c++|optional=inherent)"HashString::operator=(HashString const&)@Base" 0.8.0
+# (c++|regex|optional=std)"^std::less<[^ ]+>::operator\(\)\(.+\) const@Base$" 0.8.0
+# (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0
+# (c++|regex|optional=std)"^pkgCache::(Dep|Pkg|Ver|Grp|Prv|Desc|PkgFile)Iterator\*\* std::_.+@Base$" 0.8.0
+### gcc-4.5 specific
+# (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0
+# (c++|optional=inline)"FileFd::FileFd(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, FileFd::OpenMode, unsigned long)@Base" 0.8.0
+# (c++|regex|optional=template)"^SPtrArray<[^ ]+>::~SPtrArray\(\)@Base$" 0.8.0
+# (c++|optional=template)"SPtrArray<unsigned char>::~SPtrArray()@Base" 0.8.0
+### gcc-4.6 specific
+ (c++|optional=template)"SPtrArray<pkgCache::Version*>::~SPtrArray()@Base" 0.8.0
+ (c++|regex|optional=std)"^std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char( const|)\*>\(.+\)@Base$" 0.8.0
+ (c++|regex|optional=std)"^std::vector<DiffInfo, .+@Base$" 0.8.0
+ (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
+ (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
+ (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
+### 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
+### 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
+ (c++|regex|optional=std)"^(void |DiffInfo\* |)std::_.*@Base$" 0.8.0
+ (c++|regex|optional=std)"^(bool|void) std::(operator|sort_heap|make_heap)[^ ]+<.+ >\(.+\)@Base$" 0.8.0
+ (c++|regex|optional=std)"^std::reverse_iterator<.+ > std::__.+@Base$" 0.8.0
+ (c++|regex|optional=std)"^std::basic_string<.+ >\(.+\)@Base$" 0.8.0
+ (c++|regex|optional=std)"^__gnu_cxx::__[^ ]+<.*@Base$" 0.8.0
+ (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
+ (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
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
# 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
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
#
# 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* \
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$@
# 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$@
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
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$@
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$@
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$@
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$@
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$@
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
<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>
<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
<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>
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.
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.
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',
<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>
APT
{
Architecture "i386";
+ Architectures { "amd64"; "armel"; };
Build-Essential "build-essential";
NeverAutoRemove { "linux-image.*"; }; // packages that should never
// Options for apt-get
Get
{
+ Host-Architecture "armel";
Arch-Only "false";
AllowUnauthenticated "false";
AutomaticRemove "false";
--- /dev/null
+# 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
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"
#. 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>
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 ""
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 ""
#: 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>."
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
"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 "
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 "
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 "
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: "
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 "
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 "
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 "
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 "
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."
#: 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>
#. 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 "
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 ""
#: 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 ""
"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 "
#: 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 ""
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> "
"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>
#: 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 ""
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"
#. 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
"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>"
"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>"
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>."
"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>"
#. 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"
#. 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"
#. 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"
"<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>"
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;"
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 ""
"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>."
"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 "
"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 "
"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 "
"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</"
"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>."
"<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 "
"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 "
"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 "
"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\"/>"
">"
#. 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."
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."
#. 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."
"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 "
"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;"
"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 "
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 "
"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 "
#. 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 "
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 "
"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, "
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>"
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"
#. 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>
"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>"
"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>"
#. 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>."
"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>"
#. 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"
#. 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"
#. 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"
"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>"
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;"
#. 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>."
"«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 "
"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 "
"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 "
"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</"
"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>."
"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 "
"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 "
"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 "
"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\"/>"
"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."
#: 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>
#. 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."
"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 "
"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;"
#| "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 "
"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 "
#: 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 ""
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 "
"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_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 ""
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>"
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"
#. 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>
"<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>"
"<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>"
#. 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>."
"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>"
#. 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"
#. 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"
#. 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"
"\"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>"
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;"
#. 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>."
"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 "
"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 "
"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 "
"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</"
"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>."
"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 "
"<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 "
"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 "
"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\"/>"
"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."
#: 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."
#. 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."
"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 "
"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;"
#. 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>"
#. 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 "
#: 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 "
#. 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 "
"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_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 ""
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>"
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"
#. 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>
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 ""
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 ""
#: 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>."
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 ""
#. 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 ""
#. 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"
#. 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 ""
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 ""
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 ""
"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 "
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 "
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 "
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</"
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 "
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 "
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 "
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."
#: 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>
#. 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 "
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 ""
#: 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>
"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 "
#: 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 ""
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 "
"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_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 ""
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"
# 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>
"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>"
"<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>"
#, 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>."
"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>"
# 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 "ファイル"
# 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"
# 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 "診断メッセージ"
# 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>"
# 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;"
#. 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>."
# 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 "
"<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 "
"<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 "
"<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</"
"選択します。設定項目 - <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>."
"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> "
"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 "
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 "
# 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 ""
# 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\"/>"
# 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."
#: 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>
"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."
# 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 "
"加されます。"
#. 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 ""
# 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;"
#| "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>\" となっており、英数"
"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 "
#: 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 ""
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 "
"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_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 ""
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>"
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"
#. 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>
"<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>"
"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>"
#| "<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>."
"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>"
#. 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"
#. 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"
#. 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"
"\"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>"
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;"
"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. "
#
#. 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 "
"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 "
"<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 "
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> "
"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::"
"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</"
"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 "
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 "
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\"/>"
#
#. 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."
#: 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>
#: 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."
"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 "
"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;"
#. 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
"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 "
#: 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 ""
#. 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
"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_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 ""
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>"
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"
#. 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
"<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>"
"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>"
#. 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>."
"<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>"
#. 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"
#. 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"
#. 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"
"\"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>"
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;"
#. 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>."
"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 "
"<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 "
"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 "
"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</"
"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>."
"<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 "
"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 "
"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 "
"<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\"/>"
"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."
#: 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>
#. 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."
"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 "
"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;"
#| "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 "
"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 "
#: 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 ""
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 "
"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_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 ""
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>"
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"
#. 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
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 ""
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 ""
#: 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>."
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 ""
#. 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 ""
#. 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
#. 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 ""
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 ""
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;"
"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 "
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 "
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 "
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</"
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 "
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 "
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 "
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."
#: 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>
#. 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 ""
"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 "
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;"
#: 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>
"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 "
#: 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 ""
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 "
"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_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 ""
<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.
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
<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>
##################################################################### */
/*}}}*/
// 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;
Packages.Output = 0; // Just in case
// Finish compressing
- unsigned long Size;
+ unsigned long long Size;
if (Comp.Finalize(Size) == false)
{
c0out << endl;
Sources.Output = 0; // Just in case
// Finish compressing
- unsigned long Size;
+ unsigned long long Size;
if (Comp.Finalize(Size) == false)
{
c0out << endl;
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);
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;
Contents.Finish();
// Finish compressing
- unsigned long Size;
+ unsigned long long Size;
if (Comp.Finalize(Size) == false || _error->PendingError() == true)
{
c0out << endl;
// 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();
}
// 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();
}
// 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;
// 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),
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 ||
_error->DumpErrors();
string CacheDB = I->BinCacheDB;
- for (; I != PkgList.end() && I->BinCacheDB == CacheDB; I++);
+ for (; I != PkgList.end() && I->BinCacheDB == CacheDB; ++I);
}
return true;
##################################################################### */
/*}}}*/
// 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 /*{{{*/
// ---------------------------------------------------------------------
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;
|| (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;
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
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;
string MD5Res;
string SHA1Res;
string SHA256Res;
+ string SHA512Res;
// Runtime statistics
struct Stats
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;
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();
##################################################################### */
/*}}}*/
// 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>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
+
+#include <apti18n.h>
+#include "contents.h"
/*}}}*/
// GenContents::~GenContents - Free allocated memory /*{{{*/
// 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)
{
// 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) {};
##################################################################### */
/*}}}*/
// 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;
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();
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();
// 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)
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)
{
// Compute the hash
MD5Summation OldMD5;
- unsigned long NewFileSize = 0;
+ unsigned long long NewFileSize = 0;
while (1)
{
int Res = read(CompFd,Buffer,sizeof(Buffer));
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);
##################################################################### */
/*}}}*/
// 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"
/*}}}*/
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++;
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;
}
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;
}
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;
}
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++;
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;
}
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;
}
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;
}
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;
}
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;
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)
##################################################################### */
/*}}}*/
// 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>
#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;
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
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 &&
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);
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;
}
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;
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);
}
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);
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);
MD5Summation MD5;
SHA1Summation SHA1;
SHA256Summation SHA256;
+ SHA256Summation SHA512;
if (DoMD5 == true)
MD5.Add((unsigned char *)Start,BlkEnd - Start);
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';
<< 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 &&
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());
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);
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;
}
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());
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());
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());
+ }
+
}
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)
{
bool DoMD5;
bool DoSHA1;
bool DoSHA256;
+ bool DoSHA512;
unsigned long DeLinkLimit;
string InternalPrefix;
Override BOver;
Override SOver;
char *Buffer;
- unsigned long BufSize;
+ unsigned long long BufSize;
public:
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;
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/acquire-method.h>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/cdrom.h>
#include <apt-pkg/cdromutl.h>
CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly |
SendConfig | NeedsCleanup |
Removable),
- DatabaseLoaded(false),
+ DatabaseLoaded(false),
+ Debug(false),
MountedByApt(false)
{
UdevCdroms.Dlopen();
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "connect.h"
+#include <config.h>
+
#include <apt-pkg/error.h>
#include <apt-pkg/fileutl.h>
#include <arpa/inet.h>
#include <netdb.h>
+#include "connect.h"
#include "rfc2553emu.h"
#include <apti18n.h>
/*}}}*/
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
#include <apt-pkg/hashes.h>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
#include <errno.h>
#include <stdarg.h>
#include <iostream>
-#include <apti18n.h>
// Internet stuff
#include <netinet/in.h>
#include "rfc2553emu.h"
#include "connect.h"
#include "ftp.h"
+#include <apti18n.h>
/*}}}*/
using namespace std;
// ---------------------------------------------------------------------
/* */
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;
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;
// 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;
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;
// ---------------------------------------------------------------------
/* 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;
// Get the files information
Status(_("Query"));
- unsigned long Size;
+ unsigned long long Size;
if (Server->Size(File,Size) == false ||
Server->ModTime(File,FailTime) == false)
{
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;
}
// 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;
}
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);
+#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>
#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"
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]);
{
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");
}
}
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/acquire-method.h>
while (1)
{
unsigned char Buffer[4*1024];
- unsigned long Count;
+ unsigned long long Count = 0;
if (!From.Read(Buffer,sizeof(Buffer),&Count))
{
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
#include <string.h>
#include <iostream>
#include <map>
-#include <apti18n.h>
-
// Internet stuff
#include <netdb.h>
#include "connect.h"
#include "rfc2553emu.h"
#include "http.h"
+
+#include <apti18n.h>
/*}}}*/
using namespace std;
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();
InP = 0;
OutP = 0;
StrPos = 0;
- MaxGet = (unsigned int)-1;
+ MaxGet = (unsigned long long)-1;
OutQueue = string();
if (Hash != 0)
{
is non-blocking.. */
bool CircleBuf::Read(int Fd)
{
- unsigned long BwReadMax;
+ unsigned long long BwReadMax;
while (1)
{
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;
}
// Write the buffer segment
- int Res;
+ ssize_t Res;
if(CircleBuf::BwReadLimit) {
Res = read(Fd,Buf + (InP%Size),
BwReadMax > LeftRead() ? LeftRead() : BwReadMax);
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);
return true;
// Write the buffer segment
- int Res;
+ ssize_t Res;
Res = write(Fd,Buf + (OutP%Size),LeftWrite());
if (Res == 0)
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;
Data = "";
while (OutP < I)
{
- unsigned long Sz = LeftWrite();
+ unsigned long long Sz = LeftWrite();
if (Sz == 0)
return false;
if (I - OutP < Sz)
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;
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);
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;
}
{
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;
}
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;
}
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";
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))
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;};
};
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;
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;};
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <signal.h>
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/error.h>
#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;
{
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;
##################################################################### */
/*}}}*/
// 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>
#include "mirror.h"
#include "http.h"
-#include "apti18n.h"
+#include <apti18n.h>
/*}}}*/
/* Done:
*/
MirrorMethod::MirrorMethod()
- : HttpMethod(), DownloadedMirrorFile(false)
+ : HttpMethod(), DownloadedMirrorFile(false), Debug(false)
{
};
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)
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 << "'"
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)
##################################################################### */
/*}}}*/
-#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 /*{{{*/
// Includes /*{{{*/
+#include <config.h>
+
#include <apt-pkg/fileutl.h>
#include <apt-pkg/mmap.h>
#include <apt-pkg/error.h>
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 {{{
return result;
}
/*}}}*/
-struct EdCommand { /*{{{*/
+/* struct EdCommand {{{*/
+#ifdef _POSIX_MAPPED_FILES
+struct EdCommand {
size_t data_start;
size_t data_end;
size_t data_lines;
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;
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#include "rsh.h"
+#include <config.h>
+
#include <apt-pkg/error.h>
#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>
#include <stdarg.h>
+#include "rsh.h"
+
#include <apti18n.h>
/*}}}*/
// ---------------------------------------------------------------------
/* 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;
// 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;
// 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;
return false;
// Copy loop
- unsigned int MyLen = Resume;
+ unsigned long long MyLen = Resume;
unsigned char Buffer[4096];
while (MyLen < Size)
{
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)
{
// 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;
}
// 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;
}
// 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();
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"
#: 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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
#. "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 ""
"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"
"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"
"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"
" 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"
"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"
#. 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"
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 ""
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 ""
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 "
"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 "
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."
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 ""
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 ""
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 ""
"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 ""
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 ""
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"
#: 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"
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"
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"
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"
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 "اكتمل التنزيل وفي وضع التنزيل فقط"
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."
#. "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:"
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 ""
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"
"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"
"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"
" 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"
#. 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"
#: 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 "قراءة قوائم الحزم"
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"
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 ""
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 ""
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 "
"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 "
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."
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 ""
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 ""
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 ""
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 غير متطابقة"
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 "
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 "الحجم غير متطابق"
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 ""
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
"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 ""
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)."
"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"
"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"
"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"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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 "
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"
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"
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"
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"
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 "
"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 "
"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 "
"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."
"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"
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 ""
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"
#~ 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."
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"
#: 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"
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"
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"
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"
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 "Изтеглянето завърши в режим само на изтегляне"
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."
#. "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 ""
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 ""
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)."
"Неудовлетворени зависимости. Опитайте „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"
"дистрибуция, че някои необходими пакети още не са създадени или пък\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"
"адрес:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\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 ""
+"Зависимост %s за пакета %s не може да бъде удовлетворена, понеже пакета %s "
+"не може да бъде намерен"
+
+#: cmdline/apt-get.cc:2889
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"Зависимост %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 ""
-"Ð\9dеÑ\83Ñ\81пеÑ\85 пÑ\80и Ñ\83довлеÑ\82воÑ\80Ñ\8fванеÑ\82о на завиÑ\81имоÑ\81Ñ\82 %s за пакеÑ\82а %s: Ð\98нÑ\81Ñ\82алиÑ\80аниÑ\8fÑ\82 "
-"пакеÑ\82 %s е Ñ\82вÑ\8aÑ\80де нов"
+"Ð\97авиÑ\81имоÑ\81Ñ\82 %s за пакеÑ\82а %s не може да бÑ\8aде Ñ\83довлеÑ\82воÑ\80ена, понеже пакеÑ\82а %s "
+"не може да бÑ\8aде намеÑ\80ен"
-#: 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"
"информация и опции.\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"
#. 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"
#: 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 "Четене на списъците с пакети"
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"
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: Излишни символи в края на файла"
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"
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 "
"Неуспех при незабавната настройка на „%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 "
"пакет %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 "
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 "
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 "Неуспех при определянето на подходяща пакетна система"
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 "Няма указан приоритет (или е нула) на отбиването"
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 "Входно/изходна грешка при запазването на кеша на пакети с изходен код"
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 "Несъответствие на контролната сума"
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 "
"използват старите индексни файлове. Грешка от 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 "
"Неуспех при намирането на файл за пакет %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 "
"Неуспех при намирането на файл за пакет %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 "Несъответствие на размера"
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"
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"
#~ 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 е твърде дълъг. "
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"
#: 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 ""
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"
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 ""
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 ""
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 ""
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."
#. "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:"
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 ""
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"
"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"
"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"
" 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"
#. 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"
#: 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"
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"
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 ""
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 ""
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 "
"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 "
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."
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 ""
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 ""
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 ""
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 ""
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 "
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 ""
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 ""
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
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 ""
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)."
"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"
"«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."
"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"
"versions «%s» a:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
"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 "
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."
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)"
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"
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"
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 "
"%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 "
"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 "
"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."
"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"
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 ""
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"
#~ "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à "
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
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 ""
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)."
"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"
"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"
"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"
"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"
"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"
#. 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"
#: 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ů"
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"
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í"
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"
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 "
"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 "
"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 "
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 "
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"
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"
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"
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ů"
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 "
"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 "
"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 "
"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í"
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"
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"
#~ 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."
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"
#: 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"
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"
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"
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"
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"
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."
#. "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:"
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 ""
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)."
"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"
"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"
"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 "
"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"
"\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"
#. 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"
#: 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"
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"
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"
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"
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 "
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 "
"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 "
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 "
" '%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"
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"
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"
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"
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 "
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 "
"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 "
"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"
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 ""
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
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 ""
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)."
"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"
"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"
"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"
"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 "
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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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 "
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"
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"
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"
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"
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 "
"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 "
"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 "
"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"
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"
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"
#~ 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)"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
"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 ""
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)."
"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"
"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"
"auf:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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 "
"»%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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"»%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 "
"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 "
"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 "
"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"
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"
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"
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"
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 "
"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 "
"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 "
"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"
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 ""
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"
#~ 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)"
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"
#: 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"
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འདི་གཞི་བཙུགས་འབད་ནི་ཨིན།"
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་ནང་བར་སྟོང་"
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"
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 "ཕབ་ལེན་ཐབས་ལམ་རྐྱངམ་གཅིག་ནང་མཇུག་བསྡུཝ་སྦེ་རང་ཕབ་ལེན་འབད།"
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."
#. "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:"
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 ""
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)."
"མ་ཚང་བའི་རྟེན་འབྲེལ་ ཐུས་སྒྲིལ་མེད་མི་ཚུ་དང་གཅིག་ཁར་ '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"
"འབད་འབདཝ་འོང་ནི་མས་ ཡང་ན་ད་ལྟོ་ཡང་གསར་བསྐྲུན་མ་འབད་བར་ཡོད་པའི་ཐུམ་སྒྲིལ་ལ་ལུ་ཅིག་ཡང་ན་ནང་"
"འབྱོར་གྱི་ཕྱི་ཁར་རྩ་བསྐྲད་བཏང་ཡོད་པའི་རྩ་བརྟན་མེད་པའི་བགོ་འགྲེམ་ཚུ་ལག་ལེན་འཐབ་དོ་ཡོདཔ་འོང་ནི་ཨིན་པས།"
-#: 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"
"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"
"ཤོག་ལེབ་ཚུ་ལུ་བལྟ།\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"
#. 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"
#: 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 "ཐུམ་སྒྲིལ་ཐོ་ཡིག་ཚུ་ལྷག་དོ།"
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"
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: ཡིག་སྣོད་ཀྱི་མཇུག་ལུ་མཁོ་མེད་ཐེབས།"
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་ཡིག་སྣོད་འདི་ཁ་ཕྱེ་མ་ཚུགས།"
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 "
"འདི་འབདཝ་ད་ཁྱོད་ཀྱི་ཐད་རི་འབའ་རི་འབད་དགོཔ་ཨིན་པ་ཅིན་ 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 "
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 "
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 "འོས་འབབ་དང་ལྡན་པའི་སྦུང་ཚན་རིམ་ལུགས་ཀྱི་དབྱེ་བ་ཅིག་གཏན་འབེབས་བཟོ་མི་ཚུགས་པས།"
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 "གོ་རྟགས་ཨང་གི་དོན་ལུ་ གཙོ་རིམ་(ཡང་ན་ ཀླད་ཀོར་)ཚུ་གསལ་བཀོད་མ་འབད་བས།"
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 འཛོལ་བ་འབྱུང་ཁུངས་འདྲ་མཛོད་སྲུང་བཞག་འབད་དོ།"
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 "ཨེམ་ཌི་༥་ ཁྱོན་བསྡོམས་མ་མཐུན་པ།"
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 "
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 "
" %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 "
" %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 "ཚད་མ་མཐུན།"
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 ""
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"
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"
#: 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"
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"
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"
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"
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 "Ολοκληρώθηκε η μεταφόρτωση μόνο"
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."
#. "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:"
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 ""
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)."
"Ανεπίλυτες εξαρτήσεις. Δοκιμάστε '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"
"διανομή, ότι μερικά από τα πακέτα δεν έχουν ακόμα δημιουργηθεί ή έχουν\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"
"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 "
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"
"για περισσότερες πληροφορίες και επιλογές.\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"
#. 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"
#: 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 "Ανάγνωση Λιστών Πακέτων"
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"
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: Άχρηστοι χαρακτήρες στο τέλος του αρχείου"
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"
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 "
"είναι καλό, αλλά εάν πραγματικά θέλετε να συνεχίσετε ενεργοποιήστε την "
"επιλογή 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 "
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 "
"Παρακαλώ εισάγετε το δίσκο με ετικέτα '%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 "Αδύνατος ο καθορισμός ενός κατάλληλου τύπου συστήματος πακέτων"
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 ""
"Δεν έχει οριστεί προτεραιότητα (ή έχει οριστεί μηδενική) για την καθήλωση"
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 πηγών"
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"
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 "
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 "
"Αδύνατος ο εντοπισμός ενός αρχείου για το πακέτο %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 "
"Αδύνατος ο εντοπισμός ενός αρχείου για το πακέτο %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."
"Κατεστραμμένα αρχεία ευρετηρίου πακέτων. Δεν υπάρχει πεδίο Filename: στο "
"πακέτο %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
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"
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
"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 ""
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)."
"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"
"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"
"versiones «%s» en:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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 "
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"
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)"
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"
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"
"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 "
"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 "
"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 "
"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."
"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"
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 ""
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"
#~ 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"
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"
#: 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"
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"
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."
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"
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"
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."
#. "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:"
"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 ""
"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)."
"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"
"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"
"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 "
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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
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 "
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"
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)"
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"
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"
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 "
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 "
"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 "
"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."
"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"
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 ""
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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:"
"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 ""
"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)."
"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"
"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"
"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 "
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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"%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 "
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 "
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ä"
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)"
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"
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ää"
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 "
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 "
"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 "
"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."
"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ää"
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 ""
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
"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 ""
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)."
"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"
"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"
"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"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
"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."
"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"
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"
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"
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"
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 "
"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 "
"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 "
"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."
"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"
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 ""
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"
#~ 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."
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
"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 ""
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)."
"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"
"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"
"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"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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 "
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"
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"
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"
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"
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 "
"%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 "
"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 "
"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."
"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"
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 ""
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"
#~ 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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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:"
"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)."
"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"
"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"
"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 "
"%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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
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 "
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"
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"
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"
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ő"
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 "
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 "
"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 "
"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ő"
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"
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
"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 ""
"%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)."
"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"
"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"
"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"
"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 "
"%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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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 "
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"
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)"
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"
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"
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 "
"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 "
"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 "
"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."
"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"
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 ""
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
#~| 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)"
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"
#: 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"
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"
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 の空き領域を測定できません"
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"
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 "ダウンロードオンリーモードでパッケージのダウンロードが完了しました"
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."
#. "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 ""
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 ""
"%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)."
"未解決の依存関係です。'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"
"であれば) 必要なパッケージがまだ作成されていなかったり 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"
"ます:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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 "
"パッケージ %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 パッ"
-"ã\82±ã\83¼ã\82¸ã\81¯æ\96°ã\81\97ã\81\99ã\81\8eã\81¾ã\81\99"
+"パッケージ %3$s が見つからないため、%2$s に対する %1$s の依存関係を満たすこと"
+"ã\81\8cã\81§ã\81\8dã\81¾ã\81\9bã\82\93"
-#: 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"
"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"
#. 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"
#: 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 "パッケージリストを読み込んでいます"
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"
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: ファイルの最後に余計なゴミがあります"
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 をオープンできませんでした"
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 "
"'%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 "
"ケージ %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 "
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 "
"'%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 "適切なパッケージシステムタイプを特定できません"
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) が指定されていません"
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 エラーが発生しました"
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 "ハッシュサムが適合しません"
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 "
"ファイルが使われます。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 "
"パッケージ %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 "
"パッケージ %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."
"パッケージインデックスファイルが壊れています。パッケージ %s に Filename: "
"フィールドがありません。"
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
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 ""
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"
#~ 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 以来無効)"
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"
#: 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"
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 នឹងត្រូវបានដំឡើង"
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 បានឡើយ"
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"
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 "បានបញ្ចប់ការទាញយក ហើយតែក្នុងរបៀបទាញយកប៉ុណ្ណោះ"
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."
#. "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:"
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 ""
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"
"ដែលបានទាមទារនឹងមិនទាន់បានបង្កើតឡើយ\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"
"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"
"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"
#. 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"
#: 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 "កំពុងអានបញ្ជីកញ្ចប់"
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"
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 ៖ សារឥតបានការបន្ថែម ដែលនៅខាងចុងឯកសារ"
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 បានឡើយ"
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 "
"ភាពអាស្រ័យជាមុន ។ ជាញឹកញាប់គឺ មិនត្រឹមត្រូវ ប៉ុន្តែ ប្រសិនបើអ្នកពិតជាចង់ធ្វើវា ធ្វើឲ្យជម្រើស 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 "
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 "
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 "មិនអាចកំណត់ប្រភេទប្រព័ន្ធកញ្ចប់ដែលសមរម្យបានឡើយ"
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 "គ្មានអទិភាព (ឬ សូន្យ) បានបញ្ជាក់សម្រាប់ម្ជុលទេ"
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 កំហុសក្នុងការររក្សាទុកឃ្លាំងសម្ងាត់ប្រភព"
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 មិនផ្គួផ្គង"
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 "
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 "
"ខ្ញុំមិនអាចរកទីតាំងឯកសារសម្រាប់កញ្ចប់ %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 "
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 "ទំហំមិនបានផ្គួផ្គង"
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"
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"
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"
#: 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"
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"
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의 여유 공간의 크기를 파악할 수 없습니다"
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"
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 "다운로드를 마쳤고 다운로드 전용 모드입니다"
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."
#. "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 ""
"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)."
"의존성이 맞지 않습니다. 패키지 없이 '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"
"불안정 배포판을 사용해서 일부 필요한 패키지를 아직 만들지 않았거나,\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"
"알림: '%s' 패키징은 다음 '%s' 버전 컨트롤 시스템에서 관리합니다:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"다음과 같이 하십시오:\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 "
"%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ì\97\90 ë\8c\80í\95\9c %1$s ì\9d\98ì¡´ì\84±ì\9d\84 ë§\8c족ì\8b\9cí\82¤ë\8a\94ë\8d° ì\8b¤í\8c¨í\96\88ì\8aµë\8b\88ë\8b¤: ì\84¤ì¹\98í\95\9c %3$s í\8c¨í\82¤ì§\80ê°\80 ë\84\88"
-"무 ìµ\9cê·¼ ë²\84ì \84ì\9e\85ë\8b\88ë\8b¤"
+"%2$sì\97\90 ë\8c\80í\95\9c %1$s ì\9d\98ì¡´ì\84±ì\9d\84 ë§\8c족ì\8b\9cí\82¬ ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤. %3$s í\8c¨í\82¤ì§\80를 ì°¾ì\9d\84 ì\88\98 ì\97\86ì\8aµë\8b\88"
+"다"
-#: 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"
"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"
#. 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"
#: 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 "패키지 목록을 읽는 중입니다"
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"
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: 파일의 끝에 쓰레기 데이터가 더 있습니다"
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 파일을 열 수 없습니다"
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 "
"'%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 "
"잠깐 제거해야 합니다. 이 패키지를 제거하는 건 좋지 않지만, 정말 지우려면 "
"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 "
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 "
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 "올바른 패키지 시스템 타입을 알아낼 수 없습니다"
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)를 지정하지 않았습니다"
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 "소스 캐시를 저장하는데 입출력 오류가 발생했습니다"
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 "해시 합이 맞지 않습니다"
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 "
"예전의 인덱스 파일을 사용합니다. 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 "
"%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 "
"%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 "크기가 맞지 않습니다"
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"
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"
#~ 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 이후로 무효)"
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"
#: 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"
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"
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"
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"
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 ""
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."
#. "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:"
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 ""
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"
"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"
"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"
" 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"
#. 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"
#: 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"
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"
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 ""
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"
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 "
"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 "
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."
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 ""
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 ""
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 ""
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"
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 "
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"
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 ""
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"
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"
#: 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 ""
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"
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"
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"
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"
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."
#. "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:"
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 ""
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)."
"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"
"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"
"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 "
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"
" 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"
#. 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"
#: 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"
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"
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 ""
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"
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 "
"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 "
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 "
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 ""
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 ""
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 ""
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"
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 "
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"
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 ""
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"
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 "
#: 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"
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"
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 मध्ये रिकामी जागा सांगू शकत नाही"
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"
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 "डाऊनलोड संपूर्ण आणि डाऊनलोड मध्ये फक्त पद्धती"
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."
#. "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:"
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 ""
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)."
"अनमेट डिपेंडन्सीज.एपीटी-गेट -एफ संस्थापन ('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"
"विभागणी असणारी पण हवी असणारी, तयार केली नसलेली पॅकेजेस वापरत असाल \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"
"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"
" 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"
#. 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"
#: 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 "पॅकेज याद्या वाचत आहोत"
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"
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: फाईलच्या अंती अधिक जंक"
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 फाईल उघडता येत नाही"
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 "
"गुंतागुंतीमुळे/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 "
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 "
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 "योग्य असा पॅकेजिंग प्रणाली प्रकार निश्चित करण्यास असमर्थ "
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 "पिन करिता प्राधान्य/अग्रक्रम (किंवा शून्य)निर्देशीत केलेला नाही"
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 त्रुटी उगम निवडक संचयस्थानात संग्रहित होत आहे"
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 "हॅश बेरीज जुळत नाही"
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 "
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 "
"मी %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 "
"मी %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."
"पॅकेज यादीची/सुचीची संचिका दूषित/खराब झालेली आहे. संचिका नाव नाही: पॅकेजकरीता क्षेत्र/"
"ठिकाण %s."
-#: apt-pkg/acquire-item.cc:1838
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
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"
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"
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"
#: 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"
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"
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"
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"
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»"
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."
#. "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 ""
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 ""
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)."
"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"
"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"
"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"
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"%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 "
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 "
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"
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"
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"
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"
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 "
"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 "
"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 "
"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"
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"
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"
#~ 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."
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"
#: 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"
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 स्थापना हुनुपर्यो"
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 मा खाली ठाऊँ निर्धारण गर्न सकिएन"
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"
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 "डाउनलोड समाप्त भयो र डाउनलोडमा मोड मात्रै छ"
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."
#. "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:"
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 ""
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)."
"नभेटिएका निर्भरताहरू । प्याकेजहरू बिना '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"
" वितरण अहिले सम्म सिर्जना\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"
"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"
"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"
#. 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"
#: 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 "प्याकेज सूचिहरू पढिदैछ"
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"
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:फाइलको अन्त्यमा अतिरिक्त जंक"
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 खोल्न सकिएन"
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 "
"हटाउनु पर्नेछ । यो प्राय नराम्रो हो, तर यदि तपाईँ यो साँच्चै गर्न चाहनुहुन्छ भने, 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 "
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 "
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 "उपयुक्त प्याकिङ्ग प्रणाली प्रकार निर्धारन गर्न असक्षम भयो"
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 "पिनको लागि कुनै प्राथमिकता (वा शून्य) निर्दिष्ट छैन"
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 त्रुटि"
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 मेल भएन"
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 "
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 "
"%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 "
"%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 "साइज मेल खाएन"
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"
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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:"
"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 ""
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)."
"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"
"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"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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 "
"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"
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"
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"
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"
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 "
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 "
"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 "
"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."
"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"
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 ""
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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:"
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 ""
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)."
"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"
"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"
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
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 "
" «%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"
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"
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"
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"
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 "
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 "
"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 "
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"
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"
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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:"
"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 ""
"%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)."
"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"
"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"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
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 "
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"
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"
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ł"
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"
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 "
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 "
"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 "
"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"
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"
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
"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 ""
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)."
"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"
"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"
"'%s' em:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
"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 "
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"
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)"
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"
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"
"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 "
"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 "
"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 "
"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."
"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"
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 ""
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"
#~ 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"
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."
#: 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"
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"
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"
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"
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\")"
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."
#. "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:"
"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 ""
"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)."
"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"
"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"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"é 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 "
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 "
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."
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\""
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"
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"
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 "
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 "
"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 "
"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."
"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"
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 ""
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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:"
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 ""
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)."
"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"
"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"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
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 "
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"
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"
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"
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"
"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 "
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 "
"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 "
"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."
"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"
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 ""
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"
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"
#: 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"
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"
"После данной операции, объём занятого дискового пространства уменьшится на "
"%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"
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"
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 "Указан режим \"только скачивание\", и скачивание завершено"
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."
#. "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 ""
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 ""
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)."
"Неудовлетворённые зависимости. Попытайтесь выполнить '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"
"или же используете нестабильную версию дистрибутива, где запрошенные вами\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"
"ВНИМАНИЕ: упаковка %s поддерживается в системе контроля версий %s:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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 "
"Зависимость типа %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 ""
-"Ð\9dе Ñ\83далоÑ\81Ñ\8c Ñ\83довлеÑ\82воÑ\80иÑ\82Ñ\8c завиÑ\81имоÑ\81Ñ\82Ñ\8c Ñ\82ипа %s длÑ\8f пакеÑ\82а %s: УÑ\81Ñ\82ановленнÑ\8bй "
-"пакеÑ\82 %s новее, Ñ\87ем надо"
+"Ð\97авиÑ\81имоÑ\81Ñ\82Ñ\8c Ñ\82ипа %s длÑ\8f %s не можеÑ\82 бÑ\8bÑ\82Ñ\8c Ñ\83довлеÑ\82воÑ\80ена, Ñ\82ак как пакеÑ\82 %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"
"содержится подробная информация и описание параметров.\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"
#. 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"
#: 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 "Чтение списков пакетов"
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"
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: лишние символы в конце файла"
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"
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 "
"Не удалось выполнить оперативную настройку '%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 "
"Если вы действительно хотите продолжить, установите параметр 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 "
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 "
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 "Невозможно определить подходящий тип менеджера пакетов"
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 "Для фиксации не указан приоритет (или указан нулевой)"
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 "Ошибка ввода/вывода при попытке сохранить кэш источников"
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 "Хеш сумма не совпадает"
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 "
"использованы предыдущие индексные файлы. Ошибка 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 "
"Не удалось обнаружить файл пакета %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 "
"Не удалось обнаружить файл пакета %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 "Не совпадает размер"
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 ""
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"
#~ 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. Завершение "
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"
#: 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"
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"
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"
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"
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ť“"
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."
#. "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 ""
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 ""
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)."
"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"
"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"
"adrese:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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 "
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"
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"
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"
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"
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 "
"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 "
"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 "
"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ú"
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"
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"
#~ 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)"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
"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 ""
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)."
"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"
", 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"
"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"
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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."
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"
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č."
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"
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"
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 "
"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 "
"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 "
"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."
"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"
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 ""
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"
#~ 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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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 ""
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 ""
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)."
"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"
"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"
"på:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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 "
"%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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
"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 "
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 "
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"
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"
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"
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"
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 "
"%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 "
"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 "
"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"
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"
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"
#~ 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."
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"
#: 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"
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"
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"
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"
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 "ดาวน์โหลดสำเร็จแล้ว และอยู่ในโหมดดาวน์โหลดอย่างเดียว"
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."
#. "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:"
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 ""
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)."
"มีปัญหาความขึ้นต่อกันระหว่างแพกเกจ กรุณาลองใช้ '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"
"หรือถ้าคุณกำลังใช้รุ่น 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"
"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"
"และ 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"
#. 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"
#: 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 "กำลังอ่านรายชื่อแพกเกจ"
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"
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: มีขยะเกินหลังจบแฟ้ม"
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"
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 "
"ซึ่งแพกเกจดังกล่าวเป็นแพกเกจที่จำเป็นสำหรับระบบ การลบดังกล่าวมักเป็นอันตราย "
"แต่ถ้าคุณต้องการทำเช่นนั้นจริงๆ ก็ให้เปิดตัวเลือก 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 "
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 "
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 "ไม่สามารถระบุชนิดของระบบแพกเกจที่เหมาะสมได้"
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 "ไม่ได้ระบุลำดับความสำคัญ (หรือค่าศูนย์) สำหรับการตรึง"
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 ขณะบันทึกแคชของซอร์ส"
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 "ผลรวมแฮชไม่ตรงกัน"
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 "
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 "ขนาดไม่ตรงกัน"
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"
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"
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"
#: 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"
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"
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"
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"
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"
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."
#. "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:"
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 ""
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)."
"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"
"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"
"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 "
"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"
"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"
#. 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"
#: 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"
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"
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"
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"
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 "
"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 "
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 "
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 "
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"
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"
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"
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 "
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 "
"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 "
"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."
"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"
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 ""
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"
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"
#: 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"
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 буде встановлений"
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"
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"
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 "Вказано режим \"тільки завантаження\", і завантаження завершено"
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."
#. "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:"
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 ""
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)."
"Незадоволені залежності. Спробуйте виконати '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"
"або ж використаєте нестабільний дистрибутив, і запитані Вами пакунки\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"
"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 "
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"
"містять більше інформації.\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"
#. 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"
#: 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 "Читання переліків пакетів"
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"
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: зайві символи в кінці файла"
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"
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 "
"погано, але якщо Ви дійсно бажаєте зробити це, активуйте параметр 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 "
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 "
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 "Неможливо визначити тип необхідної системи пакування "
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"
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 під час збереження джерельного кешу"
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"
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 "
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 "
"Я не можу знайти файл для пакунку %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 "
"Я не можу знайти файл для пакунку %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 "Невідповідність розміру"
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"
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"
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"
#: 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"
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"
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"
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"
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ề"
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."
#. "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 ""
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)."
"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"
"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"
"bản « %s » tại:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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"
"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"
#. 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"
#: 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..."
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"
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"
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"
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 "
"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 "
"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 "
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 "
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"
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"
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"
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)"
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 "
"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 "
"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 "
"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."
"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ỡ"
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 ""
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"
#~ 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)"
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"
#: 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"
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"
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 上的可用空间"
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"
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 "下载完毕,目前是“仅下载”模式"
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."
#. "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 ""
"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)."
"有未能满足的依赖关系。请尝试不指明软件包的名字来运行“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"
"因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件\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"
"提示:%s 的打包工作被维护于以下位置的 %s 版本控制系统中:\n"
"%s\n"
-#: cmdline/apt-get.cc:2416
+#: cmdline/apt-get.cc:2423
#, c-format
msgid ""
"Please use:\n"
"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"
"以获取更多信息和选项。\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"
#. 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"
#: 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 "正在读取软件包列表"
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"
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:文件尾部有多余的无意义的数据"
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"
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 "
"无法立即对 %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 "
"少的软件包 %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 "
"无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关"
"系。"
-#: 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 "
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 "无法确定适合的打包系统类型"
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 "没有为版本锁定指定优先级(或为零)"
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 "无法读取或写入软件源缓存"
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 校验和不符"
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 "
"校验签名出错。此仓库未被更新,仍然使用以前的索引文件。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 "
"我无法找到一个对应 %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 "
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 "大小不符"
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"
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"
#~ 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 的参数列表太长。结束运行。"
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."
#: 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"
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"
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 的未使用空間"
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"
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 "下載完成,且這是『僅下載』模式"
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."
#. "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:"
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 ""
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)."
"未能滿足相依關係。請試著不指定套件來執行 '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"
"有些套件無法安裝。這可能意謂著您的要求難以解決,或是若您使用的是\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"
"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"
"以取得更多資訊和選項。\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"
#. 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"
#: 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 "正在讀取套件清單"
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"
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:在檔案結尾有多餘的垃圾"
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"
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 "
"此安裝因衝突或預先相依關係,需暫時刪除 %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 "
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 "
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 "無法確認合適的套件包裝系統類型"
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 "銷定並沒有優先順序之分(或零)"
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 錯誤"
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 不符"
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 "
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 "
"找不到 %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 "大小不符"
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"
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"
#~ 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 的參數列表過長。結束執行。"
--- /dev/null
+# -*- 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
+++ /dev/null
-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.
-
+++ /dev/null
-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
+++ /dev/null
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQBGqgOwliSD4VZixzQRAs6jAJ9p7Aiob9gzkUNCtoW8UPrBo0E/YwCdEaz0
-CQJszU6fRYX5jGWXSWzfc5c=
-=ugH0
------END PGP SIGNATURE-----
+++ /dev/null
-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.
-
+++ /dev/null
-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
+++ /dev/null
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQBGqgOwliSD4VZixzQRAs6jAJ9p7Aiob9gzkUNCtoW8UPrBo0E/YwCdEaz0
-CQJszU6fRYX5jGWXSWzfc5c=
-=ugH0
------END PGP SIGNATURE-----
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-broken/ /
-
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-ok/ /
-
+++ /dev/null
-#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;
-}
+++ /dev/null
-#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;
-}
+++ /dev/null
-#include <apt-pkg/debfile.h>
-#include <apt-pkg/error.h>
-
-#include <iostream>
-#include <unistd.h>
-
-using namespace std;
-
-bool ExtractMember(const char *File,const char *Member)
-{
- FileFd Fd(File,FileFd::ReadOnly);
- debDebFile Deb(Fd);
- if(_error->PendingError() == true)
- return false;
-
- debDebFile::MemControlExtract Extract(Member);
- if (Extract.Read(Deb) == false)
- return false;
-
- if (Extract.Control == 0)
- return true;
-
- write(STDOUT_FILENO,Extract.Control,Extract.Length);
- return true;
-}
-
-int main(int argc, const char *argv[])
-{
- if (argc < 2)
- {
- cerr << "Need two arguments, a .deb and the control member" << endl;
- return 100;
- }
-
- if (ExtractMember(argv[1],argv[2]) == false)
- {
- _error->DumpErrors();
- return 100;
- }
-
- return 0;
-}
+++ /dev/null
-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>
+++ /dev/null
-#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;
-}
-
-
--- /dev/null
+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.
#!/bin/sh -- # no runable script, just for vi
# we all like colorful messages
-CERROR="\e[1;31m" # red
-CWARNING="\e[1;33m" # yellow
-CMSG="\e[1;32m" # green
-CINFO="\e[1;96m" # light blue
-CDEBUG="\e[1;94m" # blue
-CNORMAL="\e[0;39m" # default system console color
-CDONE="\e[1;32m" # green
-CPASS="\e[1;32m" # green
-CFAIL="\e[1;31m" # red
-CCMD="\e[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="\e[1;31m" # red
+ CWARNING="\e[1;33m" # yellow
+ CMSG="\e[1;32m" # green
+ CINFO="\e[1;96m" # light blue
+ CDEBUG="\e[1;94m" # blue
+ CNORMAL="\e[0;39m" # default system console color
+ CDONE="\e[1;32m" # green
+ CPASS="\e[1;32m" # green
+ CFAIL="\e[1;31m" # red
+ CCMD="\e[1;35m" # pink
+fi
msgdie() { echo "${CERROR}E: $1${CNORMAL}" >&2; exit 1; }
msgwarn() { echo "${CWARNING}W: $1${CNORMAL}" >&2; }
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; }
configarchitecture() {
local CONFFILE=rootdir/etc/apt/apt.conf.d/01multiarch.conf
+ rm -f $CONFFILE
echo "APT::Architecture \"$1\";" > $CONFFILE
shift
while [ -n "$1" ]; do
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"
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
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
fi
aptmark showauto 2>&1 | checkdiff $COMPAREFILE - && msgpass || msgfail
}
+
+pause() {
+ echo "STOPPED execution. Press enter to continue"
+ local IGNORE
+ read IGNORE
+}
--- /dev/null
+# -*- make -*-
+BASE=../..
+SUBDIR=test/integration
+
+# Bring in the default rules
+include ../../buildlib/defaults.mak
+
+.PHONY: test
+test:
+ ./run-tests
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
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
--- /dev/null
+#!/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*
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
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
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"
--- /dev/null
+#!/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
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}
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
--- /dev/null
+#!/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
+
+
--- /dev/null
+#!/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
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'
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
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
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:
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
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...
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
--- /dev/null
+#!/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
+
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
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
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
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
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
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
--- /dev/null
+#!/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
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
--- /dev/null
+#!/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
+
--- /dev/null
+#!/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"
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#include <apt-pkg/debfile.h>
+#include <apt-pkg/error.h>
+
+#include <iostream>
+#include <unistd.h>
+
+using namespace std;
+
+bool ExtractMember(const char *File,const char *Member)
+{
+ FileFd Fd(File,FileFd::ReadOnly);
+ debDebFile Deb(Fd);
+ if(_error->PendingError() == true)
+ return false;
+
+ debDebFile::MemControlExtract Extract(Member);
+ if (Extract.Read(Deb) == false)
+ return false;
+
+ if (Extract.Control == 0)
+ return true;
+
+ write(STDOUT_FILENO,Extract.Control,Extract.Length);
+ return true;
+}
+
+int main(int argc, const char *argv[])
+{
+ if (argc < 2)
+ {
+ cerr << "Need two arguments, a .deb and the control member" << endl;
+ return 100;
+ }
+
+ if (ExtractMember(argv[1],argv[2]) == false)
+ {
+ _error->DumpErrors();
+ return 100;
+ }
+
+ return 0;
+}
--- /dev/null
+# -*- make -*-
+BASE=../..
+SUBDIR=test/interactive-helper
+
+# Bring in the default rules
+include ../../buildlib/defaults.mak
+
+# Program for testing methods
+PROGRAM=mthdcat
+SLIBS =
+SOURCE = mthdcat.cc
+include $(PROGRAM_H)
+
+# Version compare tester
+PROGRAM=testextract
+SLIBS = -lapt-pkg -lapt-inst
+LIB_MAKES = apt-pkg/makefile apt-inst/makefile
+SOURCE = testextract.cc
+include $(PROGRAM_H)
+
+# Program for testing the tar/deb extractor
+PROGRAM=testdeb
+SLIBS = -lapt-pkg -lapt-inst
+SOURCE = testdeb.cc
+include $(PROGRAM_H)
+
+# Program for testing tar extraction
+PROGRAM=extract-control
+SLIBS = -lapt-pkg -lapt-inst
+SOURCE = extract-control.cc
+include $(PROGRAM_H)
+
+# Program for testing udevcdrom
+PROGRAM=test_udevcdrom
+SLIBS = -lapt-pkg
+SOURCE = test_udevcdrom.cc
+include $(PROGRAM_H)
+
+# Program for checking rpm versions
+#PROGRAM=rpmver
+#SLIBS = -lapt-pkg -lrpm
+#SOURCE = rpmver.cc
+#include $(PROGRAM_H)
--- /dev/null
+/* Usage, mthdcat < cmds | methods/mthd
+ All this does is cat a file into the method without closing the FD when
+ the file ends */
+
+#include <unistd.h>
+
+int main()
+{
+ char Buffer[4096];
+
+ while (1)
+ {
+ int Res = read(STDIN_FILENO,Buffer,sizeof(Buffer));
+ if (Res <= 0)
+ while (1) sleep(100);
+ if (write(STDOUT_FILENO,Buffer,Res) != Res)
+ break;
+ }
+ return 0;
+}
--- /dev/null
+
+Those tests aim at making the networkless install timeout
+quicker, see
+https://wiki.ubuntu.com/NetworklessInstallationFixes
+for details
--- /dev/null
+
+# archive.ubuntu.com
+deb http://archive.ubuntu.com/ubuntu/ hardy main restricted
+deb-src http://archive.ubuntu.com/ubuntu/ hardy main restricted
+
+deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
+deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
+
+deb http://archive.ubuntu.com/ubuntu/ hardy universe
+deb-src http://archive.ubuntu.com/ubuntu/ hardy universe
+
+deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe
+deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates universe
+
+# security.ubuntu.com
+deb http://security.ubuntu.com/ubuntu/ hardy-security main restricted
+deb-src http://security.ubuntu.com/ubuntu/ hardy-security main restricted
+
+deb http://security.ubuntu.com/ubuntu/ hardy-security universe
+deb-src http://security.ubuntu.com/ubuntu/ hardy-security universe
+
+
+# archive.canonical.com
+deb http://archive.canonical.com/ubuntu/ hardy-partner universe
+deb-src http://archive.canonical.com/ubuntu/ hardy-partner universe
--- /dev/null
+#!/bin/sh
+
+OPTS="-o Dir::Etc::sourcelist=./sources.test.list -o Acquire::http::timeout=20"
+
+# setup
+unset http_proxy
+iptables --flush
+
+echo "No network at all"
+ifdown eth0
+time apt-get update $OPTS 2>&1 |grep system
+ifup eth0
+echo ""
+
+echo "no working DNS (port 53 DROP)"
+iptables -A OUTPUT -p udp --dport 53 -j DROP
+time apt-get update $OPTS 2>&1 |grep system
+iptables --flush
+echo ""
+
+echo "DNS but no access to archive.ubuntu.com (port 80 DROP)"
+iptables -A OUTPUT -p tcp --dport 80 -j DROP
+time apt-get update $OPTS 2>&1 |grep system
+iptables --flush
+echo ""
--- /dev/null
+#include <apt-pkg/debversion.h>
+#include <rpm/rpmio.h>
+#include <rpm/misc.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#define xisdigit(x) isdigit(x)
+#define xisalpha(x) isalpha(x)
+#define xisalnum(x) (isdigit(x) || isalpha(x))
+
+using namespace std;
+
+int rpmvercmp(const char * a, const char * b)
+{
+ char oldch1, oldch2;
+ char * str1, * str2;
+ char * one, * two;
+ int rc;
+ int isnum;
+
+ /* easy comparison to see if versions are identical */
+ if (!strcmp(a, b)) return 0;
+
+ str1 = (char *)alloca(strlen(a) + 1);
+ str2 = (char *)alloca(strlen(b) + 1);
+
+ strcpy(str1, a);
+ strcpy(str2, b);
+
+ one = str1;
+ two = str2;
+
+ /* loop through each version segment of str1 and str2 and compare them */
+ while (*one && *two) {
+ while (*one && !xisalnum(*one)) one++;
+ while (*two && !xisalnum(*two)) two++;
+
+ str1 = one;
+ str2 = two;
+
+ /* grab first completely alpha or completely numeric segment */
+ /* leave one and two pointing to the start of the alpha or numeric */
+ /* segment and walk str1 and str2 to end of segment */
+ if (xisdigit(*str1)) {
+ while (*str1 && xisdigit(*str1)) str1++;
+ while (*str2 && xisdigit(*str2)) str2++;
+ isnum = 1;
+ } else {
+ while (*str1 && xisalpha(*str1)) str1++;
+ while (*str2 && xisalpha(*str2)) str2++;
+ isnum = 0;
+ }
+
+ /* save character at the end of the alpha or numeric segment */
+ /* so that they can be restored after the comparison */
+ oldch1 = *str1;
+ *str1 = '\0';
+ oldch2 = *str2;
+ *str2 = '\0';
+
+ /* take care of the case where the two version segments are */
+ /* different types: one numeric, the other alpha (i.e. empty) */
+ if (one == str1) return -1; /* arbitrary */
+ if (two == str2) return 1;
+
+ if (isnum) {
+ /* this used to be done by converting the digit segments */
+ /* to ints using atoi() - it's changed because long */
+ /* digit segments can overflow an int - this should fix that. */
+
+ /* throw away any leading zeros - it's a number, right? */
+ while (*one == '0') one++;
+ while (*two == '0') two++;
+
+ /* whichever number has more digits wins */
+ if (strlen(one) > strlen(two)) return 1;
+ if (strlen(two) > strlen(one)) return -1;
+ }
+
+ /* strcmp will return which one is greater - even if the two */
+ /* segments are alpha or if they are numeric. don't return */
+ /* if they are equal because there might be more segments to */
+ /* compare */
+ rc = strcmp(one, two);
+ if (rc) return rc;
+
+ /* restore character that was replaced by null above */
+ *str1 = oldch1;
+ one = str1;
+ *str2 = oldch2;
+ two = str2;
+ }
+
+ /* this catches the case where all numeric and alpha segments have */
+ /* compared identically but the segment sepparating characters were */
+ /* different */
+ if ((!*one) && (!*two)) return 0;
+
+ /* whichever version still has characters left over wins */
+ if (!*one) return -1; else return 1;
+}
+
+int main(int argc,const char *argv[])
+{
+ printf("%i\n",strcmp(argv[1],argv[2]));
+
+ printf("'%s' <> '%s': ",argv[1],argv[2]);
+ printf("rpm: %i deb: %i\n",rpmvercmp(argv[1],argv[2]),
+ debVS.CmpFragment(argv[1],argv[1]+strlen(argv[1]),
+ argv[2],argv[2]+strlen(argv[2])));
+
+ printf("'%s' <> '%s': ",argv[2],argv[1]);
+ printf("rpm: %i deb: %i\n",rpmvercmp(argv[2],argv[1]),
+ debVS.CmpFragment(argv[2],argv[2]+strlen(argv[2]),
+ argv[1],argv[1]+strlen(argv[1])));
+ return 0;
+}
--- /dev/null
+#include <apt-pkg/cdrom.h>
+#include <stdio.h>
+#include <assert.h>
+
+int main()
+{
+ pkgUdevCdromDevices c;
+ assert(c.Dlopen());
+
+ vector<CdromDevice> l;
+ l = c.Scan();
+ 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;
+
+}
--- /dev/null
+#include <apt-pkg/dirstream.h>
+#include <apt-pkg/debfile.h>
+#include <apt-pkg/error.h>
+#include <apt-pkg/extracttar.h>
+
+class NullStream : public pkgDirStream
+{
+ public:
+ virtual bool DoItem(Item &Itm,int &Fd) {return true;};
+};
+
+bool Test(const char *File)
+{
+ FileFd Fd(File,FileFd::ReadOnly);
+ debDebFile Deb(Fd);
+
+ if (_error->PendingError() == true)
+ return false;
+
+ // Get the archive member and positition the file
+ const ARArchive::Member *Member = Deb.GotoMember("data.tar.gz");
+ if (Member == 0)
+ return false;
+
+ // Extract it.
+ ExtractTar Tar(Deb.GetFile(),Member->Size, "gzip");
+ NullStream Dir;
+ if (Tar.Go(Dir) == false)
+ return false;
+
+ return true;
+}
+
+int main(int argc, const char *argv[])
+{
+ Test(argv[1]);
+ _error->DumpErrors();
+ return 0;
+}
--- /dev/null
+#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/strutl.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+using namespace std;
+
+bool Go(int argc,char *argv[])
+{
+ // Init the database
+ debDpkgDB Db;
+ {
+ OpTextProgress Prog;
+
+ if (Db.ReadyPkgCache(Prog) == false)
+ return false;
+ Prog.Done();
+
+ if (Db.ReadyFileList(Prog) == false)
+ return false;
+ }
+
+ for (int I = 1; I < argc; I++)
+ {
+ const char *Fake = 0;
+ for (unsigned J = 0; argv[I][J] != 0; J++)
+ {
+ if (argv[I][J] != ',')
+ continue;
+ Fake = argv[I] + J + 1;
+ argv[I][J] = 0;
+ }
+
+ FileFd F(argv[I],FileFd::ReadOnly);
+ debDebFile Deb(F);
+
+ if (_error->PendingError() == true)
+ return false;
+
+ if (Deb.ExtractControl(Db) == false)
+ return false;
+ cout << argv[I] << endl;
+
+ pkgCache::VerIterator Ver = Deb.MergeControl(Db);
+ if (Ver.end() == true)
+ return false;
+
+ cout << Ver.ParentPkg().Name() << ' ' << Ver.VerStr() << endl;
+
+ pkgExtract Extract(Db.GetFLCache(),Ver);
+
+ if (Fake != 0)
+ {
+ pkgExtract::Item Itm;
+ memset(&Itm,0,sizeof(Itm));
+ FILE *F = fopen(Fake,"r");
+ while (feof(F) == 0)
+ {
+ char Line[300];
+ fgets(Line,sizeof(Line),F);
+ Itm.Name = _strstrip(Line);
+ Itm.Type = pkgDirStream::Item::File;
+ if (Line[strlen(Line)-1] == '/')
+ Itm.Type = pkgDirStream::Item::Directory;
+
+ int Fd;
+ if (Extract.DoItem(Itm,Fd) == false) {
+ fclose(F);
+ return false;
+ }
+ }
+ fclose(F);
+ }
+ else
+ if (Deb.ExtractArchive(Extract) == false)
+ return false;
+ }
+ return true;
+}
+
+int main(int argc,char *argv[])
+{
+ pkgInitConfig(*_config);
+ pkgInitSystem(*_config,_system);
+ _config->Set("Dir::State::status","/tmp/testing/status");
+
+ Go(argc,argv);
+
+ if (_error->PendingError() == true)
+ {
+ _error->DumpErrors();
+ return 0;
+ }
+}
#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;
}
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;
+}
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;
int main(int argc, char *argv[])
{
- if (argc <= 1)
- RunTest("../versions.lst");
+ if (argc != 2)
+ return 1;
else
RunTest(argv[1]);
--- /dev/null
+#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;
+}
#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;
_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");
#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) {
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");
#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[])
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);
--- /dev/null
+#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;
+}
+
+
# Bring in the default rules
include ../../buildlib/defaults.mak
+.PHONY: test
+test:
+ ./run-tests
+
# Program for testing getLanguageCode
PROGRAM = getLanguages${BASENAME}
SLIBS = -lapt-pkg
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)
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" \
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
--- /dev/null
+#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;
+}
--- /dev/null
+#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;
+}
--- /dev/null
+# List of
+# ver1 ver2 ret
+# Of versions worth testing
+# 1 means that ver1 > ver2
+# -1 means that ver1 < ver2
+# 0 means that ver1 = ver2
+7.6p2-4 7.6-0 1
+1.0.3-3 1.0-1 1
+1.3 1.2.2-2 1
+1.3 1.2.2 1
+
+# Important attributes
+# disabled as dpkg --compare-versions doesn't like them… (versions have to start with a number)
+#- . -1
+#p - -1
+#a - -1
+#z - -1
+#a . -1
+#z . -1
+
+# disabled as dpkg --compare-versions doesn't like them… (versions have to start with a number)
+#III-alpha9.8 III-alpha9.8-1.5 -1
+
+# Epochs
+1:0.4 10.3 1
+1:1.25-4 1:1.25-8 -1
+0:1.18.36 1.18.36 0
+
+# native version
+1.18.36 1.18.35 1
+0:1.18.36 1.18.35 1
+
+# Funky, but allowed, characters in upstream version
+9:1.18.36:5.4-20 10:0.5.1-22 -1
+9:1.18.36:5.4-20 9:1.18.36:5.5-1 -1
+9:1.18.36:5.4-20 9:1.18.37:4.3-22 -1
+1.18.36-0.17.35-18 1.18.36-19 1
+
+# Junk
+1:1.2.13-3 1:1.2.13-3.1 -1
+2.0.7pre1-4 2.0.7r-1 -1
+
+# Test some properties of text strings
+0-pre 0-pre 0
+0-pre 0-pree -1
+
+1.1.6r2-2 1.1.6r-1 1
+2.6b2-1 2.6b-2 1
+
+98.1p5-1 98.1-pre2-b6-2 -1
+0.4a6-2 0.4-1 1
+
+1:3.0.5-2 1:3.0.5.1 -1
+
+# #205960
+3.0~rc1-1 3.0-1 -1
+
+# #573592 - debian policy 5.6.12
+1.0 1.0-0 0
+0.2 1.0-0 -1
+1.0 1.0-0+b1 -1
+1.0 1.0-0~ 1
+
+# if a version includes a dash
+# it should be the debrev dash - policy says so…
+0:0-0-0 0-0 1
+
+# do we like strange versions? Yes we like strange versions…
+0 0 0
+0 00 0
+
+# "steal" the testcases from cupt
+1.2.3 1.2.3 0 # identical
+4.4.3-2 4.4.3-2 0 # identical
+1:2ab:5 1:2ab:5 0 # this is correct...
+7:1-a:b-5 7:1-a:b-5 0 # and this
+57:1.2.3abYZ+~-4-5 57:1.2.3abYZ+~-4-5 0 # and those too
+1.2.3 0:1.2.3 0 # zero epoch
+1.2.3 1.2.3-0 0 # zero revision
+009 9 0 # zeroes...
+009ab5 9ab5 0 # there as well
+1.2.3 1.2.3-1 -1 # added non-zero revision
+1.2.3 1.2.4 -1 # just bigger
+1.2.4 1.2.3 1 # order doesn't matter
+1.2.24 1.2.3 1 # bigger, eh?
+0.10.0 0.8.7 1 # bigger, eh?
+3.2 2.3 1 # major number rocks
+1.3.2a 1.3.2 1 # letters rock
+0.5.0~git 0.5.0~git2 -1 # numbers rock
+2a 21 -1 # but not in all places
+1.3.2a 1.3.2b -1 # but there is another letter
+1:1.2.3 1.2.4 1 # epoch rocks
+1:1.2.3 1:1.2.4 -1 # bigger anyway
+1.2a+~bCd3 1.2a++ -1 # tilde doesn't rock
+1.2a+~bCd3 1.2a+~ 1 # but first is longer!
+5:2 304-2 1 # epoch rocks
+5:2 304:2 -1 # so big epoch?
+25:2 3:2 1 # 25 > 3, obviously
+1:2:123 1:12:3 -1 # 12 > 2
+1.2-5 1.2-3-5 -1 # 1.2 < 1.2-3
+5.10.0 5.005 1 # preceding zeroes don't matters
+3a9.8 3.10.2 -1 # letters are before all letter symbols
+3a9.8 3~10 1 # but after the tilde
+1.4+OOo3.0.0~ 1.4+OOo3.0.0-4 -1 # another tilde check
+2.4.7-1 2.4.7-z -1 # revision comparing
+1.002-1+b2 1.00 1 # whatever...
+++ /dev/null
-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)
-
+++ /dev/null
-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
+++ /dev/null
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQBGuui6liSD4VZixzQRApSlAJ9D6G1QXvtXH1jH1I4SStsb1VsImQCbBPfp
-+1p0bDANcBVY+GckjJvFRkY=
-=a0AR
------END PGP SIGNATURE-----
+++ /dev/null
-# -*- make -*-
-BASE=..
-SUBDIR=test
-
-# Bring in the default rules
-include ../buildlib/defaults.mak
-
-# Program for testing methods
-PROGRAM=mthdcat
-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
-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
-SOURCE = testdeb.cc
-include $(PROGRAM_H)
-
-# Program for testing tar extraction
-PROGRAM=extract-control
-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
-SOURCE = test_udevcdrom.cc
-include $(PROGRAM_H)
-
-# Program for checking rpm versions
-#PROGRAM=rpmver
-#SLIBS = -lapt-pkg -lrpm
-#SOURCE = rpmver.cc
-#include $(PROGRAM_H)
+++ /dev/null
-/* Usage, mthdcat < cmds | methods/mthd
- All this does is cat a file into the method without closing the FD when
- the file ends */
-
-#include <unistd.h>
-
-int main()
-{
- char Buffer[4096];
-
- while (1)
- {
- int Res = read(STDIN_FILENO,Buffer,sizeof(Buffer));
- if (Res <= 0)
- while (1) sleep(100);
- if (write(STDOUT_FILENO,Buffer,Res) != Res)
- break;
- }
- return 0;
-}
+++ /dev/null
-
-Those tests aim at making the networkless install timeout
-quicker, see
-https://wiki.ubuntu.com/NetworklessInstallationFixes
-for details
+++ /dev/null
-
-# archive.ubuntu.com
-deb http://archive.ubuntu.com/ubuntu/ hardy main restricted
-deb-src http://archive.ubuntu.com/ubuntu/ hardy main restricted
-
-deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
-deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
-
-deb http://archive.ubuntu.com/ubuntu/ hardy universe
-deb-src http://archive.ubuntu.com/ubuntu/ hardy universe
-
-deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe
-deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates universe
-
-# security.ubuntu.com
-deb http://security.ubuntu.com/ubuntu/ hardy-security main restricted
-deb-src http://security.ubuntu.com/ubuntu/ hardy-security main restricted
-
-deb http://security.ubuntu.com/ubuntu/ hardy-security universe
-deb-src http://security.ubuntu.com/ubuntu/ hardy-security universe
-
-
-# archive.canonical.com
-deb http://archive.canonical.com/ubuntu/ hardy-partner universe
-deb-src http://archive.canonical.com/ubuntu/ hardy-partner universe
+++ /dev/null
-#!/bin/sh
-
-OPTS="-o Dir::Etc::sourcelist=./sources.test.list -o Acquire::http::timeout=20"
-
-# setup
-unset http_proxy
-iptables --flush
-
-echo "No network at all"
-ifdown eth0
-time apt-get update $OPTS 2>&1 |grep system
-ifup eth0
-echo ""
-
-echo "no working DNS (port 53 DROP)"
-iptables -A OUTPUT -p udp --dport 53 -j DROP
-time apt-get update $OPTS 2>&1 |grep system
-iptables --flush
-echo ""
-
-echo "DNS but no access to archive.ubuntu.com (port 80 DROP)"
-iptables -A OUTPUT -p tcp --dport 80 -j DROP
-time apt-get update $OPTS 2>&1 |grep system
-iptables --flush
-echo ""
+++ /dev/null
-#!/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()
+++ /dev/null
-#include <apt-pkg/debversion.h>
-#include <rpm/rpmio.h>
-#include <rpm/misc.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#define xisdigit(x) isdigit(x)
-#define xisalpha(x) isalpha(x)
-#define xisalnum(x) (isdigit(x) || isalpha(x))
-
-using namespace std;
-
-int rpmvercmp(const char * a, const char * b)
-{
- char oldch1, oldch2;
- char * str1, * str2;
- char * one, * two;
- int rc;
- int isnum;
-
- /* easy comparison to see if versions are identical */
- if (!strcmp(a, b)) return 0;
-
- str1 = (char *)alloca(strlen(a) + 1);
- str2 = (char *)alloca(strlen(b) + 1);
-
- strcpy(str1, a);
- strcpy(str2, b);
-
- one = str1;
- two = str2;
-
- /* loop through each version segment of str1 and str2 and compare them */
- while (*one && *two) {
- while (*one && !xisalnum(*one)) one++;
- while (*two && !xisalnum(*two)) two++;
-
- str1 = one;
- str2 = two;
-
- /* grab first completely alpha or completely numeric segment */
- /* leave one and two pointing to the start of the alpha or numeric */
- /* segment and walk str1 and str2 to end of segment */
- if (xisdigit(*str1)) {
- while (*str1 && xisdigit(*str1)) str1++;
- while (*str2 && xisdigit(*str2)) str2++;
- isnum = 1;
- } else {
- while (*str1 && xisalpha(*str1)) str1++;
- while (*str2 && xisalpha(*str2)) str2++;
- isnum = 0;
- }
-
- /* save character at the end of the alpha or numeric segment */
- /* so that they can be restored after the comparison */
- oldch1 = *str1;
- *str1 = '\0';
- oldch2 = *str2;
- *str2 = '\0';
-
- /* take care of the case where the two version segments are */
- /* different types: one numeric, the other alpha (i.e. empty) */
- if (one == str1) return -1; /* arbitrary */
- if (two == str2) return 1;
-
- if (isnum) {
- /* this used to be done by converting the digit segments */
- /* to ints using atoi() - it's changed because long */
- /* digit segments can overflow an int - this should fix that. */
-
- /* throw away any leading zeros - it's a number, right? */
- while (*one == '0') one++;
- while (*two == '0') two++;
-
- /* whichever number has more digits wins */
- if (strlen(one) > strlen(two)) return 1;
- if (strlen(two) > strlen(one)) return -1;
- }
-
- /* strcmp will return which one is greater - even if the two */
- /* segments are alpha or if they are numeric. don't return */
- /* if they are equal because there might be more segments to */
- /* compare */
- rc = strcmp(one, two);
- if (rc) return rc;
-
- /* restore character that was replaced by null above */
- *str1 = oldch1;
- one = str1;
- *str2 = oldch2;
- two = str2;
- }
-
- /* this catches the case where all numeric and alpha segments have */
- /* compared identically but the segment sepparating characters were */
- /* different */
- if ((!*one) && (!*two)) return 0;
-
- /* whichever version still has characters left over wins */
- if (!*one) return -1; else return 1;
-}
-
-int main(int argc,const char *argv[])
-{
- printf("%i\n",strcmp(argv[1],argv[2]));
-
- printf("'%s' <> '%s': ",argv[1],argv[2]);
- printf("rpm: %i deb: %i\n",rpmvercmp(argv[1],argv[2]),
- debVS.CmpFragment(argv[1],argv[1]+strlen(argv[1]),
- argv[2],argv[2]+strlen(argv[2])));
-
- printf("'%s' <> '%s': ",argv[2],argv[1]);
- printf("rpm: %i deb: %i\n",rpmvercmp(argv[2],argv[1]),
- debVS.CmpFragment(argv[2],argv[2]+strlen(argv[2]),
- argv[1],argv[1]+strlen(argv[1])));
- return 0;
-}
+++ /dev/null
-#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();
-}
+++ /dev/null
-#!/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 ====="
+++ /dev/null
-#include <apt-pkg/cdrom.h>
-#include <stdio.h>
-#include <assert.h>
-
-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++)
- std::cerr << l[i].DeviceName << " "
- << l[i].Mounted << " "
- << l[i].MountPath << std::endl;
-
-}
+++ /dev/null
-#include <apt-pkg/dirstream.h>
-#include <apt-pkg/debfile.h>
-#include <apt-pkg/error.h>
-#include <apt-pkg/extracttar.h>
-
-class NullStream : public pkgDirStream
-{
- public:
- virtual bool DoItem(Item &Itm,int &Fd) {return true;};
-};
-
-bool Test(const char *File)
-{
- FileFd Fd(File,FileFd::ReadOnly);
- debDebFile Deb(Fd);
-
- if (_error->PendingError() == true)
- return false;
-
- // Get the archive member and positition the file
- const ARArchive::Member *Member = Deb.GotoMember("data.tar.gz");
- if (Member == 0)
- return false;
-
- // Extract it.
- ExtractTar Tar(Deb.GetFile(),Member->Size, "gzip");
- NullStream Dir;
- if (Tar.Go(Dir) == false)
- return false;
-
- return true;
-}
-
-int main(int argc, const char *argv[])
-{
- Test(argv[1]);
- _error->DumpErrors();
- return 0;
-}
+++ /dev/null
-#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/strutl.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-
-using namespace std;
-
-bool Go(int argc,char *argv[])
-{
- // Init the database
- debDpkgDB Db;
- {
- OpTextProgress Prog;
-
- if (Db.ReadyPkgCache(Prog) == false)
- return false;
- Prog.Done();
-
- if (Db.ReadyFileList(Prog) == false)
- return false;
- }
-
- for (int I = 1; I < argc; I++)
- {
- const char *Fake = 0;
- for (unsigned J = 0; argv[I][J] != 0; J++)
- {
- if (argv[I][J] != ',')
- continue;
- Fake = argv[I] + J + 1;
- argv[I][J] = 0;
- }
-
- FileFd F(argv[I],FileFd::ReadOnly);
- debDebFile Deb(F);
-
- if (_error->PendingError() == true)
- return false;
-
- if (Deb.ExtractControl(Db) == false)
- return false;
- cout << argv[I] << endl;
-
- pkgCache::VerIterator Ver = Deb.MergeControl(Db);
- if (Ver.end() == true)
- return false;
-
- cout << Ver.ParentPkg().Name() << ' ' << Ver.VerStr() << endl;
-
- pkgExtract Extract(Db.GetFLCache(),Ver);
-
- if (Fake != 0)
- {
- pkgExtract::Item Itm;
- memset(&Itm,0,sizeof(Itm));
- FILE *F = fopen(Fake,"r");
- while (feof(F) == 0)
- {
- char Line[300];
- fgets(Line,sizeof(Line),F);
- Itm.Name = _strstrip(Line);
- Itm.Type = pkgDirStream::Item::File;
- if (Line[strlen(Line)-1] == '/')
- Itm.Type = pkgDirStream::Item::Directory;
-
- int Fd;
- if (Extract.DoItem(Itm,Fd) == false) {
- fclose(F);
- return false;
- }
- }
- fclose(F);
- }
- else
- if (Deb.ExtractArchive(Extract) == false)
- return false;
- }
- return true;
-}
-
-int main(int argc,char *argv[])
-{
- pkgInitConfig(*_config);
- pkgInitSystem(*_config,_system);
- _config->Set("Dir::State::status","/tmp/testing/status");
-
- Go(argc,argv);
-
- if (_error->PendingError() == true)
- {
- _error->DumpErrors();
- return 0;
- }
-}
+++ /dev/null
------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-----
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-broken/ /
-
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-ok/ /
-
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-release-broken/ /
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-release-ok/ /
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/all-validuntil-broken/ /
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-package-broken/ /
-
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-package-ok/ /
-
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-release-broken/ /
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/md5-release-ok/ /
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha1-release-broken/ /
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha1-release-ok/ /
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-package-broken/ /
-
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-package-ok/ /
-
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-release-broken/ /
+++ /dev/null
-deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/sha256-release-ok/ /
+++ /dev/null
-#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");
-}
+++ /dev/null
-# List of
-# ver1 ver2 ret
-# Of versions worth testing
-# 1 means that ver1 > ver2
-# -1 means that ver1 < ver2
-# 0 means that ver1 = ver2
-7.6p2-4 7.6-0 1
-1.0.3-3 1.0-1 1
-1.3 1.2.2-2 1
-1.3 1.2.2 1
-
-# Important attributes
-# disabled as dpkg --compare-versions doesn't like them… (versions have to start with a number)
-#- . -1
-#p - -1
-#a - -1
-#z - -1
-#a . -1
-#z . -1
-
-# disabled as dpkg --compare-versions doesn't like them… (versions have to start with a number)
-#III-alpha9.8 III-alpha9.8-1.5 -1
-
-# Epochs
-1:0.4 10.3 1
-1:1.25-4 1:1.25-8 -1
-0:1.18.36 1.18.36 0
-
-# native version
-1.18.36 1.18.35 1
-0:1.18.36 1.18.35 1
-
-# Funky, but allowed, characters in upstream version
-9:1.18.36:5.4-20 10:0.5.1-22 -1
-9:1.18.36:5.4-20 9:1.18.36:5.5-1 -1
-9:1.18.36:5.4-20 9:1.18.37:4.3-22 -1
-1.18.36-0.17.35-18 1.18.36-19 1
-
-# Junk
-1:1.2.13-3 1:1.2.13-3.1 -1
-2.0.7pre1-4 2.0.7r-1 -1
-
-# Test some properties of text strings
-0-pre 0-pre 0
-0-pre 0-pree -1
-
-1.1.6r2-2 1.1.6r-1 1
-2.6b2-1 2.6b-2 1
-
-98.1p5-1 98.1-pre2-b6-2 -1
-0.4a6-2 0.4-1 1
-
-1:3.0.5-2 1:3.0.5.1 -1
-
-# #205960
-3.0~rc1-1 3.0-1 -1
-
-# #573592 - debian policy 5.6.12
-1.0 1.0-0 0
-0.2 1.0-0 -1
-1.0 1.0-0+b1 -1
-1.0 1.0-0~ 1
-
-# if a version includes a dash
-# it should be the debrev dash - policy says so…
-0:0-0-0 0-0 1
-
-# do we like strange versions? Yes we like strange versions…
-0 0 0
-0 00 0
-
-# "steal" the testcases from cupt
-1.2.3 1.2.3 0 # identical
-4.4.3-2 4.4.3-2 0 # identical
-1:2ab:5 1:2ab:5 0 # this is correct...
-7:1-a:b-5 7:1-a:b-5 0 # and this
-57:1.2.3abYZ+~-4-5 57:1.2.3abYZ+~-4-5 0 # and those too
-1.2.3 0:1.2.3 0 # zero epoch
-1.2.3 1.2.3-0 0 # zero revision
-009 9 0 # zeroes...
-009ab5 9ab5 0 # there as well
-1.2.3 1.2.3-1 -1 # added non-zero revision
-1.2.3 1.2.4 -1 # just bigger
-1.2.4 1.2.3 1 # order doesn't matter
-1.2.24 1.2.3 1 # bigger, eh?
-0.10.0 0.8.7 1 # bigger, eh?
-3.2 2.3 1 # major number rocks
-1.3.2a 1.3.2 1 # letters rock
-0.5.0~git 0.5.0~git2 -1 # numbers rock
-2a 21 -1 # but not in all places
-1.3.2a 1.3.2b -1 # but there is another letter
-1:1.2.3 1.2.4 1 # epoch rocks
-1:1.2.3 1:1.2.4 -1 # bigger anyway
-1.2a+~bCd3 1.2a++ -1 # tilde doesn't rock
-1.2a+~bCd3 1.2a+~ 1 # but first is longer!
-5:2 304-2 1 # epoch rocks
-5:2 304:2 -1 # so big epoch?
-25:2 3:2 1 # 25 > 3, obviously
-1:2:123 1:12:3 -1 # 12 > 2
-1.2-5 1.2-3-5 -1 # 1.2 < 1.2-3
-5.10.0 5.005 1 # preceding zeroes don't matters
-3a9.8 3.10.2 -1 # letters are before all letter symbols
-3a9.8 3~10 1 # but after the tilde
-1.4+OOo3.0.0~ 1.4+OOo3.0.0-4 -1 # another tilde check
-2.4.7-1 2.4.7-z -1 # revision comparing
-1.002-1+b2 1.00 1 # whatever...