diff options
123 files changed, 9195 insertions, 4817 deletions
diff --git a/apt-inst/makefile b/apt-inst/makefile index 785dc62ba..32d231240 100644 --- a/apt-inst/makefile +++ b/apt-inst/makefile @@ -14,7 +14,7 @@ include ../buildlib/libversion.mak # The library name LIBRARY=apt-inst -MAJOR=1.2 +MAJOR=1.3 MINOR=0 SLIBS=$(PTHREADLIB) -lapt-pkg APT_DOMAIN:=libapt-inst$(MAJOR) diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index 566f51606..c31d5d2b3 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -94,7 +94,7 @@ void pkgAcquire::Item::Failed(string Message,pkgAcquire::MethodConfig *Cnf) // --------------------------------------------------------------------- /* Stash status and the file size. Note that setting Complete means sub-phases of the acquire process such as decompresion are operating */ -void pkgAcquire::Item::Start(string /*Message*/,unsigned long Size) +void pkgAcquire::Item::Start(string /*Message*/,unsigned long long Size) { Status = StatFetching; if (FileSize == 0 && Complete == false) @@ -104,7 +104,7 @@ void pkgAcquire::Item::Start(string /*Message*/,unsigned long Size) // Acquire::Item::Done - Item downloaded OK /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgAcquire::Item::Done(string Message,unsigned long Size,string Hash, +void pkgAcquire::Item::Done(string Message,unsigned long long Size,string Hash, pkgAcquire::MethodConfig *Cnf) { // We just downloaded something.. @@ -245,7 +245,7 @@ void pkgAcqSubIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{* } } /*}}}*/ -void pkgAcqSubIndex::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/ +void pkgAcqSubIndex::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/ pkgAcquire::MethodConfig *Cnf) { if(Debug) @@ -544,7 +544,7 @@ void pkgAcqDiffIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{ Dequeue(); } /*}}}*/ -void pkgAcqDiffIndex::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/ +void pkgAcqDiffIndex::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/ pkgAcquire::MethodConfig *Cnf) { if(Debug) @@ -710,7 +710,7 @@ bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/ return true; } /*}}}*/ -void pkgAcqIndexDiffs::Done(string Message,unsigned long Size,string Md5Hash, /*{{{*/ +void pkgAcqIndexDiffs::Done(string Message,unsigned long long Size,string Md5Hash, /*{{{*/ pkgAcquire::MethodConfig *Cnf) { if(Debug) @@ -881,7 +881,7 @@ void pkgAcqIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) /*{{{*/ to the uncompressed version of the file. If this is so the file is copied into the partial directory. In all other cases the file is decompressed with a gzip uri. */ -void pkgAcqIndex::Done(string Message,unsigned long Size,string Hash, +void pkgAcqIndex::Done(string Message,unsigned long long Size,string Hash, pkgAcquire::MethodConfig *Cfg) { Item::Done(Message,Size,Hash,Cfg); @@ -1123,7 +1123,7 @@ string pkgAcqMetaSig::Custom600Headers() return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime); } -void pkgAcqMetaSig::Done(string Message,unsigned long Size,string MD5, +void pkgAcqMetaSig::Done(string Message,unsigned long long Size,string MD5, pkgAcquire::MethodConfig *Cfg) { Item::Done(Message,Size,MD5,Cfg); @@ -1232,7 +1232,7 @@ string pkgAcqMetaIndex::Custom600Headers() return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime); } /*}}}*/ -void pkgAcqMetaIndex::Done(string Message,unsigned long Size,string Hash, /*{{{*/ +void pkgAcqMetaIndex::Done(string Message,unsigned long long Size,string Hash, /*{{{*/ pkgAcquire::MethodConfig *Cfg) { Item::Done(Message,Size,Hash,Cfg); @@ -1734,6 +1734,8 @@ bool pkgAcqArchive::QueueNext() string PkgFile = Parse.FileName(); if (ForceHash.empty() == false) { + if(stringcasecmp(ForceHash, "sha512") == 0) + ExpectedHash = HashString("SHA512", Parse.SHA512Hash()); if(stringcasecmp(ForceHash, "sha256") == 0) ExpectedHash = HashString("SHA256", Parse.SHA256Hash()); else if (stringcasecmp(ForceHash, "sha1") == 0) @@ -1744,7 +1746,9 @@ bool pkgAcqArchive::QueueNext() else { string Hash; - if ((Hash = Parse.SHA256Hash()).empty() == false) + if ((Hash = Parse.SHA512Hash()).empty() == false) + ExpectedHash = HashString("SHA512", Hash); + else if ((Hash = Parse.SHA256Hash()).empty() == false) ExpectedHash = HashString("SHA256", Hash); else if ((Hash = Parse.SHA1Hash()).empty() == false) ExpectedHash = HashString("SHA1", Hash); @@ -1768,7 +1772,7 @@ bool pkgAcqArchive::QueueNext() if (stat(FinalFile.c_str(),&Buf) == 0) { // Make sure the size matches - if ((unsigned)Buf.st_size == Version->Size) + if ((unsigned long long)Buf.st_size == Version->Size) { Complete = true; Local = true; @@ -1787,7 +1791,7 @@ bool pkgAcqArchive::QueueNext() if (stat(FinalFile.c_str(),&Buf) == 0) { // Make sure the size matches - if ((unsigned)Buf.st_size == Version->Size) + if ((unsigned long long)Buf.st_size == Version->Size) { Complete = true; Local = true; @@ -1807,7 +1811,7 @@ bool pkgAcqArchive::QueueNext() if (stat(DestFile.c_str(),&Buf) == 0) { // Hmm, the partial file is too big, erase it - if ((unsigned)Buf.st_size > Version->Size) + if ((unsigned long long)Buf.st_size > Version->Size) unlink(DestFile.c_str()); else PartialSize = Buf.st_size; @@ -1830,7 +1834,7 @@ bool pkgAcqArchive::QueueNext() // AcqArchive::Done - Finished fetching /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgAcqArchive::Done(string Message,unsigned long Size,string CalcHash, +void pkgAcqArchive::Done(string Message,unsigned long long Size,string CalcHash, pkgAcquire::MethodConfig *Cfg) { Item::Done(Message,Size,CalcHash,Cfg); @@ -1941,7 +1945,7 @@ void pkgAcqArchive::Finished() // --------------------------------------------------------------------- /* The file is added to the queue */ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash, - unsigned long Size,string Dsc,string ShortDesc, + unsigned long long Size,string Dsc,string ShortDesc, const string &DestDir, const string &DestFilename, bool IsIndexFile) : Item(Owner), ExpectedHash(Hash), IsIndexFile(IsIndexFile) @@ -1969,7 +1973,7 @@ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash, if (stat(DestFile.c_str(),&Buf) == 0) { // Hmm, the partial file is too big, erase it - if ((unsigned)Buf.st_size > Size) + if ((unsigned long long)Buf.st_size > Size) unlink(DestFile.c_str()); else PartialSize = Buf.st_size; @@ -1981,7 +1985,7 @@ pkgAcqFile::pkgAcqFile(pkgAcquire *Owner,string URI,string Hash, // AcqFile::Done - Item downloaded OK /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgAcqFile::Done(string Message,unsigned long Size,string CalcHash, +void pkgAcqFile::Done(string Message,unsigned long long Size,string CalcHash, pkgAcquire::MethodConfig *Cnf) { Item::Done(Message,Size,CalcHash,Cnf); @@ -2069,13 +2073,3 @@ string pkgAcqFile::Custom600Headers() return ""; } /*}}}*/ -bool IndexTarget::IsOptional() const { - if (strncmp(ShortDesc.c_str(), "Translation", 11) != 0) - return false; - return true; -} -bool IndexTarget::IsSubIndex() const { - if (ShortDesc != "TranslationIndex") - return false; - return true; -} diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h index f763577ee..f39a90c0b 100644 --- a/apt-pkg/acquire-item.h +++ b/apt-pkg/acquire-item.h @@ -194,7 +194,7 @@ class pkgAcquire::Item : public WeakPointable * * \sa pkgAcqMethod */ - virtual void Done(string Message,unsigned long Size,string Hash, + virtual void Done(string Message,unsigned long long Size,string Hash, pkgAcquire::MethodConfig *Cnf); /** \brief Invoked when the worker starts to fetch this object. @@ -206,7 +206,7 @@ class pkgAcquire::Item : public WeakPointable * * \sa pkgAcqMethod */ - virtual void Start(string Message,unsigned long Size); + virtual void Start(string Message,unsigned long long Size); /** \brief Custom headers to be sent to the fetch process. * @@ -309,7 +309,7 @@ class pkgAcqSubIndex : public pkgAcquire::Item public: // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return Desc.URI;}; virtual string Custom600Headers(); @@ -372,7 +372,7 @@ class pkgAcqDiffIndex : public pkgAcquire::Item public: // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return RealURI + "Index";}; virtual string Custom600Headers(); @@ -508,7 +508,7 @@ class pkgAcqIndexDiffs : public pkgAcquire::Item */ virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return RealURI + "Index";}; @@ -581,7 +581,7 @@ class pkgAcqIndex : public pkgAcquire::Item // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string Custom600Headers(); virtual string DescURI() {return Desc.URI;}; @@ -646,8 +646,9 @@ class pkgAcqIndexTrans : public pkgAcqIndex }; /*}}}*/ /** \brief Information about an index file. */ /*{{{*/ -struct IndexTarget +class IndexTarget { + public: /** \brief A URI from which the index file can be downloaded. */ string URI; @@ -662,14 +663,28 @@ struct IndexTarget */ string MetaKey; - //FIXME: We should use virtual methods here instead… - bool IsOptional() const; - bool IsSubIndex() const; + virtual bool IsOptional() const { + return false; + } + virtual bool IsSubIndex() const { + return false; + } }; /*}}}*/ /** \brief Information about an optional index file. */ /*{{{*/ -struct OptionalIndexTarget : public IndexTarget +class OptionalIndexTarget : public IndexTarget +{ + virtual bool IsOptional() const { + return true; + } +}; + /*}}}*/ +/** \brief Information about an subindex index file. */ /*{{{*/ +class SubIndexTarget : public IndexTarget { + virtual bool IsSubIndex() const { + return true; + } }; /*}}}*/ @@ -723,7 +738,7 @@ class pkgAcqMetaSig : public pkgAcquire::Item // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Md5Hash, + virtual void Done(string Message,unsigned long long Size,string Md5Hash, pkgAcquire::MethodConfig *Cnf); virtual string Custom600Headers(); virtual string DescURI() {return RealURI; }; @@ -818,7 +833,7 @@ class pkgAcqMetaIndex : public pkgAcquire::Item // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size, string Hash, + virtual void Done(string Message,unsigned long long Size, string Hash, pkgAcquire::MethodConfig *Cnf); virtual string Custom600Headers(); virtual string DescURI() {return RealURI; }; @@ -918,7 +933,7 @@ class pkgAcqArchive : public pkgAcquire::Item public: virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string Hash, + virtual void Done(string Message,unsigned long long Size,string Hash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return Desc.URI;}; virtual string ShortDesc() {return Desc.ShortDesc;}; @@ -975,7 +990,7 @@ class pkgAcqFile : public pkgAcquire::Item // Specialized action members virtual void Failed(string Message,pkgAcquire::MethodConfig *Cnf); - virtual void Done(string Message,unsigned long Size,string CalcHash, + virtual void Done(string Message,unsigned long long Size,string CalcHash, pkgAcquire::MethodConfig *Cnf); virtual string DescURI() {return Desc.URI;}; virtual string HashSum() {return ExpectedHash.toStr(); }; @@ -1012,7 +1027,7 @@ class pkgAcqFile : public pkgAcquire::Item * is the absolute name to which the file should be downloaded. */ - pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long Size, + pkgAcqFile(pkgAcquire *Owner, string URI, string Hash, unsigned long long Size, string Desc, string ShortDesc, const string &DestDir="", const string &DestFilename="", bool IsIndexFile=false); diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc index 7e9061e56..25c6c674d 100644 --- a/apt-pkg/acquire-method.cc +++ b/apt-pkg/acquire-method.cc @@ -166,6 +166,8 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) std::cout << "SHA1-Hash: " << Res.SHA1Sum << "\n"; if (Res.SHA256Sum.empty() == false) std::cout << "SHA256-Hash: " << Res.SHA256Sum << "\n"; + if (Res.SHA512Sum.empty() == false) + std::cout << "SHA512-Hash: " << Res.SHA512Sum << "\n"; if (UsedMirror.empty() == false) std::cout << "UsedMirror: " << UsedMirror << "\n"; if (Res.GPGVOutput.empty() == false) @@ -199,7 +201,9 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt) std::cout << "Alt-SHA1-Hash: " << Alt->SHA1Sum << "\n"; if (Alt->SHA256Sum.empty() == false) std::cout << "Alt-SHA256-Hash: " << Alt->SHA256Sum << "\n"; - + if (Alt->SHA512Sum.empty() == false) + std::cout << "Alt-SHA512-Hash: " << Alt->SHA512Sum << "\n"; + if (Alt->IMSHit == true) std::cout << "Alt-IMS-Hit: true\n"; } @@ -456,5 +460,6 @@ void pkgAcqMethod::FetchResult::TakeHashes(Hashes &Hash) MD5Sum = Hash.MD5.Result(); SHA1Sum = Hash.SHA1.Result(); SHA256Sum = Hash.SHA256.Result(); + SHA512Sum = Hash.SHA512.Result(); } /*}}}*/ diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h index 72efa8065..6551170c4 100644 --- a/apt-pkg/acquire-method.h +++ b/apt-pkg/acquire-method.h @@ -46,12 +46,13 @@ class pkgAcqMethod string MD5Sum; string SHA1Sum; string SHA256Sum; + string SHA512Sum; vector<string> GPGVOutput; time_t LastModified; bool IMSHit; string Filename; - unsigned long Size; - unsigned long ResumePoint; + unsigned long long Size; + unsigned long long ResumePoint; void TakeHashes(Hashes &Hash); FetchResult(); diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc index 75e03232a..3e1fd98db 100644 --- a/apt-pkg/acquire-worker.cc +++ b/apt-pkg/acquire-worker.cc @@ -287,9 +287,9 @@ bool pkgAcquire::Worker::RunMessages() Log->Pulse(Owner->GetOwner()); OwnerQ->ItemDone(Itm); - unsigned long const ServerSize = atol(LookupTag(Message,"Size","0").c_str()); + unsigned long long const ServerSize = atoll(LookupTag(Message,"Size","0").c_str()); if (TotalSize != 0 && ServerSize != TotalSize) - _error->Warning("Size of file %s is not what the server reported %s %lu", + _error->Warning("Size of file %s is not what the server reported %s %llu", Owner->DestFile.c_str(), LookupTag(Message,"Size","0").c_str(),TotalSize); // see if there is a hash to verify diff --git a/apt-pkg/acquire-worker.h b/apt-pkg/acquire-worker.h index 06283922e..ce19091e4 100644 --- a/apt-pkg/acquire-worker.h +++ b/apt-pkg/acquire-worker.h @@ -44,6 +44,9 @@ */ class pkgAcquire::Worker : public WeakPointable { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + friend class pkgAcquire; protected: @@ -244,17 +247,17 @@ class pkgAcquire::Worker : public WeakPointable /** \brief How many bytes of the file have been downloaded. Zero * if the current progress of the file cannot be determined. */ - unsigned long CurrentSize; + unsigned long long CurrentSize; /** \brief The total number of bytes to be downloaded. Zero if the * total size of the final is unknown. */ - unsigned long TotalSize; + unsigned long long TotalSize; /** \brief How much of the file was already downloaded prior to * starting this worker. */ - unsigned long ResumePoint; + unsigned long long ResumePoint; /** \brief Tell the subprocess to download the given item. * @@ -314,7 +317,7 @@ class pkgAcquire::Worker : public WeakPointable * Closes the file descriptors; if MethodConfig::NeedsCleanup is * \b false, also rudely interrupts the worker with a SIGINT. */ - ~Worker(); + virtual ~Worker(); }; /** @} */ diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index a2da196be..8c00748b2 100644 --- a/apt-pkg/acquire.cc +++ b/apt-pkg/acquire.cc @@ -37,9 +37,9 @@ using namespace std; // Acquire::pkgAcquire - Constructor /*{{{*/ // --------------------------------------------------------------------- /* We grab some runtime state from the configuration space */ -pkgAcquire::pkgAcquire() : Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0), +pkgAcquire::pkgAcquire() : LockFD(-1), Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0), Debug(_config->FindB("Debug::pkgAcquire",false)), - Running(false), LockFD(-1) + Running(false) { string const Mode = _config->Find("Acquire::Queue-Mode","host"); if (strcasecmp(Mode.c_str(),"host") == 0) @@ -47,10 +47,10 @@ pkgAcquire::pkgAcquire() : Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch if (strcasecmp(Mode.c_str(),"access") == 0) QueueMode = QueueAccess; } -pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : Queues(0), Workers(0), +pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : LockFD(-1), Queues(0), Workers(0), Configs(0), Log(Progress), ToFetch(0), Debug(_config->FindB("Debug::pkgAcquire",false)), - Running(false), LockFD(-1) + Running(false) { string const Mode = _config->Find("Acquire::Queue-Mode","host"); if (strcasecmp(Mode.c_str(),"host") == 0) @@ -799,7 +799,7 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner) } // Compute the current completion - unsigned long ResumeSize = 0; + unsigned long long ResumeSize = 0; for (pkgAcquire::Worker *I = Owner->WorkersBegin(); I != 0; I = Owner->WorkerStep(I)) if (I->CurrentItem != 0 && I->CurrentItem->Owner->Complete == false) @@ -838,7 +838,7 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner) else CurrentCPS = ((CurrentBytes - ResumeSize) - LastBytes)/Delta; LastBytes = CurrentBytes - ResumeSize; - ElapsedTime = (unsigned long)Delta; + ElapsedTime = (unsigned long long)Delta; Time = NewTime; } @@ -849,8 +849,9 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner) char msg[200]; long i = CurrentItems < TotalItems ? CurrentItems + 1 : CurrentItems; - unsigned long ETA = - (unsigned long)((TotalBytes - CurrentBytes) / CurrentCPS); + unsigned long long ETA = 0; + if(CurrentCPS > 0) + ETA = (TotalBytes - CurrentBytes) / CurrentCPS; // only show the ETA if it makes sense if (ETA > 0 && ETA < 172800 /* two days */ ) @@ -906,13 +907,13 @@ void pkgAcquireStatus::Stop() else CurrentCPS = FetchedBytes/Delta; LastBytes = CurrentBytes; - ElapsedTime = (unsigned int)Delta; + ElapsedTime = (unsigned long long)Delta; } /*}}}*/ // AcquireStatus::Fetched - Called when a byte set has been fetched /*{{{*/ // --------------------------------------------------------------------- /* This is used to get accurate final transfer rate reporting. */ -void pkgAcquireStatus::Fetched(unsigned long Size,unsigned long Resume) +void pkgAcquireStatus::Fetched(unsigned long long Size,unsigned long long Resume) { FetchedBytes += Size - Resume; } diff --git a/apt-pkg/acquire.h b/apt-pkg/acquire.h index 9fe0e8a87..ae555df22 100644 --- a/apt-pkg/acquire.h +++ b/apt-pkg/acquire.h @@ -91,6 +91,12 @@ class pkgAcquireStatus; */ class pkgAcquire { + private: + /** \brief FD of the Lock file we acquire in Setup (if any) */ + int LockFD; + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + public: class Item; @@ -142,12 +148,7 @@ class pkgAcquire /** \brief The progress indicator for this download. */ pkgAcquireStatus *Log; - /** \brief The total size of the files which are to be fetched. - * - * This is not necessarily the total number of bytes to download - * when, e.g., download resumption and list updates via patches - * are taken into account. - */ + /** \brief The number of files which are to be fetched. */ unsigned long ToFetch; // Configurable parameters for the scheduler @@ -361,9 +362,6 @@ class pkgAcquire */ virtual ~pkgAcquire(); - private: - /** \brief FD of the Lock file we acquire in Setup (if any) */ - int LockFD; }; /** \brief Represents a single download source from which an item @@ -393,6 +391,9 @@ class pkgAcquire::Queue friend class pkgAcquire::UriIterator; friend class pkgAcquire::Worker; + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + /** \brief The next queue in the pkgAcquire object's list of queues. */ Queue *Next; @@ -480,7 +481,7 @@ class pkgAcquire::Queue * * \todo Unimplemented. Implement it or remove? */ - bool ItemStart(QItem *Itm,unsigned long Size); + bool ItemStart(QItem *Itm,unsigned long long Size); /** \brief Remove the given item from this queue and set its state * to pkgAcquire::Item::StatDone. @@ -542,12 +543,15 @@ class pkgAcquire::Queue /** Shut down all the worker processes associated with this queue * and empty the queue. */ - ~Queue(); + virtual ~Queue(); }; /*}}}*/ /** \brief Iterates over all the URIs being fetched by a pkgAcquire object. {{{*/ class pkgAcquire::UriIterator { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + /** The next queue to iterate over. */ pkgAcquire::Queue *CurQ; /** The item that we currently point at. */ @@ -583,11 +587,15 @@ class pkgAcquire::UriIterator CurQ = CurQ->Next; } } + virtual ~UriIterator() {}; }; /*}}}*/ /** \brief Information about the properties of a single acquire method. {{{*/ struct pkgAcquire::MethodConfig { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + /** \brief The next link on the acquire method list. * * \todo Why not an STL container? @@ -636,16 +644,20 @@ struct pkgAcquire::MethodConfig * appropriate. */ MethodConfig(); + + /* \brief Destructor, empty currently */ + virtual ~MethodConfig() {}; }; /*}}}*/ /** \brief A monitor object for downloads controlled by the pkgAcquire class. {{{ * * \todo Why protected members? - * - * \todo Should the double members be uint64_t? */ class pkgAcquireStatus { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: /** \brief The last time at which this monitor object was updated. */ @@ -657,34 +669,34 @@ class pkgAcquireStatus /** \brief The number of bytes fetched as of the previous call to * pkgAcquireStatus::Pulse, including local items. */ - double LastBytes; + unsigned long long LastBytes; /** \brief The current rate of download as of the most recent call * to pkgAcquireStatus::Pulse, in bytes per second. */ - double CurrentCPS; + unsigned long long CurrentCPS; /** \brief The number of bytes fetched as of the most recent call * to pkgAcquireStatus::Pulse, including local items. */ - double CurrentBytes; + unsigned long long CurrentBytes; /** \brief The total number of bytes that need to be fetched. * * \warning This member is inaccurate, as new items might be * enqueued while the download is in progress! */ - double TotalBytes; + unsigned long long TotalBytes; /** \brief The total number of bytes accounted for by items that * were successfully fetched. */ - double FetchedBytes; + unsigned long long FetchedBytes; /** \brief The amount of time that has elapsed since the download * started. */ - unsigned long ElapsedTime; + unsigned long long ElapsedTime; /** \brief The total number of items that need to be fetched. * @@ -717,7 +729,7 @@ class pkgAcquireStatus * * \param ResumePoint How much of the file was already fetched. */ - virtual void Fetched(unsigned long Size,unsigned long ResumePoint); + virtual void Fetched(unsigned long long Size,unsigned long long ResumePoint); /** \brief Invoked when the user should be prompted to change the * inserted removable media. diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 5fbcb47be..08d1f8cb7 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -20,12 +20,15 @@ #include <apt-pkg/version.h> #include <apt-pkg/sptr.h> #include <apt-pkg/acquire-item.h> - +#include <apt-pkg/edsp.h> + #include <apti18n.h> #include <sys/types.h> #include <cstdlib> #include <algorithm> #include <iostream> + +#include <stdio.h> /*}}}*/ using namespace std; @@ -327,6 +330,12 @@ bool pkgFixBroken(pkgDepCache &Cache) */ bool pkgDistUpgrade(pkgDepCache &Cache) { + std::string const solver = _config->Find("APT::Solver", "internal"); + if (solver != "internal") { + OpTextProgress Prog(*_config); + return EDSP::ResolveExternal(solver.c_str(), Cache, false, true, false, &Prog); + } + pkgDepCache::ActionGroup group(Cache); /* Upgrade all installed packages first without autoinst to help the resolver @@ -379,6 +388,12 @@ bool pkgDistUpgrade(pkgDepCache &Cache) to install packages not marked for install */ bool pkgAllUpgrade(pkgDepCache &Cache) { + std::string const solver = _config->Find("APT::Solver", "internal"); + if (solver != "internal") { + OpTextProgress Prog(*_config); + return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, &Prog); + } + pkgDepCache::ActionGroup group(Cache); pkgProblemResolver Fix(&Cache); @@ -725,7 +740,20 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) return true; } /*}}}*/ -// ProblemResolver::Resolve - Run the resolution pass /*{{{*/ +// ProblemResolver::Resolve - calls a resolver to fix the situation /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool pkgProblemResolver::Resolve(bool BrokenFix) +{ + std::string const solver = _config->Find("APT::Solver", "internal"); + if (solver != "internal") { + OpTextProgress Prog(*_config); + return EDSP::ResolveExternal(solver.c_str(), Cache, false, false, false, &Prog); + } + return ResolveInternal(BrokenFix); +} + /*}}}*/ +// ProblemResolver::ResolveInternal - Run the resolution pass /*{{{*/ // --------------------------------------------------------------------- /* This routines works by calculating a score for each package. The score is derived by considering the package's priority and all reverse @@ -739,12 +767,10 @@ bool pkgProblemResolver::DoUpgrade(pkgCache::PkgIterator Pkg) The BrokenFix flag enables a mode where the algorithm tries to upgrade packages to advoid problems. */ -bool pkgProblemResolver::Resolve(bool BrokenFix) +bool pkgProblemResolver::ResolveInternal(bool const BrokenFix) { pkgDepCache::ActionGroup group(Cache); - unsigned long Size = Cache.Head().PackageCount; - // Record which packages are marked for install bool Again = false; do @@ -774,7 +800,9 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) clog << "Starting" << endl; MakeScores(); - + + unsigned long const Size = Cache.Head().PackageCount; + /* We have to order the packages so that the broken fixing pass operates from highest score to lowest. This prevents problems when high score packages cause the removal of lower score packages that @@ -1208,6 +1236,21 @@ bool pkgProblemResolver::InstOrNewPolicyBroken(pkgCache::PkgIterator I) system was non-broken previously. */ bool pkgProblemResolver::ResolveByKeep() { + std::string const solver = _config->Find("APT::Solver", "internal"); + if (solver != "internal") { + OpTextProgress Prog(*_config); + return EDSP::ResolveExternal(solver.c_str(), Cache, true, false, false, &Prog); + } + return ResolveByKeepInternal(); +} + /*}}}*/ +// ProblemResolver::ResolveByKeepInternal - Resolve problems using keep /*{{{*/ +// --------------------------------------------------------------------- +/* This is the work horse of the soft upgrade routine. It is very gental + in that it does not install or remove any packages. It is assumed that the + system was non-broken previously. */ +bool pkgProblemResolver::ResolveByKeepInternal() +{ pkgDepCache::ActionGroup group(Cache); unsigned long Size = Cache.Head().PackageCount; diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h index 99501bed1..86d5fbd53 100644 --- a/apt-pkg/algorithms.h +++ b/apt-pkg/algorithms.h @@ -78,6 +78,9 @@ private: /*}}}*/ class pkgProblemResolver /*{{{*/ { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + pkgDepCache &Cache; typedef pkgCache::PkgIterator PkgIterator; typedef pkgCache::VerIterator VerIterator; @@ -105,6 +108,9 @@ class pkgProblemResolver /*{{{*/ void MakeScores(); bool DoUpgrade(pkgCache::PkgIterator Pkg); + + bool ResolveInternal(bool const BrokenFix = false); + bool ResolveByKeepInternal(); protected: bool InstOrNewPolicyBroken(pkgCache::PkgIterator Pkg); diff --git a/apt-pkg/cachefile.h b/apt-pkg/cachefile.h index 09d3ec267..d07337d38 100644 --- a/apt-pkg/cachefile.h +++ b/apt-pkg/cachefile.h @@ -25,6 +25,9 @@ class pkgCacheFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: MMap *Map; diff --git a/apt-pkg/cachefilter.h b/apt-pkg/cachefilter.h index e7ab1723f..5d426008b 100644 --- a/apt-pkg/cachefilter.h +++ b/apt-pkg/cachefilter.h @@ -16,6 +16,8 @@ namespace APT { namespace CacheFilter { // PackageNameMatchesRegEx /*{{{*/ class PackageNameMatchesRegEx { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; regex_t* pattern; public: PackageNameMatchesRegEx(std::string const &Pattern); diff --git a/apt-pkg/cacheiterators.h b/apt-pkg/cacheiterators.h index 0c9813c6d..b97a1a589 100644 --- a/apt-pkg/cacheiterators.h +++ b/apt-pkg/cacheiterators.h @@ -206,15 +206,10 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> { inline const char *VerStr() const {return S->VerStr == 0?0:Owner->StrP + S->VerStr;}; inline const char *Section() const {return S->Section == 0?0:Owner->StrP + S->Section;}; inline const char *Arch() const { - if (S->MultiArch == pkgCache::Version::All || - S->MultiArch == pkgCache::Version::AllForeign || - S->MultiArch == pkgCache::Version::AllAllowed) + if (S->MultiArch == pkgCache::Version::All) return "all"; return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch; }; - __deprecated inline const char *Arch(bool const pseudo) const { - return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch; - }; inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + S->ParentPkg);}; inline DescIterator DescriptionList() const; @@ -227,7 +222,6 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> { string RelStr() const; bool Automatic() const; - __deprecated bool Pseudo() const; VerFileIterator NewestFile() const; inline VerIterator(pkgCache &Owner,Version *Trg = 0) : Iterator<Version, VerIterator>(Owner, Trg) { diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h index eb4f04d72..061d0a2f4 100644 --- a/apt-pkg/cacheset.h +++ b/apt-pkg/cacheset.h @@ -257,7 +257,6 @@ public: /*{{{*/ inline const char *VerStr() const { return (**this).VerStr(); }; inline const char *Section() const { return (**this).Section(); }; inline const char *Arch() const { return (**this).Arch(); }; - __deprecated inline const char *Arch(bool const pseudo) const { return (**this).Arch(); }; inline pkgCache::PkgIterator ParentPkg() const { return (**this).ParentPkg(); }; inline pkgCache::DescIterator DescriptionList() const { return (**this).DescriptionList(); }; inline pkgCache::DescIterator TranslatedDescription() const { return (**this).TranslatedDescription(); }; @@ -268,7 +267,6 @@ public: /*{{{*/ inline const char *PriorityType() const { return (**this).PriorityType(); }; inline string RelStr() const { return (**this).RelStr(); }; inline bool Automatic() const { return (**this).Automatic(); }; - __deprecated inline bool Pseudo() const { return false; }; inline pkgCache::VerFileIterator NewestFile() const { return (**this).NewestFile(); }; }; /*}}}*/ diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index b8acf0cbe..df1ffedf2 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -874,9 +874,7 @@ pkgUdevCdromDevices::Dlopen() /*{{{*/ libudev_handle = h; udev_new = (udev* (*)(void)) dlsym(h, "udev_new"); udev_enumerate_add_match_property = (int (*)(udev_enumerate*, const char*, const char*))dlsym(h, "udev_enumerate_add_match_property"); -#if 0 // FIXME: uncomment on next ABI break udev_enumerate_add_match_sysattr = (int (*)(udev_enumerate*, const char*, const char*))dlsym(h, "udev_enumerate_add_match_sysattr"); -#endif udev_enumerate_scan_devices = (int (*)(udev_enumerate*))dlsym(h, "udev_enumerate_scan_devices"); udev_enumerate_get_list_entry = (udev_list_entry* (*)(udev_enumerate*))dlsym(h, "udev_enumerate_get_list_entry"); udev_device_new_from_syspath = (udev_device* (*)(udev*, const char*))dlsym(h, "udev_device_new_from_syspath"); @@ -890,10 +888,8 @@ pkgUdevCdromDevices::Dlopen() /*{{{*/ return true; } /*}}}*/ - /*{{{*/ -// compatiblity only with the old API/ABI, can be removed on the next -// ABI break +// convenience interface, this will just call ScanForRemovable vector<CdromDevice> pkgUdevCdromDevices::Scan() { @@ -918,10 +914,6 @@ pkgUdevCdromDevices::ScanForRemovable(bool CdromOnly) if (CdromOnly) udev_enumerate_add_match_property(enumerate, "ID_CDROM", "1"); else { -#if 1 // FIXME: remove the next two lines on the next ABI break - int (*udev_enumerate_add_match_sysattr)(struct udev_enumerate *udev_enumerate, const char *property, const char *value); - udev_enumerate_add_match_sysattr = (int (*)(udev_enumerate*, const char*, const char*))dlsym(libudev_handle, "udev_enumerate_add_match_sysattr"); -#endif udev_enumerate_add_match_sysattr(enumerate, "removable", "1"); } diff --git a/apt-pkg/cdrom.h b/apt-pkg/cdrom.h index e83c38582..614062cbb 100644 --- a/apt-pkg/cdrom.h +++ b/apt-pkg/cdrom.h @@ -92,9 +92,7 @@ class pkgUdevCdromDevices /*{{{*/ struct udev_enumerate *(*udev_enumerate_new) (struct udev *udev); struct udev_list_entry *(*udev_list_entry_get_next)(struct udev_list_entry *list_entry); const char* (*udev_device_get_property_value)(struct udev_device *udev_device, const char *key); -#if 0 // FIXME: uncomment on next ABI break int (*udev_enumerate_add_match_sysattr)(struct udev_enumerate *udev_enumerate, const char *property, const char *value); -#endif // end libudev dlopen public: @@ -104,11 +102,11 @@ class pkgUdevCdromDevices /*{{{*/ // try to open bool Dlopen(); - // this is the new interface - vector<CdromDevice> ScanForRemovable(bool CdromOnly); - // FIXME: compat with the old interface/API/ABI only + // convenience interface, this will just call ScanForRemovable + // with "APT::cdrom::CdromOnly" vector<CdromDevice> Scan(); + vector<CdromDevice> ScanForRemovable(bool CdromOnly); }; /*}}}*/ diff --git a/apt-pkg/clean.h b/apt-pkg/clean.h index 2aee2bf54..1ebf68dc9 100644 --- a/apt-pkg/clean.h +++ b/apt-pkg/clean.h @@ -15,6 +15,9 @@ class pkgArchiveCleaner { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: virtual void Erase(const char * /*File*/,string /*Pkg*/,string /*Ver*/,struct stat & /*St*/) {}; diff --git a/apt-pkg/contrib/hashes.cc b/apt-pkg/contrib/hashes.cc index 985d89d90..4407574fa 100644 --- a/apt-pkg/contrib/hashes.cc +++ b/apt-pkg/contrib/hashes.cc @@ -23,7 +23,7 @@ const char* HashString::_SupportedHashes[] = { - "SHA256", "SHA1", "MD5Sum", NULL + "SHA512", "SHA256", "SHA1", "MD5Sum", NULL }; HashString::HashString() @@ -53,28 +53,33 @@ HashString::HashString(string StringedHash) /*{{{*/ /*}}}*/ bool HashString::VerifyFile(string filename) const /*{{{*/ { - FileFd fd; - MD5Summation MD5; - SHA1Summation SHA1; - SHA256Summation SHA256; string fileHash; FileFd Fd(filename, FileFd::ReadOnly); - if(Type == "MD5Sum") + if(Type == "MD5Sum") { + MD5Summation MD5; MD5.AddFD(Fd.Fd(), Fd.Size()); fileHash = (string)MD5.Result(); - } + } else if (Type == "SHA1") { + SHA1Summation SHA1; SHA1.AddFD(Fd.Fd(), Fd.Size()); fileHash = (string)SHA1.Result(); - } - else if (Type == "SHA256") + } + else if (Type == "SHA256") { + SHA256Summation SHA256; SHA256.AddFD(Fd.Fd(), Fd.Size()); fileHash = (string)SHA256.Result(); } + else if (Type == "SHA512") + { + SHA512Summation SHA512; + SHA512.AddFD(Fd.Fd(), Fd.Size()); + fileHash = (string)SHA512.Result(); + } Fd.Close(); if(_config->FindB("Debug::Hashes",false) == true) @@ -101,7 +106,8 @@ string HashString::toStr() const // Hashes::AddFD - Add the contents of the FD /*{{{*/ // --------------------------------------------------------------------- /* */ -bool Hashes::AddFD(int Fd,unsigned long Size) +bool Hashes::AddFD(int const Fd,unsigned long Size, bool const addMD5, + bool const addSHA1, bool const addSHA256, bool const addSHA512) { unsigned char Buf[64*64]; int Res = 0; @@ -112,13 +118,18 @@ bool Hashes::AddFD(int Fd,unsigned long Size) 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; + return false; if (ToEOF && Res == 0) // EOF - break; + break; Size -= Res; - MD5.Add(Buf,Res); - SHA1.Add(Buf,Res); - SHA256.Add(Buf,Res); + if (addMD5 == true) + MD5.Add(Buf,Res); + if (addSHA1 == true) + SHA1.Add(Buf,Res); + if (addSHA256 == true) + SHA256.Add(Buf,Res); + if (addSHA512 == true) + SHA512.Add(Buf,Res); } return true; } diff --git a/apt-pkg/contrib/hashes.h b/apt-pkg/contrib/hashes.h index 264f7fe90..e702fcca2 100644 --- a/apt-pkg/contrib/hashes.h +++ b/apt-pkg/contrib/hashes.h @@ -16,7 +16,7 @@ #include <apt-pkg/md5.h> #include <apt-pkg/sha1.h> -#include <apt-pkg/sha256.h> +#include <apt-pkg/sha2.h> #include <algorithm> #include <vector> @@ -60,13 +60,17 @@ class Hashes MD5Summation MD5; SHA1Summation SHA1; SHA256Summation SHA256; + SHA512Summation SHA512; inline bool Add(const unsigned char *Data,unsigned long Size) { - 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 Size = 0) + { return AddFD(Fd, Size, true, true, true, true); }; + bool AddFD(int const Fd, unsigned long Size, bool const addMD5, + bool const addSHA1, bool const addSHA256, bool const addSHA512); inline bool Add(const unsigned char *Beg,const unsigned char *End) {return Add(Beg,End-Beg);}; }; diff --git a/apt-pkg/contrib/hashsum.cc b/apt-pkg/contrib/hashsum.cc new file mode 100644 index 000000000..728747d7a --- /dev/null +++ b/apt-pkg/contrib/hashsum.cc @@ -0,0 +1,27 @@ +// Cryptographic API Base + +#include <unistd.h> +#include "hashsum_template.h" + +// Summation::AddFD - Add content of file into the checksum /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool SummationImplementation::AddFD(int const Fd, unsigned long Size) { + unsigned char Buf[64 * 64]; + int Res = 0; + int ToEOF = (Size == 0); + while (Size != 0 || ToEOF) + { + unsigned n = sizeof(Buf); + if (!ToEOF) n = min(Size,(unsigned long)n); + Res = read(Fd, Buf, n); + if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read + return false; + if (ToEOF && Res == 0) // EOF + break; + Size -= Res; + Add(Buf,Res); + } + return true; +} + /*}}}*/ diff --git a/apt-pkg/contrib/hashsum_template.h b/apt-pkg/contrib/hashsum_template.h new file mode 100644 index 000000000..85d94c2af --- /dev/null +++ b/apt-pkg/contrib/hashsum_template.h @@ -0,0 +1,107 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: hashsum_template.h,v 1.3 2001/05/07 05:05:47 jgg Exp $ +/* ###################################################################### + + HashSumValueTemplate - Generic Storage for a hash value + + ##################################################################### */ + /*}}}*/ +#ifndef APTPKG_HASHSUM_TEMPLATE_H +#define APTPKG_HASHSUM_TEMPLATE_H + +#include <string> +#include <cstring> +#include <algorithm> +#include <stdint.h> + +using std::string; +using std::min; + +template<int N> +class HashSumValue +{ + unsigned char Sum[N/8]; + + public: + + // Accessors + bool operator ==(const HashSumValue &rhs) const + { + return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0; + }; + + string Value() const + { + char Conv[16] = + { '0','1','2','3','4','5','6','7','8','9','a','b', + 'c','d','e','f' + }; + char Result[((N/8)*2)+1]; + Result[(N/8)*2] = 0; + + // Convert each char into two letters + int J = 0; + int I = 0; + for (; I != (N/8)*2; J++,I += 2) + { + Result[I] = Conv[Sum[J] >> 4]; + Result[I + 1] = Conv[Sum[J] & 0xF]; + } + return string(Result); + }; + + inline void Value(unsigned char S[N/8]) + { + for (int I = 0; I != sizeof(Sum); I++) + S[I] = Sum[I]; + }; + + inline operator string() const + { + return Value(); + }; + + bool Set(string Str) + { + return Hex2Num(Str,Sum,sizeof(Sum)); + }; + + inline void Set(unsigned char S[N/8]) + { + for (int I = 0; I != sizeof(Sum); I++) + Sum[I] = S[I]; + }; + + HashSumValue(string Str) + { + memset(Sum,0,sizeof(Sum)); + Set(Str); + } + HashSumValue() + { + memset(Sum,0,sizeof(Sum)); + } +}; + +class SummationImplementation +{ + public: + virtual bool Add(const unsigned char *inbuf, unsigned long inlen) = 0; + inline bool Add(const char *inbuf, unsigned 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 Size = 0); +}; + +#endif diff --git a/apt-pkg/contrib/md5.cc b/apt-pkg/contrib/md5.cc index c0fa8493d..65e20e9bb 100644 --- a/apt-pkg/contrib/md5.cc +++ b/apt-pkg/contrib/md5.cc @@ -165,61 +165,6 @@ static void MD5Transform(uint32_t buf[4], uint32_t const in[16]) buf[3] += d; } /*}}}*/ -// MD5SumValue::MD5SumValue - Constructs the summation from a string /*{{{*/ -// --------------------------------------------------------------------- -/* The string form of a MD5 is a 32 character hex number */ -MD5SumValue::MD5SumValue(string Str) -{ - memset(Sum,0,sizeof(Sum)); - Set(Str); -} - /*}}}*/ -// MD5SumValue::MD5SumValue - Default constructor /*{{{*/ -// --------------------------------------------------------------------- -/* Sets the value to 0 */ -MD5SumValue::MD5SumValue() -{ - memset(Sum,0,sizeof(Sum)); -} - /*}}}*/ -// MD5SumValue::Set - Set the sum from a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the hex string into a set of chars */ -bool MD5SumValue::Set(string Str) -{ - return Hex2Num(Str,Sum,sizeof(Sum)); -} - /*}}}*/ -// MD5SumValue::Value - Convert the number into a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the set of chars into a hex string in lower case */ -string MD5SumValue::Value() const -{ - char Conv[16] = {'0','1','2','3','4','5','6','7','8','9','a','b', - 'c','d','e','f'}; - char Result[33]; - Result[32] = 0; - - // Convert each char into two letters - int J = 0; - int I = 0; - for (; I != 32; J++, I += 2) - { - Result[I] = Conv[Sum[J] >> 4]; - Result[I + 1] = Conv[Sum[J] & 0xF]; - } - - return string(Result); -} - /*}}}*/ -// MD5SumValue::operator == - Comparitor /*{{{*/ -// --------------------------------------------------------------------- -/* Call memcmp on the buffer */ -bool MD5SumValue::operator ==(const MD5SumValue &rhs) const -{ - return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0; -} - /*}}}*/ // MD5Summation::MD5Summation - Initialize the summer /*{{{*/ // --------------------------------------------------------------------- /* This assigns the deep magic initial values */ @@ -286,29 +231,6 @@ bool MD5Summation::Add(const unsigned char *data,unsigned long len) return true; } /*}}}*/ -// MD5Summation::AddFD - Add the contents of a FD to the hash /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool MD5Summation::AddFD(int Fd,unsigned long Size) -{ - unsigned char Buf[64*64]; - int Res = 0; - int ToEOF = (Size == 0); - while (Size != 0 || ToEOF) - { - unsigned n = sizeof(Buf); - if (!ToEOF) n = min(Size,(unsigned long)n); - Res = read(Fd,Buf,n); - if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read - return false; - if (ToEOF && Res == 0) // EOF - break; - Size -= Res; - Add(Buf,Res); - } - return true; -} - /*}}}*/ // MD5Summation::Result - Returns the value of the sum /*{{{*/ // --------------------------------------------------------------------- /* Because this must add in the last bytes of the series it prevents anyone @@ -353,7 +275,7 @@ MD5SumValue MD5Summation::Result() } MD5SumValue V; - memcpy(V.Sum,buf,16); + V.Set((unsigned char *)buf); return V; } /*}}}*/ diff --git a/apt-pkg/contrib/md5.h b/apt-pkg/contrib/md5.h index 96c8975b4..e76428325 100644 --- a/apt-pkg/contrib/md5.h +++ b/apt-pkg/contrib/md5.h @@ -32,45 +32,24 @@ using std::string; using std::min; -class MD5Summation; +#include "hashsum_template.h" -class MD5SumValue -{ - friend class MD5Summation; - unsigned char Sum[4*4]; - - public: - - // Accessors - bool operator ==(const MD5SumValue &rhs) const; - string Value() const; - inline void Value(unsigned char S[16]) - {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];}; - inline operator string() const {return Value();}; - bool Set(string Str); - inline void Set(unsigned char S[16]) - {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];}; - - MD5SumValue(string Str); - MD5SumValue(); -}; +typedef HashSumValue<128> MD5SumValue; -class MD5Summation +class MD5Summation : public SummationImplementation { uint32_t Buf[4]; unsigned char Bytes[2*4]; unsigned char In[16*4]; bool Done; - + public: - bool Add(const unsigned char *Data,unsigned long Size); - inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));}; - bool AddFD(int Fd,unsigned long Size); - inline bool Add(const unsigned char *Beg,const unsigned char *End) - {return Add(Beg,End-Beg);}; + bool Add(const unsigned char *inbuf, unsigned long inlen); + using SummationImplementation::Add; + MD5SumValue Result(); - + MD5Summation(); }; diff --git a/apt-pkg/contrib/progress.cc b/apt-pkg/contrib/progress.cc index 45e81edcb..84ee4c124 100644 --- a/apt-pkg/contrib/progress.cc +++ b/apt-pkg/contrib/progress.cc @@ -65,27 +65,18 @@ void OpProgress::OverallProgress(unsigned long Current, unsigned long Total, // OpProgress::SubProgress - Set the sub progress state /*{{{*/ // --------------------------------------------------------------------- /* */ -void OpProgress::SubProgress(unsigned long SubTotal,const string &Op) +void OpProgress::SubProgress(unsigned long SubTotal,const string &Op, + float const Percent) { this->SubTotal = SubTotal; - SubOp = Op; - 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; - Update(); -} - /*}}}*/ -// OpProgress::SubProgress - Set the sub progress state /*{{{*/ -// --------------------------------------------------------------------- -/* */ -void OpProgress::SubProgress(unsigned long SubTotal) -{ - this->SubTotal = SubTotal; - if (Total == 0) - Percent = 0; - else - Percent = Current*100.0/Total; + this->Percent = Current*100.0/Total; Update(); } /*}}}*/ diff --git a/apt-pkg/contrib/progress.h b/apt-pkg/contrib/progress.h index 7dd004f7e..3a914d17f 100644 --- a/apt-pkg/contrib/progress.h +++ b/apt-pkg/contrib/progress.h @@ -55,8 +55,7 @@ class OpProgress public: void Progress(unsigned long Current); - void SubProgress(unsigned long SubTotal); - void SubProgress(unsigned long SubTotal,const string &Op); + void SubProgress(unsigned long SubTotal, const string &Op = "", float const Percent = -1); void OverallProgress(unsigned long Current,unsigned long Total, unsigned long Size,const string &Op); virtual void Done() {}; diff --git a/apt-pkg/contrib/sha1.cc b/apt-pkg/contrib/sha1.cc index abc2aaf9f..5b9db202d 100644 --- a/apt-pkg/contrib/sha1.cc +++ b/apt-pkg/contrib/sha1.cc @@ -177,67 +177,6 @@ static void SHA1Transform(uint32_t state[5],uint8_t const buffer[64]) } /*}}}*/ -// SHA1SumValue::SHA1SumValue - Constructs the summation from a string /*{{{*/ -// --------------------------------------------------------------------- -/* The string form of a SHA1 is a 40 character hex number */ -SHA1SumValue::SHA1SumValue(string Str) -{ - memset(Sum,0,sizeof(Sum)); - Set(Str); -} - - /*}}} */ -// SHA1SumValue::SHA1SumValue - Default constructor /*{{{*/ -// --------------------------------------------------------------------- -/* Sets the value to 0 */ -SHA1SumValue::SHA1SumValue() -{ - memset(Sum,0,sizeof(Sum)); -} - - /*}}} */ -// SHA1SumValue::Set - Set the sum from a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the hex string into a set of chars */ -bool SHA1SumValue::Set(string Str) -{ - return Hex2Num(Str,Sum,sizeof(Sum)); -} - - /*}}} */ -// SHA1SumValue::Value - Convert the number into a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the set of chars into a hex string in lower case */ -string SHA1SumValue::Value() const -{ - char Conv[16] = - { '0','1','2','3','4','5','6','7','8','9','a','b', - 'c','d','e','f' - }; - char Result[41]; - Result[40] = 0; - - // Convert each char into two letters - int J = 0; - int I = 0; - for (; I != 40; J++,I += 2) - { - Result[I] = Conv[Sum[J] >> 4]; - Result[I + 1] = Conv[Sum[J] & 0xF]; - } - - return string(Result); -} - - /*}}} */ -// SHA1SumValue::operator == - Comparator /*{{{*/ -// --------------------------------------------------------------------- -/* Call memcmp on the buffer */ -bool SHA1SumValue::operator == (const SHA1SumValue & rhs) const -{ - return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0; -} - /*}}}*/ // SHA1Summation::SHA1Summation - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -289,11 +228,13 @@ SHA1SumValue SHA1Summation::Result() // Transfer over the result SHA1SumValue Value; + unsigned char res[20]; for (unsigned i = 0; i < 20; i++) { - Value.Sum[i] = (unsigned char) + res[i] = (unsigned char) ((state[i >> 2] >> ((3 - (i & 3)) * 8)) & 255); } + Value.Set(res); return Value; } /*}}}*/ @@ -331,26 +272,3 @@ bool SHA1Summation::Add(const unsigned char *data,unsigned long len) return true; } /*}}}*/ -// SHA1Summation::AddFD - Add content of file into the checksum /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool SHA1Summation::AddFD(int Fd,unsigned long Size) -{ - unsigned char Buf[64 * 64]; - int Res = 0; - int ToEOF = (Size == 0); - while (Size != 0 || ToEOF) - { - unsigned n = sizeof(Buf); - if (!ToEOF) n = min(Size,(unsigned long)n); - Res = read(Fd,Buf,n); - if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read - return false; - if (ToEOF && Res == 0) // EOF - break; - Size -= Res; - Add(Buf,Res); - } - return true; -} - /*}}}*/ diff --git a/apt-pkg/contrib/sha1.h b/apt-pkg/contrib/sha1.h index 8ddd889f1..2701fc67e 100644 --- a/apt-pkg/contrib/sha1.h +++ b/apt-pkg/contrib/sha1.h @@ -21,30 +21,11 @@ using std::string; using std::min; -class SHA1Summation; +#include "hashsum_template.h" -class SHA1SumValue -{ - friend class SHA1Summation; - unsigned char Sum[20]; - - public: - - // Accessors - bool operator ==(const SHA1SumValue &rhs) const; - string Value() const; - inline void Value(unsigned char S[20]) - {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];}; - inline operator string() const {return Value();}; - bool Set(string Str); - inline void Set(unsigned char S[20]) - {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];}; - - SHA1SumValue(string Str); - SHA1SumValue(); -}; +typedef HashSumValue<160> SHA1SumValue; -class SHA1Summation +class SHA1Summation : public SummationImplementation { /* assumes 64-bit alignment just in case */ unsigned char Buffer[64] __attribute__((aligned(8))); @@ -53,12 +34,9 @@ class SHA1Summation bool Done; public: + bool Add(const unsigned char *inbuf, unsigned long inlen); + using SummationImplementation::Add; - bool Add(const unsigned char *inbuf,unsigned long inlen); - inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));}; - bool AddFD(int Fd,unsigned long Size); - inline bool Add(const unsigned char *Beg,const unsigned char *End) - {return Add(Beg,End-Beg);}; SHA1SumValue Result(); SHA1Summation(); diff --git a/apt-pkg/contrib/sha2.h b/apt-pkg/contrib/sha2.h new file mode 100644 index 000000000..386225889 --- /dev/null +++ b/apt-pkg/contrib/sha2.h @@ -0,0 +1,103 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: sha512.h,v 1.3 2001/05/07 05:05:47 jgg Exp $ +/* ###################################################################### + + SHA{512,256}SumValue - Storage for a SHA-{512,256} hash. + SHA{512,256}Summation - SHA-{512,256} Secure Hash Algorithm. + + This is a C++ interface to a set of SHA{512,256}Sum functions, that mirrors + the equivalent MD5 & SHA1 classes. + + ##################################################################### */ + /*}}}*/ +#ifndef APTPKG_SHA2_H +#define APTPKG_SHA2_H + +#include <string> +#include <cstring> +#include <algorithm> +#include <stdint.h> + +#include "sha2_internal.h" +#include "hashsum_template.h" + +typedef HashSumValue<512> SHA512SumValue; +typedef HashSumValue<256> SHA256SumValue; + +class SHA2SummationBase : public SummationImplementation +{ + protected: + bool Done; + public: + bool Add(const unsigned char *inbuf, unsigned long len) = 0; + + void Result(); +}; + +class SHA256Summation : public SHA2SummationBase +{ + SHA256_CTX ctx; + unsigned char Sum[32]; + + public: + bool Add(const unsigned char *inbuf, unsigned 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 len) + { + if (Done) + return false; + SHA512_Update(&ctx, inbuf, len); + return true; + }; + using SummationImplementation::Add; + + SHA512SumValue Result() + { + if (!Done) { + SHA512_Final(Sum, &ctx); + Done = true; + } + SHA512SumValue res; + res.Set(Sum); + return res; + }; + SHA512Summation() + { + SHA512_Init(&ctx); + Done = false; + }; +}; + + +#endif diff --git a/apt-pkg/contrib/sha256.cc b/apt-pkg/contrib/sha256.cc deleted file mode 100644 index e380c13ae..000000000 --- a/apt-pkg/contrib/sha256.cc +++ /dev/null @@ -1,424 +0,0 @@ -/* - * Cryptographic API. {{{ - * - * SHA-256, as specified in - * http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf - * - * SHA-256 code by Jean-Luc Cooke <jlcooke@certainkey.com>. - * - * Copyright (c) Jean-Luc Cooke <jlcooke@certainkey.com> - * Copyright (c) Andrew McDonald <andrew@mcdonald.org.uk> - * Copyright (c) 2002 James Morris <jmorris@intercode.com.au> - * - * Ported from the Linux kernel to Apt by Anthony Towns <ajt@debian.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - */ /*}}}*/ - -#ifdef __GNUG__ -#pragma implementation "apt-pkg/sha256.h" -#endif - - -#define SHA256_DIGEST_SIZE 32 -#define SHA256_HMAC_BLOCK_SIZE 64 - -#define ror32(value,bits) (((value) >> (bits)) | ((value) << (32 - (bits)))) - -#include <apt-pkg/sha256.h> -#include <apt-pkg/strutl.h> -#include <string.h> -#include <unistd.h> -#include <stdint.h> -#include <stdlib.h> -#include <stdio.h> -#include <arpa/inet.h> - -typedef uint32_t u32; -typedef uint8_t u8; - -static inline u32 Ch(u32 x, u32 y, u32 z) -{ - return z ^ (x & (y ^ z)); -} - -static inline u32 Maj(u32 x, u32 y, u32 z) -{ - return (x & y) | (z & (x | y)); -} - -#define e0(x) (ror32(x, 2) ^ ror32(x,13) ^ ror32(x,22)) -#define e1(x) (ror32(x, 6) ^ ror32(x,11) ^ ror32(x,25)) -#define s0(x) (ror32(x, 7) ^ ror32(x,18) ^ (x >> 3)) -#define s1(x) (ror32(x,17) ^ ror32(x,19) ^ (x >> 10)) - -#define H0 0x6a09e667 -#define H1 0xbb67ae85 -#define H2 0x3c6ef372 -#define H3 0xa54ff53a -#define H4 0x510e527f -#define H5 0x9b05688c -#define H6 0x1f83d9ab -#define H7 0x5be0cd19 - -static inline void LOAD_OP(int I, u32 *W, const u8 *input) /*{{{*/ -{ - W[I] = ( ((u32) input[I * 4 + 0] << 24) - | ((u32) input[I * 4 + 1] << 16) - | ((u32) input[I * 4 + 2] << 8) - | ((u32) input[I * 4 + 3])); -} - /*}}}*/ -static inline void BLEND_OP(int I, u32 *W) -{ - W[I] = s1(W[I-2]) + W[I-7] + s0(W[I-15]) + W[I-16]; -} - -static void sha256_transform(u32 *state, const u8 *input) /*{{{*/ -{ - u32 a, b, c, d, e, f, g, h, t1, t2; - u32 W[64]; - int i; - - /* load the input */ - for (i = 0; i < 16; i++) - LOAD_OP(i, W, input); - - /* now blend */ - for (i = 16; i < 64; i++) - BLEND_OP(i, W); - - /* load the state into our registers */ - a=state[0]; b=state[1]; c=state[2]; d=state[3]; - e=state[4]; f=state[5]; g=state[6]; h=state[7]; - - /* now iterate */ - t1 = h + e1(e) + Ch(e,f,g) + 0x428a2f98 + W[ 0]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x71374491 + W[ 1]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0xb5c0fbcf + W[ 2]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0xe9b5dba5 + W[ 3]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x3956c25b + W[ 4]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x59f111f1 + W[ 5]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x923f82a4 + W[ 6]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0xab1c5ed5 + W[ 7]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0xd807aa98 + W[ 8]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x12835b01 + W[ 9]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x243185be + W[10]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x550c7dc3 + W[11]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x72be5d74 + W[12]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x80deb1fe + W[13]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x9bdc06a7 + W[14]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0xc19bf174 + W[15]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0xe49b69c1 + W[16]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0xefbe4786 + W[17]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x0fc19dc6 + W[18]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x240ca1cc + W[19]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x2de92c6f + W[20]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x4a7484aa + W[21]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x5cb0a9dc + W[22]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x76f988da + W[23]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0x983e5152 + W[24]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0xa831c66d + W[25]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0xb00327c8 + W[26]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0xbf597fc7 + W[27]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0xc6e00bf3 + W[28]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0xd5a79147 + W[29]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x06ca6351 + W[30]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x14292967 + W[31]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0x27b70a85 + W[32]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x2e1b2138 + W[33]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x4d2c6dfc + W[34]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x53380d13 + W[35]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x650a7354 + W[36]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x766a0abb + W[37]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x81c2c92e + W[38]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x92722c85 + W[39]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0xa2bfe8a1 + W[40]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0xa81a664b + W[41]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0xc24b8b70 + W[42]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0xc76c51a3 + W[43]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0xd192e819 + W[44]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0xd6990624 + W[45]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0xf40e3585 + W[46]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x106aa070 + W[47]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0x19a4c116 + W[48]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x1e376c08 + W[49]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x2748774c + W[50]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x34b0bcb5 + W[51]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x391c0cb3 + W[52]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0x4ed8aa4a + W[53]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0x5b9cca4f + W[54]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0x682e6ff3 + W[55]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - t1 = h + e1(e) + Ch(e,f,g) + 0x748f82ee + W[56]; - t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; - t1 = g + e1(d) + Ch(d,e,f) + 0x78a5636f + W[57]; - t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; - t1 = f + e1(c) + Ch(c,d,e) + 0x84c87814 + W[58]; - t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; - t1 = e + e1(b) + Ch(b,c,d) + 0x8cc70208 + W[59]; - t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; - t1 = d + e1(a) + Ch(a,b,c) + 0x90befffa + W[60]; - t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; - t1 = c + e1(h) + Ch(h,a,b) + 0xa4506ceb + W[61]; - t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; - t1 = b + e1(g) + Ch(g,h,a) + 0xbef9a3f7 + W[62]; - t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; - t1 = a + e1(f) + Ch(f,g,h) + 0xc67178f2 + W[63]; - t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; - - state[0] += a; state[1] += b; state[2] += c; state[3] += d; - state[4] += e; state[5] += f; state[6] += g; state[7] += h; - - /* clear any sensitive info... */ - a = b = c = d = e = f = g = h = t1 = t2 = 0; - memset(W, 0, 64 * sizeof(u32)); -} - /*}}}*/ -SHA256Summation::SHA256Summation() /*{{{*/ -{ - Sum.state[0] = H0; - Sum.state[1] = H1; - Sum.state[2] = H2; - Sum.state[3] = H3; - Sum.state[4] = H4; - Sum.state[5] = H5; - Sum.state[6] = H6; - Sum.state[7] = H7; - Sum.count[0] = Sum.count[1] = 0; - memset(Sum.buf, 0, sizeof(Sum.buf)); - Done = false; -} - /*}}}*/ -bool SHA256Summation::Add(const u8 *data, unsigned long len) /*{{{*/ -{ - struct sha256_ctx *sctx = ∑ - unsigned int i, index, part_len; - - if (Done) return false; - - /* Compute number of bytes mod 128 */ - index = (unsigned int)((sctx->count[0] >> 3) & 0x3f); - - /* Update number of bits */ - if ((sctx->count[0] += (len << 3)) < (len << 3)) { - sctx->count[1]++; - sctx->count[1] += (len >> 29); - } - - part_len = 64 - index; - - /* Transform as many times as possible. */ - if (len >= part_len) { - memcpy(&sctx->buf[index], data, part_len); - sha256_transform(sctx->state, sctx->buf); - - for (i = part_len; i + 63 < len; i += 64) - sha256_transform(sctx->state, &data[i]); - index = 0; - } else { - i = 0; - } - - /* Buffer remaining input */ - memcpy(&sctx->buf[index], &data[i], len-i); - - return true; -} - /*}}}*/ -SHA256SumValue SHA256Summation::Result() /*{{{*/ -{ - struct sha256_ctx *sctx = ∑ - if (!Done) { - u8 bits[8]; - unsigned int index, pad_len, t; - static const u8 padding[64] = { 0x80, }; - - /* Save number of bits */ - t = sctx->count[0]; - bits[7] = t; t >>= 8; - bits[6] = t; t >>= 8; - bits[5] = t; t >>= 8; - bits[4] = t; - t = sctx->count[1]; - bits[3] = t; t >>= 8; - bits[2] = t; t >>= 8; - bits[1] = t; t >>= 8; - bits[0] = t; - - /* Pad out to 56 mod 64. */ - index = (sctx->count[0] >> 3) & 0x3f; - pad_len = (index < 56) ? (56 - index) : ((64+56) - index); - Add(padding, pad_len); - - /* Append length (before padding) */ - Add(bits, 8); - } - - Done = true; - - /* Store state in digest */ - - SHA256SumValue res; - u8 *out = res.Sum; - - int i, j; - unsigned int t; - for (i = j = 0; i < 8; i++, j += 4) { - t = sctx->state[i]; - out[j+3] = t; t >>= 8; - out[j+2] = t; t >>= 8; - out[j+1] = t; t >>= 8; - out[j ] = t; - } - - return res; -} - /*}}}*/ -// SHA256SumValue::SHA256SumValue - Constructs the sum from a string /*{{{*/ -// --------------------------------------------------------------------- -/* The string form of a SHA256 is a 64 character hex number */ -SHA256SumValue::SHA256SumValue(string Str) -{ - memset(Sum,0,sizeof(Sum)); - Set(Str); -} - /*}}}*/ -// SHA256SumValue::SHA256SumValue - Default constructor /*{{{*/ -// --------------------------------------------------------------------- -/* Sets the value to 0 */ -SHA256SumValue::SHA256SumValue() -{ - memset(Sum,0,sizeof(Sum)); -} - /*}}}*/ -// SHA256SumValue::Set - Set the sum from a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the hex string into a set of chars */ -bool SHA256SumValue::Set(string Str) -{ - return Hex2Num(Str,Sum,sizeof(Sum)); -} - /*}}}*/ -// SHA256SumValue::Value - Convert the number into a string /*{{{*/ -// --------------------------------------------------------------------- -/* Converts the set of chars into a hex string in lower case */ -string SHA256SumValue::Value() const -{ - char Conv[16] = - { '0','1','2','3','4','5','6','7','8','9','a','b', - 'c','d','e','f' - }; - char Result[65]; - Result[64] = 0; - - // Convert each char into two letters - int J = 0; - int I = 0; - for (; I != 64; J++,I += 2) - { - Result[I] = Conv[Sum[J] >> 4]; - Result[I + 1] = Conv[Sum[J] & 0xF]; - } - - return string(Result); -} - /*}}}*/ -// SHA256SumValue::operator == - Comparator /*{{{*/ -// --------------------------------------------------------------------- -/* Call memcmp on the buffer */ -bool SHA256SumValue::operator == (const SHA256SumValue & rhs) const -{ - return memcmp(Sum,rhs.Sum,sizeof(Sum)) == 0; -} - /*}}}*/ -// SHA256Summation::AddFD - Add content of file into the checksum /*{{{*/ -// --------------------------------------------------------------------- -/* */ -bool SHA256Summation::AddFD(int Fd,unsigned long Size) -{ - unsigned char Buf[64 * 64]; - int Res = 0; - int ToEOF = (Size == 0); - while (Size != 0 || ToEOF) - { - unsigned n = sizeof(Buf); - if (!ToEOF) n = min(Size,(unsigned long)n); - Res = read(Fd,Buf,n); - if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read - return false; - if (ToEOF && Res == 0) // EOF - break; - Size -= Res; - Add(Buf,Res); - } - return true; -} - /*}}}*/ - diff --git a/apt-pkg/contrib/sha256.h b/apt-pkg/contrib/sha256.h index 5934b5641..15146c948 100644 --- a/apt-pkg/contrib/sha256.h +++ b/apt-pkg/contrib/sha256.h @@ -1,72 +1,8 @@ -// -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: sha1.h,v 1.3 2001/05/07 05:05:47 jgg Exp $ -/* ###################################################################### - - SHA256SumValue - Storage for a SHA-256 hash. - SHA256Summation - SHA-256 Secure Hash Algorithm. - - This is a C++ interface to a set of SHA256Sum functions, that mirrors - the equivalent MD5 & SHA1 classes. - - ##################################################################### */ - /*}}}*/ #ifndef APTPKG_SHA256_H #define APTPKG_SHA256_H -#include <string> -#include <cstring> -#include <algorithm> -#include <stdint.h> - -using std::string; -using std::min; - -class SHA256Summation; - -class SHA256SumValue -{ - friend class SHA256Summation; - unsigned char Sum[32]; - - public: - - // Accessors - bool operator ==(const SHA256SumValue &rhs) const; - string Value() const; - inline void Value(unsigned char S[32]) - {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];}; - inline operator string() const {return Value();}; - bool Set(string Str); - inline void Set(unsigned char S[32]) - {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];}; - - SHA256SumValue(string Str); - SHA256SumValue(); -}; - -struct sha256_ctx { - uint32_t count[2]; - uint32_t state[8]; - uint8_t buf[128]; -}; - -class SHA256Summation -{ - struct sha256_ctx Sum; - - bool Done; - - public: +#include "sha2.h" - bool Add(const unsigned char *inbuf,unsigned long inlen); - inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));}; - bool AddFD(int Fd,unsigned long Size); - inline bool Add(const unsigned char *Beg,const unsigned char *End) - {return Add(Beg,End-Beg);}; - SHA256SumValue Result(); - - SHA256Summation(); -}; +#warning "This header is deprecated, please include sha2.h instead" #endif diff --git a/apt-pkg/contrib/sha2_internal.cc b/apt-pkg/contrib/sha2_internal.cc new file mode 100644 index 000000000..565db2f91 --- /dev/null +++ b/apt-pkg/contrib/sha2_internal.cc @@ -0,0 +1,1065 @@ +/* + * 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 <string.h> /* memcpy()/memset() or bcopy()/bzero() */ +#include <assert.h> /* assert() */ +#include "sha2_internal.h" + +/* + * ASSERT NOTE: + * Some sanity checking code is included using assert(). On my FreeBSD + * system, this additional code can be removed by compiling with NDEBUG + * defined. Check your own systems manpage on assert() to see how to + * compile WITHOUT the sanity checking code on your system. + * + * UNROLLED TRANSFORM LOOP NOTE: + * You can define SHA2_UNROLL_TRANSFORM to use the unrolled transform + * loop version for the hash transform rounds (defined using macros + * later in this file). Either define on the command line, for example: + * + * cc -DSHA2_UNROLL_TRANSFORM -o sha2 sha2.c sha2prog.c + * + * or define below: + * + * #define SHA2_UNROLL_TRANSFORM + * + */ + + +/*** SHA-256/384/512 Machine Architecture Definitions *****************/ +/* + * BYTE_ORDER NOTE: + * + * Please make sure that your system defines BYTE_ORDER. If your + * architecture is little-endian, make sure it also defines + * LITTLE_ENDIAN and that the two (BYTE_ORDER and LITTLE_ENDIAN) are + * equivilent. + * + * If your system does not define the above, then you can do so by + * hand like this: + * + * #define LITTLE_ENDIAN 1234 + * #define BIG_ENDIAN 4321 + * + * And for little-endian machines, add: + * + * #define BYTE_ORDER LITTLE_ENDIAN + * + * Or for big-endian machines: + * + * #define BYTE_ORDER BIG_ENDIAN + * + * The FreeBSD machine this was written on defines BYTE_ORDER + * appropriately by including <sys/types.h> (which in turn includes + * <machine/endian.h> where the appropriate definitions are actually + * made). + */ +#if !defined(BYTE_ORDER) || (BYTE_ORDER != LITTLE_ENDIAN && BYTE_ORDER != BIG_ENDIAN) +#error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN +#endif + +/* + * Define the followingsha2_* types to types of the correct length on + * the native archtecture. Most BSD systems and Linux define u_intXX_t + * types. Machines with very recent ANSI C headers, can use the + * uintXX_t definintions from inttypes.h by defining SHA2_USE_INTTYPES_H + * during compile or in the sha.h header file. + * + * Machines that support neither u_intXX_t nor inttypes.h's uintXX_t + * will need to define these three typedefs below (and the appropriate + * ones in sha.h too) by hand according to their system architecture. + * + * Thank you, Jun-ichiro itojun Hagino, for suggesting using u_intXX_t + * types and pointing out recent ANSI C support for uintXX_t in inttypes.h. + */ +#ifdef SHA2_USE_INTTYPES_H + +typedef uint8_t sha2_byte; /* Exactly 1 byte */ +typedef uint32_t sha2_word32; /* Exactly 4 bytes */ +typedef uint64_t sha2_word64; /* Exactly 8 bytes */ + +#else /* SHA2_USE_INTTYPES_H */ + +typedef u_int8_t sha2_byte; /* Exactly 1 byte */ +typedef u_int32_t sha2_word32; /* Exactly 4 bytes */ +typedef u_int64_t sha2_word64; /* Exactly 8 bytes */ + +#endif /* SHA2_USE_INTTYPES_H */ + + +/*** SHA-256/384/512 Various Length Definitions ***********************/ +/* NOTE: Most of these are in sha2.h */ +#define SHA256_SHORT_BLOCK_LENGTH (SHA256_BLOCK_LENGTH - 8) +#define SHA384_SHORT_BLOCK_LENGTH (SHA384_BLOCK_LENGTH - 16) +#define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16) + + +/*** ENDIAN REVERSAL MACROS *******************************************/ +#if BYTE_ORDER == LITTLE_ENDIAN +#define REVERSE32(w,x) { \ + sha2_word32 tmp = (w); \ + tmp = (tmp >> 16) | (tmp << 16); \ + (x) = ((tmp & 0xff00ff00UL) >> 8) | ((tmp & 0x00ff00ffUL) << 8); \ +} +#define REVERSE64(w,x) { \ + sha2_word64 tmp = (w); \ + tmp = (tmp >> 32) | (tmp << 32); \ + tmp = ((tmp & 0xff00ff00ff00ff00ULL) >> 8) | \ + ((tmp & 0x00ff00ff00ff00ffULL) << 8); \ + (x) = ((tmp & 0xffff0000ffff0000ULL) >> 16) | \ + ((tmp & 0x0000ffff0000ffffULL) << 16); \ +} +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + +/* + * Macro for incrementally adding the unsigned 64-bit integer n to the + * unsigned 128-bit integer (represented using a two-element array of + * 64-bit words): + */ +#define ADDINC128(w,n) { \ + (w)[0] += (sha2_word64)(n); \ + if ((w)[0] < (n)) { \ + (w)[1]++; \ + } \ +} + +/* + * Macros for copying blocks of memory and for zeroing out ranges + * of memory. Using these macros makes it easy to switch from + * using memset()/memcpy() and using bzero()/bcopy(). + * + * Please define either SHA2_USE_MEMSET_MEMCPY or define + * SHA2_USE_BZERO_BCOPY depending on which function set you + * choose to use: + */ +#if !defined(SHA2_USE_MEMSET_MEMCPY) && !defined(SHA2_USE_BZERO_BCOPY) +/* Default to memset()/memcpy() if no option is specified */ +#define SHA2_USE_MEMSET_MEMCPY 1 +#endif +#if defined(SHA2_USE_MEMSET_MEMCPY) && defined(SHA2_USE_BZERO_BCOPY) +/* Abort with an error if BOTH options are defined */ +#error Define either SHA2_USE_MEMSET_MEMCPY or SHA2_USE_BZERO_BCOPY, not both! +#endif + +#ifdef SHA2_USE_MEMSET_MEMCPY +#define MEMSET_BZERO(p,l) memset((p), 0, (l)) +#define MEMCPY_BCOPY(d,s,l) memcpy((d), (s), (l)) +#endif +#ifdef SHA2_USE_BZERO_BCOPY +#define MEMSET_BZERO(p,l) bzero((p), (l)) +#define MEMCPY_BCOPY(d,s,l) bcopy((s), (d), (l)) +#endif + + +/*** THE SIX LOGICAL FUNCTIONS ****************************************/ +/* + * Bit shifting and rotation (used by the six SHA-XYZ logical functions: + * + * NOTE: The naming of R and S appears backwards here (R is a SHIFT and + * S is a ROTATION) because the SHA-256/384/512 description document + * (see http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf) uses this + * same "backwards" definition. + */ +/* Shift-right (used in SHA-256, SHA-384, and SHA-512): */ +#define R(b,x) ((x) >> (b)) +/* 32-bit Rotate-right (used in SHA-256): */ +#define S32(b,x) (((x) >> (b)) | ((x) << (32 - (b)))) +/* 64-bit Rotate-right (used in SHA-384 and SHA-512): */ +#define S64(b,x) (((x) >> (b)) | ((x) << (64 - (b)))) + +/* Two of six logical functions used in SHA-256, SHA-384, and SHA-512: */ +#define Ch(x,y,z) (((x) & (y)) ^ ((~(x)) & (z))) +#define Maj(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) + +/* Four of six logical functions used in SHA-256: */ +#define Sigma0_256(x) (S32(2, (x)) ^ S32(13, (x)) ^ S32(22, (x))) +#define Sigma1_256(x) (S32(6, (x)) ^ S32(11, (x)) ^ S32(25, (x))) +#define sigma0_256(x) (S32(7, (x)) ^ S32(18, (x)) ^ R(3 , (x))) +#define sigma1_256(x) (S32(17, (x)) ^ S32(19, (x)) ^ R(10, (x))) + +/* Four of six logical functions used in SHA-384 and SHA-512: */ +#define Sigma0_512(x) (S64(28, (x)) ^ S64(34, (x)) ^ S64(39, (x))) +#define Sigma1_512(x) (S64(14, (x)) ^ S64(18, (x)) ^ S64(41, (x))) +#define sigma0_512(x) (S64( 1, (x)) ^ S64( 8, (x)) ^ R( 7, (x))) +#define sigma1_512(x) (S64(19, (x)) ^ S64(61, (x)) ^ R( 6, (x))) + +/*** INTERNAL FUNCTION PROTOTYPES *************************************/ +/* NOTE: These should not be accessed directly from outside this + * library -- they are intended for private internal visibility/use + * only. + */ +static void SHA512_Last(SHA512_CTX*); +static void SHA256_Transform(SHA256_CTX*, const sha2_word32*); +static void SHA512_Transform(SHA512_CTX*, const sha2_word64*); + + +/*** SHA-XYZ INITIAL HASH VALUES AND CONSTANTS ************************/ +/* Hash constant words K for SHA-256: */ +const static sha2_word32 K256[64] = { + 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, + 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, + 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL, + 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL, + 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, + 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, + 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, + 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL, + 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL, + 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, + 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, + 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, + 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL, + 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL, + 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, + 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL +}; + +/* Initial hash value H for SHA-256: */ +const static sha2_word32 sha256_initial_hash_value[8] = { + 0x6a09e667UL, + 0xbb67ae85UL, + 0x3c6ef372UL, + 0xa54ff53aUL, + 0x510e527fUL, + 0x9b05688cUL, + 0x1f83d9abUL, + 0x5be0cd19UL +}; + +/* Hash constant words K for SHA-384 and SHA-512: */ +const static sha2_word64 K512[80] = { + 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, + 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL, + 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, + 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, + 0xd807aa98a3030242ULL, 0x12835b0145706fbeULL, + 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL, + 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, + 0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL, + 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, + 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, + 0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL, + 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL, + 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, + 0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL, + 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL, + 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, + 0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL, + 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL, + 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, + 0x81c2c92e47edaee6ULL, 0x92722c851482353bULL, + 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, + 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, + 0xd192e819d6ef5218ULL, 0xd69906245565a910ULL, + 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL, + 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, + 0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL, + 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, + 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, + 0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL, + 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL, + 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, + 0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL, + 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL, + 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, + 0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL, + 0x113f9804bef90daeULL, 0x1b710b35131c471bULL, + 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, + 0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL, + 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, + 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL +}; + +/* Initial hash value H for SHA-384 */ +const static sha2_word64 sha384_initial_hash_value[8] = { + 0xcbbb9d5dc1059ed8ULL, + 0x629a292a367cd507ULL, + 0x9159015a3070dd17ULL, + 0x152fecd8f70e5939ULL, + 0x67332667ffc00b31ULL, + 0x8eb44a8768581511ULL, + 0xdb0c2e0d64f98fa7ULL, + 0x47b5481dbefa4fa4ULL +}; + +/* Initial hash value H for SHA-512 */ +const static sha2_word64 sha512_initial_hash_value[8] = { + 0x6a09e667f3bcc908ULL, + 0xbb67ae8584caa73bULL, + 0x3c6ef372fe94f82bULL, + 0xa54ff53a5f1d36f1ULL, + 0x510e527fade682d1ULL, + 0x9b05688c2b3e6c1fULL, + 0x1f83d9abfb41bd6bULL, + 0x5be0cd19137e2179ULL +}; + +/* + * Constant used by SHA256/384/512_End() functions for converting the + * digest to a readable hexadecimal character string: + */ +static const char *sha2_hex_digits = "0123456789abcdef"; + + +/*** SHA-256: *********************************************************/ +void SHA256_Init(SHA256_CTX* context) { + if (context == (SHA256_CTX*)0) { + return; + } + MEMCPY_BCOPY(context->state, sha256_initial_hash_value, SHA256_DIGEST_LENGTH); + MEMSET_BZERO(context->buffer, SHA256_BLOCK_LENGTH); + context->bitcount = 0; +} + +#ifdef SHA2_UNROLL_TRANSFORM + +/* Unrolled SHA-256 round macros: */ + +#if BYTE_ORDER == LITTLE_ENDIAN + +#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \ + REVERSE32(*data++, W256[j]); \ + T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \ + K256[j] + W256[j]; \ + (d) += T1; \ + (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \ + j++ + + +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + +#define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \ + T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \ + K256[j] + (W256[j] = *data++); \ + (d) += T1; \ + (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \ + j++ + +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + +#define ROUND256(a,b,c,d,e,f,g,h) \ + s0 = W256[(j+1)&0x0f]; \ + s0 = sigma0_256(s0); \ + s1 = W256[(j+14)&0x0f]; \ + s1 = sigma1_256(s1); \ + T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + K256[j] + \ + (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); \ + (d) += T1; \ + (h) = T1 + Sigma0_256(a) + Maj((a), (b), (c)); \ + j++ + +static void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) { + sha2_word32 a, b, c, d, e, f, g, h, s0, s1; + sha2_word32 T1, *W256; + int j; + + W256 = (sha2_word32*)context->buffer; + + /* Initialize registers with the prev. intermediate value */ + a = context->state[0]; + b = context->state[1]; + c = context->state[2]; + d = context->state[3]; + e = context->state[4]; + f = context->state[5]; + g = context->state[6]; + h = context->state[7]; + + j = 0; + do { + /* Rounds 0 to 15 (unrolled): */ + ROUND256_0_TO_15(a,b,c,d,e,f,g,h); + ROUND256_0_TO_15(h,a,b,c,d,e,f,g); + ROUND256_0_TO_15(g,h,a,b,c,d,e,f); + ROUND256_0_TO_15(f,g,h,a,b,c,d,e); + ROUND256_0_TO_15(e,f,g,h,a,b,c,d); + ROUND256_0_TO_15(d,e,f,g,h,a,b,c); + ROUND256_0_TO_15(c,d,e,f,g,h,a,b); + ROUND256_0_TO_15(b,c,d,e,f,g,h,a); + } while (j < 16); + + /* Now for the remaining rounds to 64: */ + do { + ROUND256(a,b,c,d,e,f,g,h); + ROUND256(h,a,b,c,d,e,f,g); + ROUND256(g,h,a,b,c,d,e,f); + ROUND256(f,g,h,a,b,c,d,e); + ROUND256(e,f,g,h,a,b,c,d); + ROUND256(d,e,f,g,h,a,b,c); + ROUND256(c,d,e,f,g,h,a,b); + ROUND256(b,c,d,e,f,g,h,a); + } while (j < 64); + + /* Compute the current intermediate hash value */ + context->state[0] += a; + context->state[1] += b; + context->state[2] += c; + context->state[3] += d; + context->state[4] += e; + context->state[5] += f; + context->state[6] += g; + context->state[7] += h; + + /* Clean up */ + a = b = c = d = e = f = g = h = T1 = 0; +} + +#else /* SHA2_UNROLL_TRANSFORM */ + +static void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) { + sha2_word32 a, b, c, d, e, f, g, h, s0, s1; + sha2_word32 T1, T2, *W256; + int j; + + W256 = (sha2_word32*)context->buffer; + + /* Initialize registers with the prev. intermediate value */ + a = context->state[0]; + b = context->state[1]; + c = context->state[2]; + d = context->state[3]; + e = context->state[4]; + f = context->state[5]; + g = context->state[6]; + h = context->state[7]; + + j = 0; + do { +#if BYTE_ORDER == LITTLE_ENDIAN + /* Copy data while converting to host byte order */ + REVERSE32(*data++,W256[j]); + /* Apply the SHA-256 compression function to update a..h */ + T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + W256[j]; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + /* Apply the SHA-256 compression function to update a..h with copy */ + T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + (W256[j] = *data++); +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + T2 = Sigma0_256(a) + Maj(a, b, c); + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; + + j++; + } while (j < 16); + + do { + /* Part of the message block expansion: */ + s0 = W256[(j+1)&0x0f]; + s0 = sigma0_256(s0); + s1 = W256[(j+14)&0x0f]; + s1 = sigma1_256(s1); + + /* Apply the SHA-256 compression function to update a..h */ + T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + + (W256[j&0x0f] += s1 + W256[(j+9)&0x0f] + s0); + T2 = Sigma0_256(a) + Maj(a, b, c); + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; + + j++; + } while (j < 64); + + /* Compute the current intermediate hash value */ + context->state[0] += a; + context->state[1] += b; + context->state[2] += c; + context->state[3] += d; + context->state[4] += e; + context->state[5] += f; + context->state[6] += g; + context->state[7] += h; + + /* Clean up */ + a = b = c = d = e = f = g = h = T1 = T2 = 0; +} + +#endif /* SHA2_UNROLL_TRANSFORM */ + +void SHA256_Update(SHA256_CTX* context, const sha2_byte *data, size_t len) { + unsigned int freespace, usedspace; + + if (len == 0) { + /* Calling with no data is valid - we do nothing */ + return; + } + + /* Sanity check: */ + assert(context != (SHA256_CTX*)0 && data != (sha2_byte*)0); + + usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH; + if (usedspace > 0) { + /* Calculate how much free space is available in the buffer */ + freespace = SHA256_BLOCK_LENGTH - usedspace; + + if (len >= freespace) { + /* Fill the buffer completely and process it */ + MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace); + context->bitcount += freespace << 3; + len -= freespace; + data += freespace; + SHA256_Transform(context, (sha2_word32*)context->buffer); + } else { + /* The buffer is not yet full */ + MEMCPY_BCOPY(&context->buffer[usedspace], data, len); + context->bitcount += len << 3; + /* Clean up: */ + usedspace = freespace = 0; + return; + } + } + while (len >= SHA256_BLOCK_LENGTH) { + /* Process as many complete blocks as we can */ + SHA256_Transform(context, (sha2_word32*)data); + context->bitcount += SHA256_BLOCK_LENGTH << 3; + len -= SHA256_BLOCK_LENGTH; + data += SHA256_BLOCK_LENGTH; + } + if (len > 0) { + /* There's left-overs, so save 'em */ + MEMCPY_BCOPY(context->buffer, data, len); + context->bitcount += len << 3; + } + /* Clean up: */ + usedspace = freespace = 0; +} + +void SHA256_Final(sha2_byte digest[], SHA256_CTX* context) { + sha2_word32 *d = (sha2_word32*)digest; + unsigned int usedspace; + + /* Sanity check: */ + assert(context != (SHA256_CTX*)0); + + /* If no digest buffer is passed, we don't bother doing this: */ + if (digest != (sha2_byte*)0) { + usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH; +#if BYTE_ORDER == LITTLE_ENDIAN + /* Convert FROM host byte order */ + REVERSE64(context->bitcount,context->bitcount); +#endif + if (usedspace > 0) { + /* Begin padding with a 1 bit: */ + context->buffer[usedspace++] = 0x80; + + if (usedspace <= SHA256_SHORT_BLOCK_LENGTH) { + /* Set-up for the last transform: */ + MEMSET_BZERO(&context->buffer[usedspace], SHA256_SHORT_BLOCK_LENGTH - usedspace); + } else { + if (usedspace < SHA256_BLOCK_LENGTH) { + MEMSET_BZERO(&context->buffer[usedspace], SHA256_BLOCK_LENGTH - usedspace); + } + /* Do second-to-last transform: */ + SHA256_Transform(context, (sha2_word32*)context->buffer); + + /* And set-up for the last transform: */ + MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH); + } + } else { + /* Set-up for the last transform: */ + MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH); + + /* Begin padding with a 1 bit: */ + *context->buffer = 0x80; + } + /* Set the bit count: */ + *(sha2_word64*)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount; + + /* Final transform: */ + SHA256_Transform(context, (sha2_word32*)context->buffer); + +#if BYTE_ORDER == LITTLE_ENDIAN + { + /* Convert TO host byte order */ + int j; + for (j = 0; j < 8; j++) { + REVERSE32(context->state[j],context->state[j]); + *d++ = context->state[j]; + } + } +#else + MEMCPY_BCOPY(d, context->state, SHA256_DIGEST_LENGTH); +#endif + } + + /* Clean up state data: */ + MEMSET_BZERO(context, sizeof(context)); + usedspace = 0; +} + +char *SHA256_End(SHA256_CTX* context, char buffer[]) { + sha2_byte digest[SHA256_DIGEST_LENGTH], *d = digest; + int i; + + /* Sanity check: */ + assert(context != (SHA256_CTX*)0); + + if (buffer != (char*)0) { + SHA256_Final(digest, context); + + for (i = 0; i < SHA256_DIGEST_LENGTH; i++) { + *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4]; + *buffer++ = sha2_hex_digits[*d & 0x0f]; + d++; + } + *buffer = (char)0; + } else { + MEMSET_BZERO(context, sizeof(context)); + } + MEMSET_BZERO(digest, SHA256_DIGEST_LENGTH); + return buffer; +} + +char* SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH]) { + SHA256_CTX context; + + SHA256_Init(&context); + SHA256_Update(&context, data, len); + return SHA256_End(&context, digest); +} + + +/*** SHA-512: *********************************************************/ +void SHA512_Init(SHA512_CTX* context) { + if (context == (SHA512_CTX*)0) { + return; + } + MEMCPY_BCOPY(context->state, sha512_initial_hash_value, SHA512_DIGEST_LENGTH); + MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH); + context->bitcount[0] = context->bitcount[1] = 0; +} + +#ifdef SHA2_UNROLL_TRANSFORM + +/* Unrolled SHA-512 round macros: */ +#if BYTE_ORDER == LITTLE_ENDIAN + +#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \ + REVERSE64(*data++, W512[j]); \ + T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \ + K512[j] + W512[j]; \ + (d) += T1, \ + (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)), \ + j++ + + +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + +#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \ + T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \ + K512[j] + (W512[j] = *data++); \ + (d) += T1; \ + (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \ + j++ + +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + +#define ROUND512(a,b,c,d,e,f,g,h) \ + s0 = W512[(j+1)&0x0f]; \ + s0 = sigma0_512(s0); \ + s1 = W512[(j+14)&0x0f]; \ + s1 = sigma1_512(s1); \ + T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + K512[j] + \ + (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); \ + (d) += T1; \ + (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \ + j++ + +static void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) { + sha2_word64 a, b, c, d, e, f, g, h, s0, s1; + sha2_word64 T1, *W512 = (sha2_word64*)context->buffer; + int j; + + /* Initialize registers with the prev. intermediate value */ + a = context->state[0]; + b = context->state[1]; + c = context->state[2]; + d = context->state[3]; + e = context->state[4]; + f = context->state[5]; + g = context->state[6]; + h = context->state[7]; + + j = 0; + do { + ROUND512_0_TO_15(a,b,c,d,e,f,g,h); + ROUND512_0_TO_15(h,a,b,c,d,e,f,g); + ROUND512_0_TO_15(g,h,a,b,c,d,e,f); + ROUND512_0_TO_15(f,g,h,a,b,c,d,e); + ROUND512_0_TO_15(e,f,g,h,a,b,c,d); + ROUND512_0_TO_15(d,e,f,g,h,a,b,c); + ROUND512_0_TO_15(c,d,e,f,g,h,a,b); + ROUND512_0_TO_15(b,c,d,e,f,g,h,a); + } while (j < 16); + + /* Now for the remaining rounds up to 79: */ + do { + ROUND512(a,b,c,d,e,f,g,h); + ROUND512(h,a,b,c,d,e,f,g); + ROUND512(g,h,a,b,c,d,e,f); + ROUND512(f,g,h,a,b,c,d,e); + ROUND512(e,f,g,h,a,b,c,d); + ROUND512(d,e,f,g,h,a,b,c); + ROUND512(c,d,e,f,g,h,a,b); + ROUND512(b,c,d,e,f,g,h,a); + } while (j < 80); + + /* Compute the current intermediate hash value */ + context->state[0] += a; + context->state[1] += b; + context->state[2] += c; + context->state[3] += d; + context->state[4] += e; + context->state[5] += f; + context->state[6] += g; + context->state[7] += h; + + /* Clean up */ + a = b = c = d = e = f = g = h = T1 = 0; +} + +#else /* SHA2_UNROLL_TRANSFORM */ + +static void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) { + sha2_word64 a, b, c, d, e, f, g, h, s0, s1; + sha2_word64 T1, T2, *W512 = (sha2_word64*)context->buffer; + int j; + + /* Initialize registers with the prev. intermediate value */ + a = context->state[0]; + b = context->state[1]; + c = context->state[2]; + d = context->state[3]; + e = context->state[4]; + f = context->state[5]; + g = context->state[6]; + h = context->state[7]; + + j = 0; + do { +#if BYTE_ORDER == LITTLE_ENDIAN + /* Convert TO host byte order */ + REVERSE64(*data++, W512[j]); + /* Apply the SHA-512 compression function to update a..h */ + T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + W512[j]; +#else /* BYTE_ORDER == LITTLE_ENDIAN */ + /* Apply the SHA-512 compression function to update a..h with copy */ + T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + (W512[j] = *data++); +#endif /* BYTE_ORDER == LITTLE_ENDIAN */ + T2 = Sigma0_512(a) + Maj(a, b, c); + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; + + j++; + } while (j < 16); + + do { + /* Part of the message block expansion: */ + s0 = W512[(j+1)&0x0f]; + s0 = sigma0_512(s0); + s1 = W512[(j+14)&0x0f]; + s1 = sigma1_512(s1); + + /* Apply the SHA-512 compression function to update a..h */ + T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + + (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); + T2 = Sigma0_512(a) + Maj(a, b, c); + h = g; + g = f; + f = e; + e = d + T1; + d = c; + c = b; + b = a; + a = T1 + T2; + + j++; + } while (j < 80); + + /* Compute the current intermediate hash value */ + context->state[0] += a; + context->state[1] += b; + context->state[2] += c; + context->state[3] += d; + context->state[4] += e; + context->state[5] += f; + context->state[6] += g; + context->state[7] += h; + + /* Clean up */ + a = b = c = d = e = f = g = h = T1 = T2 = 0; +} + +#endif /* SHA2_UNROLL_TRANSFORM */ + +void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len) { + unsigned int freespace, usedspace; + + if (len == 0) { + /* Calling with no data is valid - we do nothing */ + return; + } + + /* Sanity check: */ + assert(context != (SHA512_CTX*)0 && data != (sha2_byte*)0); + + usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH; + if (usedspace > 0) { + /* Calculate how much free space is available in the buffer */ + freespace = SHA512_BLOCK_LENGTH - usedspace; + + if (len >= freespace) { + /* Fill the buffer completely and process it */ + MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace); + ADDINC128(context->bitcount, freespace << 3); + len -= freespace; + data += freespace; + SHA512_Transform(context, (sha2_word64*)context->buffer); + } else { + /* The buffer is not yet full */ + MEMCPY_BCOPY(&context->buffer[usedspace], data, len); + ADDINC128(context->bitcount, len << 3); + /* Clean up: */ + usedspace = freespace = 0; + return; + } + } + while (len >= SHA512_BLOCK_LENGTH) { + /* Process as many complete blocks as we can */ + SHA512_Transform(context, (sha2_word64*)data); + ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3); + len -= SHA512_BLOCK_LENGTH; + data += SHA512_BLOCK_LENGTH; + } + if (len > 0) { + /* There's left-overs, so save 'em */ + MEMCPY_BCOPY(context->buffer, data, len); + ADDINC128(context->bitcount, len << 3); + } + /* Clean up: */ + usedspace = freespace = 0; +} + +static void SHA512_Last(SHA512_CTX* context) { + unsigned int usedspace; + + usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH; +#if BYTE_ORDER == LITTLE_ENDIAN + /* Convert FROM host byte order */ + REVERSE64(context->bitcount[0],context->bitcount[0]); + REVERSE64(context->bitcount[1],context->bitcount[1]); +#endif + if (usedspace > 0) { + /* Begin padding with a 1 bit: */ + context->buffer[usedspace++] = 0x80; + + if (usedspace <= SHA512_SHORT_BLOCK_LENGTH) { + /* Set-up for the last transform: */ + MEMSET_BZERO(&context->buffer[usedspace], SHA512_SHORT_BLOCK_LENGTH - usedspace); + } else { + if (usedspace < SHA512_BLOCK_LENGTH) { + MEMSET_BZERO(&context->buffer[usedspace], SHA512_BLOCK_LENGTH - usedspace); + } + /* Do second-to-last transform: */ + SHA512_Transform(context, (sha2_word64*)context->buffer); + + /* And set-up for the last transform: */ + MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH - 2); + } + } else { + /* Prepare for final transform: */ + MEMSET_BZERO(context->buffer, SHA512_SHORT_BLOCK_LENGTH); + + /* Begin padding with a 1 bit: */ + *context->buffer = 0x80; + } + /* Store the length of input data (in bits): */ + *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1]; + *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0]; + + /* Final transform: */ + SHA512_Transform(context, (sha2_word64*)context->buffer); +} + +void SHA512_Final(sha2_byte digest[], SHA512_CTX* context) { + sha2_word64 *d = (sha2_word64*)digest; + + /* Sanity check: */ + assert(context != (SHA512_CTX*)0); + + /* If no digest buffer is passed, we don't bother doing this: */ + if (digest != (sha2_byte*)0) { + SHA512_Last(context); + + /* Save the hash data for output: */ +#if BYTE_ORDER == LITTLE_ENDIAN + { + /* Convert TO host byte order */ + int j; + for (j = 0; j < 8; j++) { + REVERSE64(context->state[j],context->state[j]); + *d++ = context->state[j]; + } + } +#else + MEMCPY_BCOPY(d, context->state, SHA512_DIGEST_LENGTH); +#endif + } + + /* Zero out state data */ + MEMSET_BZERO(context, sizeof(context)); +} + +char *SHA512_End(SHA512_CTX* context, char buffer[]) { + sha2_byte digest[SHA512_DIGEST_LENGTH], *d = digest; + int i; + + /* Sanity check: */ + assert(context != (SHA512_CTX*)0); + + if (buffer != (char*)0) { + SHA512_Final(digest, context); + + for (i = 0; i < SHA512_DIGEST_LENGTH; i++) { + *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4]; + *buffer++ = sha2_hex_digits[*d & 0x0f]; + d++; + } + *buffer = (char)0; + } else { + MEMSET_BZERO(context, sizeof(context)); + } + MEMSET_BZERO(digest, SHA512_DIGEST_LENGTH); + return buffer; +} + +char* SHA512_Data(const sha2_byte* data, size_t len, char digest[SHA512_DIGEST_STRING_LENGTH]) { + SHA512_CTX context; + + SHA512_Init(&context); + SHA512_Update(&context, data, len); + return SHA512_End(&context, digest); +} + + +/*** SHA-384: *********************************************************/ +void SHA384_Init(SHA384_CTX* context) { + if (context == (SHA384_CTX*)0) { + return; + } + MEMCPY_BCOPY(context->state, sha384_initial_hash_value, SHA512_DIGEST_LENGTH); + MEMSET_BZERO(context->buffer, SHA384_BLOCK_LENGTH); + context->bitcount[0] = context->bitcount[1] = 0; +} + +void SHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t len) { + SHA512_Update((SHA512_CTX*)context, data, len); +} + +void SHA384_Final(sha2_byte digest[], SHA384_CTX* context) { + sha2_word64 *d = (sha2_word64*)digest; + + /* Sanity check: */ + assert(context != (SHA384_CTX*)0); + + /* If no digest buffer is passed, we don't bother doing this: */ + if (digest != (sha2_byte*)0) { + SHA512_Last((SHA512_CTX*)context); + + /* Save the hash data for output: */ +#if BYTE_ORDER == LITTLE_ENDIAN + { + /* Convert TO host byte order */ + int j; + for (j = 0; j < 6; j++) { + REVERSE64(context->state[j],context->state[j]); + *d++ = context->state[j]; + } + } +#else + MEMCPY_BCOPY(d, context->state, SHA384_DIGEST_LENGTH); +#endif + } + + /* Zero out state data */ + MEMSET_BZERO(context, sizeof(context)); +} + +char *SHA384_End(SHA384_CTX* context, char buffer[]) { + sha2_byte digest[SHA384_DIGEST_LENGTH], *d = digest; + int i; + + /* Sanity check: */ + assert(context != (SHA384_CTX*)0); + + if (buffer != (char*)0) { + SHA384_Final(digest, context); + + for (i = 0; i < SHA384_DIGEST_LENGTH; i++) { + *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4]; + *buffer++ = sha2_hex_digits[*d & 0x0f]; + d++; + } + *buffer = (char)0; + } else { + MEMSET_BZERO(context, sizeof(context)); + } + MEMSET_BZERO(digest, SHA384_DIGEST_LENGTH); + return buffer; +} + +char* SHA384_Data(const sha2_byte* data, size_t len, char digest[SHA384_DIGEST_STRING_LENGTH]) { + SHA384_CTX context; + + SHA384_Init(&context); + SHA384_Update(&context, data, len); + return SHA384_End(&context, digest); +} + diff --git a/apt-pkg/contrib/sha2_internal.h b/apt-pkg/contrib/sha2_internal.h new file mode 100644 index 000000000..d9d429c92 --- /dev/null +++ b/apt-pkg/contrib/sha2_internal.h @@ -0,0 +1,188 @@ +/* + * FILE: sha2.h + * AUTHOR: Aaron D. Gifford - http://www.aarongifford.com/ + * + * Copyright (c) 2000-2001, Aaron D. Gifford + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTOR(S) BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $Id: sha2.h,v 1.1 2001/11/08 00:02:01 adg Exp adg $ + */ + +#ifndef __SHA2_H__ +#define __SHA2_H__ + +/* + * Import u_intXX_t size_t type definitions from system headers. You + * may need to change this, or define these things yourself in this + * file. + */ +#include <sys/types.h> + +#ifdef SHA2_USE_INTTYPES_H + +#include <inttypes.h> + +#endif /* SHA2_USE_INTTYPES_H */ + + +/*** SHA-256/384/512 Various Length Definitions ***********************/ +#define SHA256_BLOCK_LENGTH 64 +#define SHA256_DIGEST_LENGTH 32 +#define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1) +#define SHA384_BLOCK_LENGTH 128 +#define SHA384_DIGEST_LENGTH 48 +#define SHA384_DIGEST_STRING_LENGTH (SHA384_DIGEST_LENGTH * 2 + 1) +#define SHA512_BLOCK_LENGTH 128 +#define SHA512_DIGEST_LENGTH 64 +#define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1) + + +/*** SHA-256/384/512 Context Structures *******************************/ +/* NOTE: If your architecture does not define either u_intXX_t types or + * uintXX_t (from inttypes.h), you may need to define things by hand + * for your system: + */ +#if 0 +typedef unsigned char u_int8_t; /* 1-byte (8-bits) */ +typedef unsigned int u_int32_t; /* 4-bytes (32-bits) */ +typedef unsigned long long u_int64_t; /* 8-bytes (64-bits) */ +#endif +/* + * Most BSD systems already define u_intXX_t types, as does Linux. + * Some systems, however, like Compaq's Tru64 Unix instead can use + * uintXX_t types defined by very recent ANSI C standards and included + * in the file: + * + * #include <inttypes.h> + * + * If you choose to use <inttypes.h> then please define: + * + * #define SHA2_USE_INTTYPES_H + * + * Or on the command line during compile: + * + * cc -DSHA2_USE_INTTYPES_H ... + */ +#ifdef SHA2_USE_INTTYPES_H + +typedef struct _SHA256_CTX { + uint32_t state[8]; + uint64_t bitcount; + uint8_t buffer[SHA256_BLOCK_LENGTH]; +} SHA256_CTX; +typedef struct _SHA512_CTX { + uint64_t state[8]; + uint64_t bitcount[2]; + uint8_t buffer[SHA512_BLOCK_LENGTH]; +} SHA512_CTX; + +#else /* SHA2_USE_INTTYPES_H */ + +typedef struct _SHA256_CTX { + u_int32_t state[8]; + u_int64_t bitcount; + u_int8_t buffer[SHA256_BLOCK_LENGTH]; +} SHA256_CTX; +typedef struct _SHA512_CTX { + u_int64_t state[8]; + u_int64_t bitcount[2]; + u_int8_t buffer[SHA512_BLOCK_LENGTH]; +} SHA512_CTX; + +#endif /* SHA2_USE_INTTYPES_H */ + +typedef SHA512_CTX SHA384_CTX; + + +/*** SHA-256/384/512 Function Prototypes ******************************/ +#ifndef NOPROTO +#ifdef SHA2_USE_INTTYPES_H + +void SHA256_Init(SHA256_CTX *); +void SHA256_Update(SHA256_CTX*, const uint8_t*, size_t); +void SHA256_Final(uint8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*); +char* SHA256_End(SHA256_CTX*, char[SHA256_DIGEST_STRING_LENGTH]); +char* SHA256_Data(const uint8_t*, size_t, char[SHA256_DIGEST_STRING_LENGTH]); + +void SHA384_Init(SHA384_CTX*); +void SHA384_Update(SHA384_CTX*, const uint8_t*, size_t); +void SHA384_Final(uint8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*); +char* SHA384_End(SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]); +char* SHA384_Data(const uint8_t*, size_t, char[SHA384_DIGEST_STRING_LENGTH]); + +void SHA512_Init(SHA512_CTX*); +void SHA512_Update(SHA512_CTX*, const uint8_t*, size_t); +void SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*); +char* SHA512_End(SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]); +char* SHA512_Data(const uint8_t*, size_t, char[SHA512_DIGEST_STRING_LENGTH]); + +#else /* SHA2_USE_INTTYPES_H */ + +void SHA256_Init(SHA256_CTX *); +void SHA256_Update(SHA256_CTX*, const u_int8_t*, size_t); +void SHA256_Final(u_int8_t[SHA256_DIGEST_LENGTH], SHA256_CTX*); +char* SHA256_End(SHA256_CTX*, char[SHA256_DIGEST_STRING_LENGTH]); +char* SHA256_Data(const u_int8_t*, size_t, char[SHA256_DIGEST_STRING_LENGTH]); + +void SHA384_Init(SHA384_CTX*); +void SHA384_Update(SHA384_CTX*, const u_int8_t*, size_t); +void SHA384_Final(u_int8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*); +char* SHA384_End(SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]); +char* SHA384_Data(const u_int8_t*, size_t, char[SHA384_DIGEST_STRING_LENGTH]); + +void SHA512_Init(SHA512_CTX*); +void SHA512_Update(SHA512_CTX*, const u_int8_t*, size_t); +void SHA512_Final(u_int8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*); +char* SHA512_End(SHA512_CTX*, char[SHA512_DIGEST_STRING_LENGTH]); +char* SHA512_Data(const u_int8_t*, size_t, char[SHA512_DIGEST_STRING_LENGTH]); + +#endif /* SHA2_USE_INTTYPES_H */ + +#else /* NOPROTO */ + +void SHA256_Init(); +void SHA256_Update(); +void SHA256_Final(); +char* SHA256_End(); +char* SHA256_Data(); + +void SHA384_Init(); +void SHA384_Update(); +void SHA384_Final(); +char* SHA384_End(); +char* SHA384_Data(); + +void SHA512_Init(); +void SHA512_Update(); +void SHA512_Final(); +char* SHA512_End(); +char* SHA512_Data(); + +#endif /* NOPROTO */ + +#endif /* __SHA2_H__ */ + diff --git a/apt-pkg/deb/debindexfile.h b/apt-pkg/deb/debindexfile.h index b5085992d..678c22473 100644 --- a/apt-pkg/deb/debindexfile.h +++ b/apt-pkg/deb/debindexfile.h @@ -22,8 +22,12 @@ class debStatusIndex : public pkgIndexFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + protected: string File; - + public: virtual const Type *GetType() const; @@ -36,13 +40,18 @@ class debStatusIndex : public pkgIndexFile virtual bool HasPackages() const {return true;}; virtual unsigned long Size() const; virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const; + bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog, unsigned long const Flag) const; virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const; debStatusIndex(string File); + virtual ~debStatusIndex() {}; }; class debPackagesIndex : public pkgIndexFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + string URI; string Dist; string Section; @@ -72,10 +81,14 @@ class debPackagesIndex : public pkgIndexFile debPackagesIndex(string const &URI, string const &Dist, string const &Section, bool const &Trusted, string const &Arch = "native"); + virtual ~debPackagesIndex() {}; }; class debTranslationsIndex : public pkgIndexFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + string URI; string Dist; string Section; @@ -103,10 +116,14 @@ class debTranslationsIndex : public pkgIndexFile virtual pkgCache::PkgFileIterator FindInCache(pkgCache &Cache) const; debTranslationsIndex(string URI,string Dist,string Section, char const * const Language); + virtual ~debTranslationsIndex() {}; }; class debSourcesIndex : public pkgIndexFile { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + string URI; string Dist; string Section; @@ -136,6 +153,7 @@ class debSourcesIndex : public pkgIndexFile virtual unsigned long Size() const; debSourcesIndex(string URI,string Dist,string Section,bool Trusted); + virtual ~debSourcesIndex() {}; }; #endif diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index 8d3f6f0ba..952433428 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -128,12 +128,7 @@ bool debListParser::NewVersion(pkgCache::VerIterator &Ver) } if (ArchitectureAll() == true) - switch (Ver->MultiArch) - { - case pkgCache::Version::Foreign: Ver->MultiArch = pkgCache::Version::AllForeign; break; - case pkgCache::Version::Allowed: Ver->MultiArch = pkgCache::Version::AllAllowed; break; - default: Ver->MultiArch = pkgCache::Version::All; - } + Ver->MultiArch |= pkgCache::Version::All; // Archive Size Ver->Size = Section.FindULL("Size"); @@ -690,12 +685,12 @@ bool debListParser::ParseProvides(pkgCache::VerIterator &Ver) if (MultiArchEnabled == false) return true; - else if (Ver->MultiArch == pkgCache::Version::Allowed || Ver->MultiArch == pkgCache::Version::AllAllowed) + else if ((Ver->MultiArch & pkgCache::Version::Allowed) == pkgCache::Version::Allowed) { string const Package = string(Ver.ParentPkg().Name()).append(":").append("any"); return NewProvidesAllArch(Ver, Package, Ver.VerStr()); } - else if (Ver->MultiArch == pkgCache::Version::Foreign || Ver->MultiArch == pkgCache::Version::AllForeign) + else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign) return NewProvidesAllArch(Ver, Ver.ParentPkg().Name(), Ver.VerStr()); return true; diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h index d62ce641c..41d712fbf 100644 --- a/apt-pkg/deb/deblistparser.h +++ b/apt-pkg/deb/deblistparser.h @@ -25,9 +25,12 @@ class debListParser : public pkgCacheGenerator::ListParser const char *Str; unsigned char Val; }; - + private: - + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + protected: pkgTagFile Tags; pkgTagSection Section; unsigned long iOffset; @@ -36,7 +39,7 @@ class debListParser : public pkgCacheGenerator::ListParser bool MultiArchEnabled; unsigned long UniqFindTagWrite(const char *Tag); - bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver); + virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver); bool ParseDepends(pkgCache::VerIterator &Ver,const char *Tag, unsigned int Type); bool ParseProvides(pkgCache::VerIterator &Ver); @@ -74,6 +77,7 @@ class debListParser : public pkgCacheGenerator::ListParser static const char *ConvertRelation(const char *I,unsigned int &Op); debListParser(FileFd *File, string const &Arch = ""); + virtual ~debListParser() {}; }; #endif diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index f6c50742e..e1f8219e3 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -142,11 +142,13 @@ string debReleaseIndex::TranslationIndexURI(const char *Type, const string &Sect return URI + "dists/" + Dist + "/" + TranslationIndexURISuffix(Type, Section); } -debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist) { - this->URI = URI; - this->Dist = Dist; - this->Indexes = NULL; - this->Type = "deb"; +debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist) : + metaIndex(URI, Dist, "deb"), Trusted(CHECK_TRUST) +{} + +debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist, bool const Trusted) : + metaIndex(URI, Dist, "deb") { + SetTrusted(Trusted); } debReleaseIndex::~debReleaseIndex() { @@ -252,8 +254,22 @@ bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool const &GetAll) const return true; } +void debReleaseIndex::SetTrusted(bool const Trusted) +{ + if (Trusted == true) + this->Trusted = ALWAYS_TRUSTED; + else + this->Trusted = NEVER_TRUSTED; +} + bool debReleaseIndex::IsTrusted() const { + if (Trusted == ALWAYS_TRUSTED) + return true; + else if (Trusted == NEVER_TRUSTED) + return false; + + if(_config->FindB("APT::Authentication::TrustCDROM", false)) if(URI.substr(0,strlen("cdrom:")) == "cdrom:") return true; @@ -349,6 +365,7 @@ class debSLTypeDebian : public pkgSourceList::Type vector<string> const Archs = (arch != Options.end()) ? VectorizeString(arch->second, ',') : APT::Configuration::getArchitectures(); + map<string, string>::const_iterator const trusted = Options.find("trusted"); for (vector<metaIndex *>::const_iterator I = List.begin(); I != List.end(); ++I) @@ -358,6 +375,9 @@ class debSLTypeDebian : public pkgSourceList::Type continue; debReleaseIndex *Deb = (debReleaseIndex *) (*I); + if (trusted != Options.end()) + Deb->SetTrusted(StringToBool(trusted->second, false)); + /* This check insures that there will be only one Release file queued for all the Packages files and Sources files it corresponds to. */ @@ -375,9 +395,14 @@ class debSLTypeDebian : public pkgSourceList::Type return true; } } + // No currently created Release file indexes this entry, so we create a new one. - // XXX determine whether this release is trusted or not - debReleaseIndex *Deb = new debReleaseIndex(URI, Dist); + debReleaseIndex *Deb; + if (trusted != Options.end()) + Deb = new debReleaseIndex(URI, Dist, StringToBool(trusted->second, false)); + else + Deb = new debReleaseIndex(URI, Dist); + if (IsSrc == true) Deb->PushSectionEntry ("source", new debReleaseIndex::debSectionEntry(Section, IsSrc)); else diff --git a/apt-pkg/deb/debmetaindex.h b/apt-pkg/deb/debmetaindex.h index 1561c6e00..695cfa7cc 100644 --- a/apt-pkg/deb/debmetaindex.h +++ b/apt-pkg/deb/debmetaindex.h @@ -19,12 +19,16 @@ class debReleaseIndex : public metaIndex { }; private: + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; std::map<string, vector<debSectionEntry const*> > ArchEntries; + enum { ALWAYS_TRUSTED, NEVER_TRUSTED, CHECK_TRUST } Trusted; public: debReleaseIndex(string const &URI, string const &Dist); - ~debReleaseIndex(); + debReleaseIndex(string const &URI, string const &Dist, bool const Trusted); + virtual ~debReleaseIndex(); virtual string ArchiveURI(string const &File) const {return URI + File;}; virtual bool GetIndexes(pkgAcquire *Owner, bool const &GetAll=false) const; @@ -41,6 +45,7 @@ class debReleaseIndex : public metaIndex { string TranslationIndexURISuffix(const char *Type, const string &Section) const; virtual vector <pkgIndexFile *> *GetIndexFiles(); + void SetTrusted(bool const Trusted); virtual bool IsTrusted() const; void PushSectionEntry(vector<string> const &Archs, const debSectionEntry *Entry); diff --git a/apt-pkg/deb/debrecords.cc b/apt-pkg/deb/debrecords.cc index 7f596ab0d..2571aae52 100644 --- a/apt-pkg/deb/debrecords.cc +++ b/apt-pkg/deb/debrecords.cc @@ -77,7 +77,7 @@ string debRecordParser::SHA1Hash() return Section.FindS("SHA1"); } /*}}}*/ -// RecordParser::SHA1Hash - Return the archive hash /*{{{*/ +// RecordParser::SHA256Hash - Return the archive hash /*{{{*/ // --------------------------------------------------------------------- /* */ string debRecordParser::SHA256Hash() @@ -85,6 +85,14 @@ string debRecordParser::SHA256Hash() return Section.FindS("SHA256"); } /*}}}*/ +// RecordParser::SHA512Hash - Return the archive hash /*{{{*/ +// --------------------------------------------------------------------- +/* */ +string debRecordParser::SHA512Hash() +{ + return Section.FindS("SHA512"); +} + /*}}}*/ // RecordParser::Maintainer - Return the maintainer email /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -93,6 +101,15 @@ string debRecordParser::Maintainer() return Section.FindS("Maintainer"); } /*}}}*/ +// RecordParser::RecordField - Return the value of an arbitrary field /*{{*/ +// --------------------------------------------------------------------- +/* */ +string debRecordParser::RecordField(const char *fieldName) +{ + return Section.FindS(fieldName); +} + + /*}}}*/ // RecordParser::ShortDesc - Return a 1 line description /*{{{*/ // --------------------------------------------------------------------- /* */ diff --git a/apt-pkg/deb/debrecords.h b/apt-pkg/deb/debrecords.h index 6f358abfa..7868bfa3d 100644 --- a/apt-pkg/deb/debrecords.h +++ b/apt-pkg/deb/debrecords.h @@ -20,6 +20,9 @@ class debRecordParser : public pkgRecords::Parser { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + FileFd File; pkgTagFile Tags; pkgTagSection Section; @@ -36,6 +39,7 @@ class debRecordParser : public pkgRecords::Parser virtual string MD5Hash(); virtual string SHA1Hash(); virtual string SHA256Hash(); + virtual string SHA512Hash(); virtual string SourcePkg(); virtual string SourceVer(); @@ -46,9 +50,13 @@ class debRecordParser : public pkgRecords::Parser virtual string Name(); virtual string Homepage(); + // An arbitrary custom field + virtual string RecordField(const char *fieldName); + virtual void GetRec(const char *&Start,const char *&Stop); debRecordParser(string FileName,pkgCache &Cache); + virtual ~debRecordParser() {}; }; #endif diff --git a/apt-pkg/deb/debsrcrecords.h b/apt-pkg/deb/debsrcrecords.h index 905264daa..aa859b0e6 100644 --- a/apt-pkg/deb/debsrcrecords.h +++ b/apt-pkg/deb/debsrcrecords.h @@ -18,6 +18,9 @@ class debSrcRecordParser : public pkgSrcRecords::Parser { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + FileFd Fd; pkgTagFile Tags; pkgTagSection Sect; @@ -50,7 +53,7 @@ class debSrcRecordParser : public pkgSrcRecords::Parser debSrcRecordParser(string const &File,pkgIndexFile const *Index) : Parser(Index), Fd(File,FileFd::ReadOnlyGzip), Tags(&Fd,102400), Buffer(0), BufSize(0) {} - ~debSrcRecordParser(); + virtual ~debSrcRecordParser(); }; #endif diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc index 8619822df..7644bc66b 100644 --- a/apt-pkg/deb/debsystem.cc +++ b/apt-pkg/deb/debsystem.cc @@ -26,15 +26,24 @@ debSystem debSys; +class debSystemPrivate { +public: + debSystemPrivate() : LockFD(-1), LockCount(0), StatusFile(0) + { + } + // For locking support + int LockFD; + unsigned LockCount; + + debStatusIndex *StatusFile; +}; + // System::debSystem - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ debSystem::debSystem() { - LockFD = -1; - LockCount = 0; - StatusFile = 0; - + d = new debSystemPrivate(); Label = "Debian dpkg interface"; VS = &debVS; } @@ -44,7 +53,8 @@ debSystem::debSystem() /* */ debSystem::~debSystem() { - delete StatusFile; + delete d->StatusFile; + delete d; } /*}}}*/ // System::Lock - Get the lock /*{{{*/ @@ -54,16 +64,16 @@ debSystem::~debSystem() bool debSystem::Lock() { // Disable file locking - if (_config->FindB("Debug::NoLocking",false) == true || LockCount > 1) + if (_config->FindB("Debug::NoLocking",false) == true || d->LockCount > 1) { - LockCount++; + d->LockCount++; return true; } // Create the lockfile string AdminDir = flNotFile(_config->Find("Dir::State::status")); - LockFD = GetLock(AdminDir + "lock"); - if (LockFD == -1) + d->LockFD = GetLock(AdminDir + "lock"); + if (d->LockFD == -1) { if (errno == EACCES || errno == EAGAIN) return _error->Error(_("Unable to lock the administration directory (%s), " @@ -76,8 +86,8 @@ bool debSystem::Lock() // See if we need to abort with a dirty journal if (CheckUpdates() == true) { - close(LockFD); - LockFD = -1; + close(d->LockFD); + d->LockFD = -1; const char *cmd; if (getenv("SUDO_USER") != NULL) cmd = "sudo dpkg --configure -a"; @@ -89,7 +99,7 @@ bool debSystem::Lock() "run '%s' to correct the problem. "), cmd); } - LockCount++; + d->LockCount++; return true; } @@ -99,15 +109,15 @@ bool debSystem::Lock() /* */ bool debSystem::UnLock(bool NoErrors) { - if (LockCount == 0 && NoErrors == true) + if (d->LockCount == 0 && NoErrors == true) return false; - if (LockCount < 1) + if (d->LockCount < 1) return _error->Error(_("Not locked")); - if (--LockCount == 0) + if (--d->LockCount == 0) { - close(LockFD); - LockCount = 0; + close(d->LockFD); + d->LockCount = 0; } return true; @@ -168,9 +178,9 @@ bool debSystem::Initialize(Configuration &Cnf) Cnf.CndSet("Dir::State::status","/var/lib/dpkg/status"); Cnf.CndSet("Dir::Bin::dpkg","/usr/bin/dpkg"); - if (StatusFile) { - delete StatusFile; - StatusFile = 0; + if (d->StatusFile) { + delete d->StatusFile; + d->StatusFile = 0; } return true; @@ -208,9 +218,9 @@ signed debSystem::Score(Configuration const &Cnf) /* */ bool debSystem::AddStatusFiles(vector<pkgIndexFile *> &List) { - if (StatusFile == 0) - StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status")); - List.push_back(StatusFile); + if (d->StatusFile == 0) + d->StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status")); + List.push_back(d->StatusFile); return true; } /*}}}*/ @@ -220,11 +230,11 @@ bool debSystem::AddStatusFiles(vector<pkgIndexFile *> &List) bool debSystem::FindIndex(pkgCache::PkgFileIterator File, pkgIndexFile *&Found) const { - if (StatusFile == 0) + if (d->StatusFile == 0) return false; - if (StatusFile->FindInCache(*File.Cache()) == File) + if (d->StatusFile->FindInCache(*File.Cache()) == File) { - Found = StatusFile; + Found = d->StatusFile; return true; } diff --git a/apt-pkg/deb/debsystem.h b/apt-pkg/deb/debsystem.h index 5f9995e5d..232155256 100644 --- a/apt-pkg/deb/debsystem.h +++ b/apt-pkg/deb/debsystem.h @@ -12,16 +12,15 @@ #include <apt-pkg/pkgsystem.h> +class debSystemPrivate; + class debStatusIndex; class debSystem : public pkgSystem { - // For locking support - int LockFD; - unsigned LockCount; + // private d-pointer + debSystemPrivate *d; bool CheckUpdates(); - - debStatusIndex *StatusFile; - + public: virtual bool Lock(); @@ -35,7 +34,7 @@ class debSystem : public pkgSystem pkgIndexFile *&Found) const; debSystem(); - ~debSystem(); + virtual ~debSystem(); }; extern debSystem debSys; diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 46f48777c..61927ff68 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -26,7 +26,6 @@ #include <sys/wait.h> #include <signal.h> #include <errno.h> -#include <string.h> #include <stdio.h> #include <string.h> #include <algorithm> @@ -46,6 +45,21 @@ 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 @@ -110,9 +124,9 @@ ionice(int PID) // --------------------------------------------------------------------- /* */ pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) - : pkgPackageManager(Cache), dpkgbuf_pos(0), - term_out(NULL), history_out(NULL), PackagesDone(0), PackagesTotal(0) + : pkgPackageManager(Cache), PackagesDone(0), PackagesTotal(0) { + d = new pkgDPkgPMPrivate(); } /*}}}*/ // DPkgPM::pkgDPkgPM - Destructor /*{{{*/ @@ -120,6 +134,7 @@ pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) /* */ pkgDPkgPM::~pkgDPkgPM() { + delete d; } /*}}}*/ // DPkgPM::Install - Install a package /*{{{*/ @@ -376,7 +391,7 @@ void pkgDPkgPM::DoStdin(int master) if (len) write(master, input_buf, len); else - stdin_is_dev_null = true; + d->stdin_is_dev_null = true; } /*}}}*/ // DPkgPM::DoTerminalPty - Read the terminal pty and write log /*{{{*/ @@ -401,8 +416,8 @@ void pkgDPkgPM::DoTerminalPty(int master) if(len <= 0) return; write(1, term_buf, len); - if(term_out) - fwrite(term_buf, len, sizeof(char), term_out); + if(d->term_out) + fwrite(term_buf, len, sizeof(char), d->term_out); } /*}}}*/ // DPkgPM::ProcessDpkgStatusBuf /*{{{*/ @@ -606,14 +621,14 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd) char *p, *q; int len; - len=read(statusfd, &dpkgbuf[dpkgbuf_pos], sizeof(dpkgbuf)-dpkgbuf_pos); - dpkgbuf_pos += len; + len=read(statusfd, &d->dpkgbuf[d->dpkgbuf_pos], sizeof(d->dpkgbuf)-d->dpkgbuf_pos); + d->dpkgbuf_pos += len; if(len <= 0) return; // process line by line if we have a buffer - p = q = dpkgbuf; - while((q=(char*)memchr(p, '\n', dpkgbuf+dpkgbuf_pos-p)) != NULL) + p = q = d->dpkgbuf; + while((q=(char*)memchr(p, '\n', d->dpkgbuf+d->dpkgbuf_pos-p)) != NULL) { *q = 0; ProcessDpkgStatusLine(OutStatusFd, p); @@ -621,8 +636,8 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd) } // now move the unprocessed bits (after the final \n that is now a 0x0) - // to the start and update dpkgbuf_pos - p = (char*)memrchr(dpkgbuf, 0, dpkgbuf_pos); + // to the start and update d->dpkgbuf_pos + p = (char*)memrchr(d->dpkgbuf, 0, d->dpkgbuf_pos); if(p == NULL) return; @@ -630,8 +645,8 @@ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd) p++; // move the unprocessed tail to the start and update pos - memmove(dpkgbuf, p, p-dpkgbuf); - dpkgbuf_pos = dpkgbuf+dpkgbuf_pos-p; + memmove(d->dpkgbuf, p, p-d->dpkgbuf); + d->dpkgbuf_pos = d->dpkgbuf+d->dpkgbuf_pos-p; } /*}}}*/ // DPkgPM::WriteHistoryTag /*{{{*/ @@ -643,7 +658,7 @@ void pkgDPkgPM::WriteHistoryTag(string const &tag, string value) // poor mans rstrip(", ") if (value[length-2] == ',' && value[length-1] == ' ') value.erase(length - 2, 2); - fprintf(history_out, "%s: %s\n", tag.c_str(), value.c_str()); + fprintf(d->history_out, "%s: %s\n", tag.c_str(), value.c_str()); } /*}}}*/ // DPkgPM::OpenLog /*{{{*/ bool pkgDPkgPM::OpenLog() @@ -664,11 +679,11 @@ bool pkgDPkgPM::OpenLog() _config->Find("Dir::Log::Terminal")); if (!logfile_name.empty()) { - term_out = fopen(logfile_name.c_str(),"a"); - if (term_out == NULL) + d->term_out = fopen(logfile_name.c_str(),"a"); + if (d->term_out == NULL) return _error->WarningE("OpenLog", _("Could not open file '%s'"), logfile_name.c_str()); - setvbuf(term_out, NULL, _IONBF, 0); - SetCloseExec(fileno(term_out), true); + setvbuf(d->term_out, NULL, _IONBF, 0); + SetCloseExec(fileno(d->term_out), true); struct passwd *pw; struct group *gr; pw = getpwnam("root"); @@ -676,7 +691,7 @@ bool pkgDPkgPM::OpenLog() if (pw != NULL && gr != NULL) chown(logfile_name.c_str(), pw->pw_uid, gr->gr_gid); chmod(logfile_name.c_str(), 0644); - fprintf(term_out, "\nLog started: %s\n", timestr); + fprintf(d->term_out, "\nLog started: %s\n", timestr); } // write your history @@ -684,11 +699,11 @@ bool pkgDPkgPM::OpenLog() _config->Find("Dir::Log::History")); if (!history_name.empty()) { - history_out = fopen(history_name.c_str(),"a"); - if (history_out == NULL) + d->history_out = fopen(history_name.c_str(),"a"); + if (d->history_out == NULL) return _error->WarningE("OpenLog", _("Could not open file '%s'"), history_name.c_str()); chmod(history_name.c_str(), 0644); - fprintf(history_out, "\nStart-Date: %s\n", timestr); + fprintf(d->history_out, "\nStart-Date: %s\n", timestr); string remove, purge, install, reinstall, upgrade, downgrade; for (pkgCache::PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) { @@ -729,7 +744,7 @@ bool pkgDPkgPM::OpenLog() WriteHistoryTag("Downgrade",downgrade); WriteHistoryTag("Remove",remove); WriteHistoryTag("Purge",purge); - fflush(history_out); + fflush(d->history_out); } return true; @@ -743,16 +758,16 @@ bool pkgDPkgPM::CloseLog() struct tm *tmp = localtime(&t); strftime(timestr, sizeof(timestr), "%F %T", tmp); - if(term_out) + if(d->term_out) { - fprintf(term_out, "Log ended: "); - fprintf(term_out, "%s", timestr); - fprintf(term_out, "\n"); - fclose(term_out); + fprintf(d->term_out, "Log ended: "); + fprintf(d->term_out, "%s", timestr); + fprintf(d->term_out, "\n"); + fclose(d->term_out); } - term_out = NULL; + d->term_out = NULL; - if(history_out) + if(d->history_out) { if (disappearedPkgs.empty() == false) { @@ -769,12 +784,12 @@ bool pkgDPkgPM::CloseLog() } WriteHistoryTag("Disappeared", disappear); } - if (dpkg_error.empty() == false) - fprintf(history_out, "Error: %s\n", dpkg_error.c_str()); - fprintf(history_out, "End-Date: %s\n", timestr); - fclose(history_out); + if (d->dpkg_error.empty() == false) + fprintf(d->history_out, "Error: %s\n", d->dpkg_error.c_str()); + fprintf(d->history_out, "End-Date: %s\n", timestr); + fclose(d->history_out); } - history_out = NULL; + d->history_out = NULL; return true; } @@ -882,7 +897,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) } } - stdin_is_dev_null = false; + d->stdin_is_dev_null = false; // create log OpenLog(); @@ -1082,8 +1097,8 @@ bool pkgDPkgPM::Go(int OutStatusFd) const char *s = _("Can not write log, openpty() " "failed (/dev/pts not mounted?)\n"); fprintf(stderr, "%s",s); - if(term_out) - fprintf(term_out, "%s",s); + if(d->term_out) + fprintf(d->term_out, "%s",s); master = slave = -1; } else { struct termios rtt; @@ -1213,7 +1228,7 @@ bool pkgDPkgPM::Go(int OutStatusFd) // wait for input or output here FD_ZERO(&rfds); - if (master >= 0 && !stdin_is_dev_null) + if (master >= 0 && !d->stdin_is_dev_null) FD_SET(0, &rfds); FD_SET(_dpkgin, &rfds); if(master >= 0) @@ -1267,14 +1282,14 @@ bool pkgDPkgPM::Go(int OutStatusFd) RunScripts("DPkg::Post-Invoke"); if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV) - strprintf(dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]); + strprintf(d->dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]); else if (WIFEXITED(Status) != 0) - strprintf(dpkg_error, "Sub-process %s returned an error code (%u)",Args[0],WEXITSTATUS(Status)); + strprintf(d->dpkg_error, "Sub-process %s returned an error code (%u)",Args[0],WEXITSTATUS(Status)); else - strprintf(dpkg_error, "Sub-process %s exited unexpectedly",Args[0]); + strprintf(d->dpkg_error, "Sub-process %s exited unexpectedly",Args[0]); - if(dpkg_error.size() > 0) - _error->Error("%s", dpkg_error.c_str()); + if(d->dpkg_error.size() > 0) + _error->Error("%s", d->dpkg_error.c_str()); if(stopOnError) { @@ -1326,7 +1341,7 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) string::size_type pos; FILE *report; - if (_config->FindB("Dpkg::ApportFailureReport", false) == false) + if (_config->FindB("Dpkg::ApportFailureReport", true) == false) { std::clog << "configured to not write apport reports" << std::endl; return; @@ -1353,18 +1368,49 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) } // do not report out-of-memory failures - if(strstr(errormsg, strerror(ENOMEM)) != NULL) { + if(strstr(errormsg, strerror(ENOMEM)) != NULL || + strstr(errormsg, "failed to allocate memory") != NULL) { std::clog << _("No apport report written because the error message indicates a out of memory error") << std::endl; return; } - // do not report dpkg I/O errors - // XXX - this message is localized, but this only matches the English version. This is better than nothing. - if(strstr(errormsg, "short read in buffer_copy (")) { - std::clog << _("No apport report written because the error message indicates a dpkg I/O error") << std::endl; + // do not report bugs regarding inaccessible local files + if(strstr(errormsg, strerror(ENOENT)) != NULL || + strstr(errormsg, "cannot access archive") != NULL) { + std::clog << _("No apport report written because the error message indicates an issue on the local system") << std::endl; return; } + // do not report errors encountered when decompressing packages + if(strstr(errormsg, "--fsys-tarfile returned error exit status 2") != NULL) { + std::clog << _("No apport report written because the error message indicates an issue on the local system") << std::endl; + return; + } + + // do not report dpkg I/O errors, this is a format string, so we compare + // the prefix and the suffix of the error with the dpkg error message + vector<string> io_errors; + io_errors.push_back(string("failed to read on buffer copy for %s")); + io_errors.push_back(string("failed in write on buffer copy for %s")); + io_errors.push_back(string("short read on buffer copy for %s")); + + for (vector<string>::iterator I = io_errors.begin(); I != io_errors.end(); I++) + { + vector<string> list = VectorizeString(dgettext("dpkg", (*I).c_str()), '%'); + if (list.size() > 1) { + // we need to split %s, VectorizeString only allows char so we need + // to kill the "s" manually + if (list[1].size() > 1) { + list[1].erase(0, 1); + if(strstr(errormsg, list[0].c_str()) && + strstr(errormsg, list[1].c_str())) { + std::clog << _("No apport report written because the error message indicates a dpkg I/O error") << std::endl; + return; + } + } + } + } + // get the pkgname and reportfile pkgname = flNotDir(pkgpath); pos = pkgname.find('_'); @@ -1438,8 +1484,8 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) fprintf(report, "ErrorMessage:\n %s\n", errormsg); // ensure that the log is flushed - if(term_out) - fflush(term_out); + if(d->term_out) + fflush(d->term_out); // attach terminal log it if we have it string logfile_name = _config->FindFile("Dir::Log::Terminal"); @@ -1454,6 +1500,24 @@ void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg) { while( fgets(buf, sizeof(buf), log) != NULL) fprintf(report, " %s", buf); + fprintf(report, " \n"); + fclose(log); + } + } + + // attach history log it if we have it + string histfile_name = _config->FindFile("Dir::Log::History"); + if (!histfile_name.empty()) + { + FILE *log = NULL; + char buf[1024]; + + fprintf(report, "DpkgHistoryLog:\n"); + log = fopen(histfile_name.c_str(),"r"); + if(log != NULL) + { + while( fgets(buf, sizeof(buf), log) != NULL) + fprintf(report, " %s", buf); fclose(log); } } diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index b7b5a6def..ddf9485c7 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -18,19 +18,12 @@ using std::vector; using std::map; +class pkgDPkgPMPrivate; class pkgDPkgPM : public pkgPackageManager { private: - - bool stdin_is_dev_null; - - // the buffer we use for the dpkg status-fd reading - char dpkgbuf[1024]; - int dpkgbuf_pos; - FILE *term_out; - FILE *history_out; - string dpkg_error; + pkgDPkgPMPrivate *d; /** \brief record the disappear action and handle accordingly diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 580056687..9104c5d56 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -406,60 +406,8 @@ bool pkgDepCache::CheckDep(DepIterator Dep,int Type,PkgIterator &Res) /*}}}*/ // DepCache::AddSizes - Add the packages sizes to the counters /*{{{*/ // --------------------------------------------------------------------- -/* Call with Mult = -1 to preform the inverse opration - The Mult increases the complexity of the calulations here and is unused - - or do we really have a usecase for removing the size of a package two - times? So let us replace it with a simple bool and be done with it… */ -__deprecated void pkgDepCache::AddSizes(const PkgIterator &Pkg,signed long Mult) -{ - StateCache &P = PkgState[Pkg->ID]; - - if (Pkg->VersionList == 0) - return; - - if (Pkg.State() == pkgCache::PkgIterator::NeedsConfigure && - P.Keep() == true) - return; - - // Compute the size data - if (P.NewInstall() == true) - { - iUsrSize += (signed long long)(Mult*P.InstVerIter(*this)->InstalledSize); - iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size); - return; - } - - // Upgrading - if (Pkg->CurrentVer != 0 && - (P.InstallVer != (Version *)Pkg.CurrentVer() || - (P.iFlags & ReInstall) == ReInstall) && P.InstallVer != 0) - { - iUsrSize += (signed long long)(Mult*((signed long long)P.InstVerIter(*this)->InstalledSize - - (signed long long)Pkg.CurrentVer()->InstalledSize)); - iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size); - return; - } - - // Reinstall - if (Pkg.State() == pkgCache::PkgIterator::NeedsUnpack && - P.Delete() == false) - { - iDownloadSize += (signed long long)(Mult*P.InstVerIter(*this)->Size); - return; - } - - // Removing - if (Pkg->CurrentVer != 0 && P.InstallVer == 0) - { - iUsrSize -= (signed long long)(Mult*Pkg.CurrentVer()->InstalledSize); - return; - } -} - /*}}}*/ -// DepCache::AddSizes - Add the packages sizes to the counters /*{{{*/ -// --------------------------------------------------------------------- /* Call with Inverse = true to preform the inverse opration */ -void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const &Inverse) +void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const Inverse) { StateCache &P = PkgState[Pkg->ID]; @@ -530,8 +478,9 @@ void pkgDepCache::AddSizes(const PkgIterator &Pkg, bool const &Inverse) calld Remove/Add itself. Remember, dependencies can be circular so while processing a dep for Pkg it is possible that Add/Remove will be called on Pkg */ -void pkgDepCache::AddStates(const PkgIterator &Pkg,int Add) +void pkgDepCache::AddStates(const PkgIterator &Pkg, bool const Invert) { + signed char const Add = (Invert == false) ? 1 : -1; StateCache &State = PkgState[Pkg->ID]; // The Package is broken (either minimal dep or policy dep) @@ -806,17 +755,17 @@ void pkgDepCache::Update(PkgIterator const &Pkg) // DepCache::MarkKeep - Put the package in the keep state /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser, +bool pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser, unsigned long Depth) { if (IsModeChangeOk(ModeKeep, Pkg, Depth, FromUser) == false) - return; + return false; /* Reject an attempt to keep a non-source broken installed package, those must be upgraded */ if (Pkg.State() == PkgIterator::NeedsUnpack && Pkg.CurrentVer().Downloadable() == false) - return; + return false; /* We changed the soft state all the time so the UI is a bit nicer to use */ @@ -824,7 +773,7 @@ void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser, // Check that it is not already kept if (P.Mode == ModeKeep) - return; + return true; if (Soft == true) P.iFlags |= AutoKept; @@ -857,31 +806,31 @@ void pkgDepCache::MarkKeep(PkgIterator const &Pkg, bool Soft, bool FromUser, P.InstallVer = Pkg.CurrentVer(); AddStates(Pkg); - Update(Pkg); - AddSizes(Pkg); + + return true; } /*}}}*/ // DepCache::MarkDelete - Put the package in the delete state /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge, +bool pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge, unsigned long Depth, bool FromUser) { if (IsModeChangeOk(ModeDelete, Pkg, Depth, FromUser) == false) - return; + return false; StateCache &P = PkgState[Pkg->ID]; // Check that it is not already marked for delete if ((P.Mode == ModeDelete || P.InstallVer == 0) && (Pkg.Purge() == true || rPurge == false)) - return; + return true; // check if we are allowed to remove the package if (IsDeleteOk(Pkg,rPurge,Depth,FromUser) == false) - return; + return false; P.iFlags &= ~(AutoKept | Purge); if (rPurge == true) @@ -905,6 +854,7 @@ void pkgDepCache::MarkDelete(PkgIterator const &Pkg, bool rPurge, Update(Pkg); AddSizes(Pkg); + return true; } /*}}}*/ // DepCache::IsDeleteOk - check if it is ok to remove this package /*{{{*/ @@ -917,6 +867,7 @@ bool pkgDepCache::IsDeleteOk(PkgIterator const &Pkg,bool rPurge, if (FromUser == false && Pkg->CurrentVer == 0) { StateCache &P = PkgState[Pkg->ID]; + // Status == 2 means this applies for new installs only if (P.InstallVer != 0 && P.Status == 2 && (P.Flags & Flag::Auto) != Flag::Auto) { if (DebugMarker == true) @@ -985,18 +936,18 @@ bool pkgDepCache::IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg, // DepCache::MarkInstall - Put the package in the install state /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, +bool pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, unsigned long Depth, bool FromUser, bool ForceImportantDeps) { if (IsModeChangeOk(ModeInstall, Pkg, Depth, FromUser) == false) - return; + return false; StateCache &P = PkgState[Pkg->ID]; // See if there is even any possible instalation candidate if (P.CandidateVer == 0) - return; + return false; /* Check that it is not already marked for install and that it can be installed */ @@ -1005,13 +956,13 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, P.CandidateVer == (Version *)Pkg.CurrentVer())) { if (P.CandidateVer == (Version *)Pkg.CurrentVer() && P.InstallVer == 0) - MarkKeep(Pkg, false, FromUser, Depth+1); - return; + return MarkKeep(Pkg, false, FromUser, Depth+1); + return true; } // check if we are allowed to install the package if (IsInstallOk(Pkg,AutoInst,Depth,FromUser) == false) - return; + return false; ActionGroup group(*this); P.iFlags &= ~AutoKept; @@ -1046,8 +997,8 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, Update(Pkg); AddSizes(Pkg); - if (AutoInst == false) - return; + if (AutoInst == false || _config->Find("APT::Solver", "internal") != "internal") + return true; if (DebugMarker == true) std::clog << OutputInDepth(Depth) << "MarkInstall " << Pkg << " FU=" << FromUser << std::endl; @@ -1091,7 +1042,7 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, continue; // if the dependency was critical, we can't install it, so remove it again MarkDelete(Pkg,false,Depth + 1, false); - return; + return false; } /* Check if any ImportantDep() (but not Critical) were added @@ -1222,14 +1173,17 @@ void pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, continue; if (PkgState[Pkg->ID].CandidateVer != *I && - Start->Type == Dep::DpkgBreaks) - MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps); - else - MarkDelete(Pkg,false,Depth + 1, false); + Start->Type == Dep::DpkgBreaks && + MarkInstall(Pkg,true,Depth + 1, false, ForceImportantDeps) == true) + continue; + else if (MarkDelete(Pkg,false,Depth + 1, false) == false) + break; } continue; } } + + return Dep.end() == true; } /*}}}*/ // DepCache::IsInstallOk - check if it is ok to install this package /*{{{*/ @@ -1268,7 +1222,7 @@ void pkgDepCache::SetReInstall(PkgIterator const &Pkg,bool To) // DepCache::SetCandidateVersion - Change the candidate version /*{{{*/ // --------------------------------------------------------------------- /* */ -void pkgDepCache::SetCandidateVersion(VerIterator TargetVer, bool const &Pseudo) +void pkgDepCache::SetCandidateVersion(VerIterator TargetVer) { pkgCache::PkgIterator Pkg = TargetVer.ParentPkg(); StateCache &P = PkgState[Pkg->ID]; @@ -1558,7 +1512,7 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep) return true; else if(Dep->Type == pkgCache::Dep::Recommends) { - if ( _config->FindB("APT::Install-Recommends", false)) + if (InstallRecommends) return true; // we suport a special mode to only install-recommends for certain // sections @@ -1569,11 +1523,17 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep) return true; } else if(Dep->Type == pkgCache::Dep::Suggests) - return _config->FindB("APT::Install-Suggests", false); + return InstallSuggests; return false; } /*}}}*/ +// Policy::GetPriority - Get the priority of the package pin /*{{{*/ +signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const &Pkg) +{ return 0; }; +signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const &File) +{ return 0; }; + /*}}}*/ pkgDepCache::InRootSetFunc *pkgDepCache::GetRootSetFunc() /*{{{*/ { DefaultRootSetFunc *f = new DefaultRootSetFunc; @@ -1599,6 +1559,9 @@ bool pkgDepCache::MarkFollowsSuggests() // pkgDepCache::MarkRequired - the main mark algorithm /*{{{*/ bool pkgDepCache::MarkRequired(InRootSetFunc &userFunc) { + if (_config->Find("APT::Solver", "internal") != "internal") + return true; + bool follow_recommends; bool follow_suggests; bool debug_autoremove = _config->FindB("Debug::pkgAutoRemove",false); diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h index 760f0b589..66cb7dbab 100644 --- a/apt-pkg/depcache.h +++ b/apt-pkg/depcache.h @@ -233,6 +233,7 @@ class pkgDepCache : protected pkgCache::Namespace inline bool Delete() const {return Mode == ModeDelete;}; inline bool Purge() const {return Delete() == true && (iFlags & pkgDepCache::Purge) == pkgDepCache::Purge; }; inline bool Keep() const {return Mode == ModeKeep;}; + inline bool Protect() const {return (iFlags & Protected) == Protected;}; inline bool Upgrade() const {return Status > 0 && Mode == ModeInstall;}; inline bool Upgradable() const {return Status >= 1;}; inline bool Downgrade() const {return Status < 0 && Mode == ModeInstall;}; @@ -257,11 +258,21 @@ class pkgDepCache : protected pkgCache::Namespace class Policy { public: - + Policy() { + InstallRecommends = _config->FindB("APT::Install-Recommends", false); + InstallSuggests = _config->FindB("APT::Install-Suggests", false); + } + virtual VerIterator GetCandidateVer(PkgIterator const &Pkg); virtual bool IsImportantDep(DepIterator const &Dep); - + virtual signed short GetPriority(PkgIterator const &Pkg); + virtual signed short GetPriority(PkgFileIterator const &File); + virtual ~Policy() {}; + + private: + bool InstallRecommends; + bool InstallSuggests; }; private: @@ -315,11 +326,10 @@ class pkgDepCache : protected pkgCache::Namespace void Update(PkgIterator const &P); // Count manipulators - void AddSizes(const PkgIterator &Pkg, bool const &Invert = false); + void AddSizes(const PkgIterator &Pkg, bool const Invert = false); inline void RemoveSizes(const PkgIterator &Pkg) {AddSizes(Pkg, true);}; - void AddSizes(const PkgIterator &Pkg,signed long Mult) __deprecated; - void AddStates(const PkgIterator &Pkg,int Add = 1); - inline void RemoveStates(const PkgIterator &Pkg) {AddStates(Pkg,-1);}; + void AddStates(const PkgIterator &Pkg, bool const Invert = false); + inline void RemoveStates(const PkgIterator &Pkg) {AddStates(Pkg,true);}; public: @@ -388,18 +398,17 @@ class pkgDepCache : protected pkgCache::Namespace /** \name State Manipulators */ // @{ - void MarkKeep(PkgIterator const &Pkg, bool Soft = false, + bool MarkKeep(PkgIterator const &Pkg, bool Soft = false, bool FromUser = true, unsigned long Depth = 0); - void MarkDelete(PkgIterator const &Pkg, bool MarkPurge = 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. @@ -484,13 +493,6 @@ class pkgDepCache : protected pkgCache::Namespace virtual ~pkgDepCache(); private: - // Helper for Update(OpProgress) to remove pseudoinstalled arch all packages - // FIXME: they are private so shouldn't affect abi, but just in case… - __deprecated bool RemovePseudoInstalledPkg(PkgIterator &Pkg, std::set<unsigned long> &recheck) { return true; }; - __deprecated bool ReInstallPseudoForGroup(unsigned long const &Grp, std::set<unsigned long> &recheck) { return true; }; - __deprecated bool ReInstallPseudoForGroup(pkgCache::PkgIterator const &P, std::set<unsigned long> &recheck) { return true; }; - - bool IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg, unsigned long const Depth, bool const FromUser); }; diff --git a/apt-pkg/edsp.cc b/apt-pkg/edsp.cc new file mode 100644 index 000000000..4d2230613 --- /dev/null +++ b/apt-pkg/edsp.cc @@ -0,0 +1,564 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + Set of methods to help writing and reading everything needed for EDSP + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#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 <apti18n.h> +#include <limits> + +#include <stdio.h> + /*}}}*/ + +// we could use pkgCache::DepType and ::Priority, but these would be localized strings… +const char * const EDSP::PrioMap[] = {0, "important", "required", "standard", + "optional", "extra"}; +const char * const EDSP::DepMap[] = {"", "Depends", "Pre-Depends", "Suggests", + "Recommends" , "Conflicts", "Replaces", + "Obsoletes", "Breaks", "Enhances"}; + +// EDSP::WriteScenario - to the given file descriptor /*{{{*/ +bool EDSP::WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress) +{ + if (Progress != NULL) + Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver")); + unsigned long p = 0; + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg) + for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver, ++p) + { + WriteScenarioVersion(Cache, output, Pkg, Ver); + WriteScenarioDependency(Cache, output, Pkg, Ver); + fprintf(output, "\n"); + if (Progress != NULL && p % 100 == 0) + Progress->Progress(p); + } + return true; +} + /*}}}*/ +// EDSP::WriteLimitedScenario - to the given file descriptor /*{{{*/ +bool EDSP::WriteLimitedScenario(pkgDepCache &Cache, FILE* output, + APT::PackageSet const &pkgset, + OpProgress *Progress) +{ + if (Progress != NULL) + Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver")); + unsigned long p = 0; + for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg, ++p) + for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver) + { + WriteScenarioVersion(Cache, output, Pkg, Ver); + WriteScenarioLimitedDependency(Cache, output, Pkg, Ver, pkgset); + fprintf(output, "\n"); + if (Progress != NULL && p % 100 == 0) + Progress->Progress(p); + } + if (Progress != NULL) + Progress->Done(); + return true; +} + /*}}}*/ +// EDSP::WriteScenarioVersion /*{{{*/ +void EDSP::WriteScenarioVersion(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver) +{ + fprintf(output, "Package: %s\n", Pkg.Name()); + fprintf(output, "Architecture: %s\n", Ver.Arch()); + fprintf(output, "Version: %s\n", Ver.VerStr()); + if (Pkg.CurrentVer() == Ver) + fprintf(output, "Installed: yes\n"); + if (Pkg->SelectedState == pkgCache::State::Hold || + (Cache[Pkg].Keep() == true && Cache[Pkg].Protect() == true)) + fprintf(output, "Hold: yes\n"); + fprintf(output, "APT-ID: %d\n", Ver->ID); + fprintf(output, "Priority: %s\n", PrioMap[Ver->Priority]); + if ((Pkg->Flags & pkgCache::Flag::Essential) == pkgCache::Flag::Essential) + fprintf(output, "Essential: yes\n"); + fprintf(output, "Section: %s\n", Ver.Section()); + if ((Ver->MultiArch & pkgCache::Version::Allowed) == pkgCache::Version::Allowed) + fprintf(output, "Multi-Arch: allowed\n"); + else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign) + fprintf(output, "Multi-Arch: foreign\n"); + else if ((Ver->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same) + fprintf(output, "Multi-Arch: same\n"); + signed short Pin = std::numeric_limits<signed short>::min(); + for (pkgCache::VerFileIterator File = Ver.FileList(); File.end() == false; ++File) { + signed short const p = Cache.GetPolicy().GetPriority(File.File()); + if (Pin < p) + Pin = p; + } + fprintf(output, "APT-Pin: %d\n", Pin); + if (Cache.GetCandidateVer(Pkg) == Ver) + fprintf(output, "APT-Candidate: yes\n"); + if ((Cache[Pkg].Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto) + fprintf(output, "APT-Automatic: yes\n"); +} + /*}}}*/ +// EDSP::WriteScenarioDependency /*{{{*/ +void EDSP::WriteScenarioDependency(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver) +{ + std::string dependencies[pkgCache::Dep::Enhances + 1]; + bool orGroup = false; + for (pkgCache::DepIterator Dep = Ver.DependsList(); Dep.end() == false; ++Dep) + { + // Ignore implicit dependencies for multiarch here + if (strcmp(Pkg.Arch(), Dep.TargetPkg().Arch()) != 0) + continue; + if (orGroup == false) + dependencies[Dep->Type].append(", "); + dependencies[Dep->Type].append(Dep.TargetPkg().Name()); + if (Dep->Version != 0) + dependencies[Dep->Type].append(" (").append(pkgCache::CompTypeDeb(Dep->CompareOp)).append(" ").append(Dep.TargetVer()).append(")"); + if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + { + dependencies[Dep->Type].append(" | "); + orGroup = true; + } + else + orGroup = false; + } + for (int i = 1; i < pkgCache::Dep::Enhances + 1; ++i) + if (dependencies[i].empty() == false) + fprintf(output, "%s: %s\n", DepMap[i], dependencies[i].c_str()+2); + string provides; + for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); Prv.end() == false; ++Prv) + { + // Ignore implicit provides for multiarch here + if (strcmp(Pkg.Arch(), Prv.ParentPkg().Arch()) != 0 || strcmp(Pkg.Name(),Prv.Name()) == 0) + continue; + provides.append(", ").append(Prv.Name()); + } + if (provides.empty() == false) + fprintf(output, "Provides: %s\n", provides.c_str()+2); +} + /*}}}*/ +// EDSP::WriteScenarioLimitedDependency /*{{{*/ +void EDSP::WriteScenarioLimitedDependency(pkgDepCache &Cache, FILE* output, + pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver, + APT::PackageSet const &pkgset) +{ + std::string dependencies[pkgCache::Dep::Enhances + 1]; + bool orGroup = false; + for (pkgCache::DepIterator Dep = Ver.DependsList(); Dep.end() == false; ++Dep) + { + // Ignore implicit dependencies for multiarch here + if (strcmp(Pkg.Arch(), Dep.TargetPkg().Arch()) != 0) + continue; + if (orGroup == false) + { + if (pkgset.find(Dep.TargetPkg()) == pkgset.end()) + continue; + dependencies[Dep->Type].append(", "); + } + else if (pkgset.find(Dep.TargetPkg()) == pkgset.end()) + { + if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + continue; + dependencies[Dep->Type].erase(dependencies[Dep->Type].end()-3, dependencies[Dep->Type].end()); + orGroup = false; + continue; + } + dependencies[Dep->Type].append(Dep.TargetPkg().Name()); + if (Dep->Version != 0) + dependencies[Dep->Type].append(" (").append(pkgCache::CompTypeDeb(Dep->CompareOp)).append(" ").append(Dep.TargetVer()).append(")"); + if ((Dep->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) + { + dependencies[Dep->Type].append(" | "); + orGroup = true; + } + else + orGroup = false; + } + for (int i = 1; i < pkgCache::Dep::Enhances + 1; ++i) + if (dependencies[i].empty() == false) + fprintf(output, "%s: %s\n", DepMap[i], dependencies[i].c_str()+2); + string provides; + for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); Prv.end() == false; ++Prv) + { + // Ignore implicit provides for multiarch here + if (strcmp(Pkg.Arch(), Prv.ParentPkg().Arch()) != 0 || strcmp(Pkg.Name(),Prv.Name()) == 0) + continue; + if (pkgset.find(Prv.ParentPkg()) == pkgset.end()) + continue; + provides.append(", ").append(Prv.Name()); + } + if (provides.empty() == false) + fprintf(output, "Provides: %s\n", provides.c_str()+2); +} + /*}}}*/ +// EDSP::WriteRequest - to the given file descriptor /*{{{*/ +bool EDSP::WriteRequest(pkgDepCache &Cache, FILE* output, bool const Upgrade, + bool const DistUpgrade, bool const AutoRemove, + OpProgress *Progress) +{ + if (Progress != NULL) + Progress->SubProgress(Cache.Head().PackageCount, _("Send request to solver")); + unsigned long p = 0; + string del, inst; + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg, ++p) + { + if (Progress != NULL && p % 100 == 0) + Progress->Progress(p); + string* req; + if (Cache[Pkg].Delete() == true) + req = &del; + else if (Cache[Pkg].NewInstall() == true || Cache[Pkg].Upgrade() == true) + req = &inst; + else + continue; + req->append(" ").append(Pkg.FullName()); + } + fprintf(output, "Request: EDSP 0.4\n"); + if (del.empty() == false) + fprintf(output, "Remove: %s\n", del.c_str()+1); + if (inst.empty() == false) + fprintf(output, "Install: %s\n", inst.c_str()+1); + if (Upgrade == true) + fprintf(output, "Upgrade: yes\n"); + if (DistUpgrade == true) + fprintf(output, "Dist-Upgrade: yes\n"); + if (AutoRemove == true) + fprintf(output, "Autoremove: yes\n"); + if (_config->FindB("APT::Solver::Strict-Pinning", true) == false) + fprintf(output, "Strict-Pinning: no\n"); + string solverpref("APT::Solver::"); + solverpref.append(_config->Find("APT::Solver", "internal")).append("::Preferences"); + if (_config->Exists(solverpref) == true) + fprintf(output, "Preferences: %s\n", _config->Find(solverpref,"").c_str()); + fprintf(output, "\n"); + + return true; +} + /*}}}*/ +// EDSP::ReadResponse - from the given file descriptor /*{{{*/ +bool EDSP::ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progress) { + /* We build an map id to mmap offset here + In theory we could use the offset as ID, but then VersionCount + couldn't be used to create other versionmappings anymore and it + would be too easy for a (buggy) solver to segfault APT… */ + unsigned long long const VersionCount = Cache.Head().VersionCount; + unsigned long VerIdx[VersionCount]; + for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; ++P) { + for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; ++V) + VerIdx[V->ID] = V.Index(); + Cache[P].Marked = true; + Cache[P].Garbage = false; + } + + FileFd in; + in.OpenDescriptor(input, FileFd::ReadOnly); + pkgTagFile response(&in, 100); + pkgTagSection section; + + while (response.Step(section) == true) { + std::string type; + if (section.Exists("Install") == true) + type = "Install"; + else if (section.Exists("Remove") == true) + type = "Remove"; + else if (section.Exists("Progress") == true) { + if (Progress != NULL) { + string msg = section.FindS("Message"); + if (msg.empty() == true) + msg = _("Prepare for receiving solution"); + Progress->SubProgress(100, msg, section.FindI("Percentage", 0)); + } + continue; + } else if (section.Exists("Error") == true) { + std::string msg = SubstVar(SubstVar(section.FindS("Message"), "\n .\n", "\n\n"), "\n ", "\n"); + if (msg.empty() == true) { + msg = _("External solver failed without a proper error message"); + _error->Error(msg.c_str()); + } else + _error->Error("External solver failed with: %s", msg.substr(0,msg.find('\n')).c_str()); + if (Progress != NULL) + Progress->Done(); + std::cerr << "The solver encountered an error of type: " << section.FindS("Error") << std::endl; + std::cerr << "The following information might help you to understand what is wrong:" << std::endl; + std::cerr << msg << std::endl << std::endl; + return false; + } else if (section.Exists("Autoremove") == true) + type = "Autoremove"; + else + continue; + + size_t const id = section.FindULL(type.c_str(), VersionCount); + if (id == VersionCount) { + _error->Warning("Unable to parse %s request with id value '%s'!", type.c_str(), section.FindS(type.c_str()).c_str()); + continue; + } else if (id > Cache.Head().VersionCount) { + _error->Warning("ID value '%s' in %s request stanza is to high to refer to a known version!", section.FindS(type.c_str()).c_str(), type.c_str()); + continue; + } + + pkgCache::VerIterator Ver(Cache.GetCache(), Cache.GetCache().VerP + VerIdx[id]); + Cache.SetCandidateVersion(Ver); + if (type == "Install") + Cache.MarkInstall(Ver.ParentPkg(), false, 0, false); + else if (type == "Remove") + Cache.MarkDelete(Ver.ParentPkg(), false); + else if (type == "Autoremove") { + Cache[Ver.ParentPkg()].Marked = false; + Cache[Ver.ParentPkg()].Garbage = true; + } + } + return true; +} + /*}}}*/ +// EDSP::ReadLine - first line from the given file descriptor /*{{{*/ +// --------------------------------------------------------------------- +/* Little helper method to read a complete line into a string. Similar to + fgets but we need to use the low-level read() here as otherwise the + listparser will be confused later on as mixing of fgets and read isn't + a supported action according to the manpages and results are undefined */ +bool EDSP::ReadLine(int const input, std::string &line) { + char one; + ssize_t data = 0; + line.erase(); + line.reserve(100); + while ((data = read(input, &one, sizeof(one))) != -1) { + if (data != 1) + continue; + if (one == '\n') + return true; + if (one == '\r') + continue; + if (line.empty() == true && isblank(one) != 0) + continue; + line += one; + } + return false; +} + /*}}}*/ +// EDSP::StringToBool - convert yes/no to bool /*{{{*/ +// --------------------------------------------------------------------- +/* we are not as lazy as we are in the global StringToBool as we really + only accept yes/no here - but we will ignore leading spaces */ +bool EDSP::StringToBool(char const *answer, bool const defValue) { + for (; isspace(*answer) != 0; ++answer); + if (strncasecmp(answer, "yes", 3) == 0) + return true; + else if (strncasecmp(answer, "no", 2) == 0) + return false; + else + _error->Warning("Value '%s' is not a boolean 'yes' or 'no'!", answer); + return defValue; +} + /*}}}*/ +// EDSP::ReadRequest - first stanza from the given file descriptor /*{{{*/ +bool EDSP::ReadRequest(int const input, std::list<std::string> &install, + std::list<std::string> &remove, bool &upgrade, + bool &distUpgrade, bool &autoRemove) +{ + install.clear(); + remove.clear(); + upgrade = false; + distUpgrade = false; + autoRemove = false; + std::string line; + while (ReadLine(input, line) == true) + { + // Skip empty lines before request + if (line.empty() == true) + continue; + // The first Tag must be a request, so search for it + if (line.compare(0, 8, "Request:") != 0) + continue; + + while (ReadLine(input, line) == true) + { + // empty lines are the end of the request + if (line.empty() == true) + return true; + + std::list<std::string> *request = NULL; + if (line.compare(0, 8, "Install:") == 0) + { + line.erase(0, 8); + request = &install; + } + else if (line.compare(0, 7, "Remove:") == 0) + { + line.erase(0, 7); + request = &remove; + } + else if (line.compare(0, 8, "Upgrade:") == 0) + upgrade = EDSP::StringToBool(line.c_str() + 9, false); + else if (line.compare(0, 13, "Dist-Upgrade:") == 0) + distUpgrade = EDSP::StringToBool(line.c_str() + 14, false); + else if (line.compare(0, 11, "Autoremove:") == 0) + autoRemove = EDSP::StringToBool(line.c_str() + 12, false); + else + _error->Warning("Unknown line in EDSP Request stanza: %s", line.c_str()); + + if (request == NULL) + continue; + size_t end = line.length(); + do { + size_t begin = line.rfind(' '); + if (begin == std::string::npos) + { + request->push_back(line.substr(0, end)); + break; + } + else if (begin < end) + request->push_back(line.substr(begin + 1, end)); + line.erase(begin); + end = line.find_last_not_of(' '); + } while (end != std::string::npos); + } + } + return false; +} + /*}}}*/ +// EDSP::ApplyRequest - first stanza from the given file descriptor /*{{{*/ +bool EDSP::ApplyRequest(std::list<std::string> const &install, + std::list<std::string> const &remove, + pkgDepCache &Cache) +{ + for (std::list<std::string>::const_iterator i = install.begin(); + i != install.end(); ++i) { + pkgCache::PkgIterator P = Cache.FindPkg(*i); + if (P.end() == true) + _error->Warning("Package %s is not known, so can't be installed", i->c_str()); + else + Cache.MarkInstall(P, false); + } + + for (std::list<std::string>::const_iterator i = remove.begin(); + i != remove.end(); ++i) { + pkgCache::PkgIterator P = Cache.FindPkg(*i); + if (P.end() == true) + _error->Warning("Package %s is not known, so can't be installed", i->c_str()); + else + Cache.MarkDelete(P); + } + return true; +} + /*}}}*/ +// EDSP::WriteSolution - to the given file descriptor /*{{{*/ +bool EDSP::WriteSolution(pkgDepCache &Cache, FILE* output) +{ + bool const Debug = _config->FindB("Debug::EDSP::WriteSolution", false); + for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg) + { + if (Cache[Pkg].Delete() == true) + { + fprintf(output, "Remove: %d\n", Pkg.CurrentVer()->ID); + if (Debug == true) + fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr()); + } + else if (Cache[Pkg].NewInstall() == true || Cache[Pkg].Upgrade() == true) + { + fprintf(output, "Install: %d\n", Cache.GetCandidateVer(Pkg)->ID); + if (Debug == true) + fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Cache.GetCandidateVer(Pkg).VerStr()); + } + else if (Cache[Pkg].Garbage == true) + { + fprintf(output, "Autoremove: %d\n", Pkg.CurrentVer()->ID); + if (Debug == true) + fprintf(output, "Package: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr()); + fprintf(stderr, "Autoremove: %s\nVersion: %s\n", Pkg.FullName().c_str(), Pkg.CurrentVer().VerStr()); + } + else + continue; + fprintf(output, "\n"); + } + + return true; +} + /*}}}*/ +// EDSP::WriteProgess - pulse to the given file descriptor /*{{{*/ +bool EDSP::WriteProgress(unsigned short const percent, const char* const message, FILE* output) { + fprintf(output, "Progress: %s\n", TimeRFC1123(time(NULL)).c_str()); + fprintf(output, "Percentage: %d\n", percent); + fprintf(output, "Message: %s\n\n", message); + fflush(output); + return true; +} + /*}}}*/ +// EDSP::WriteError - format an error message to be send to file descriptor /*{{{*/ +bool EDSP::WriteError(char const * const uuid, std::string const &message, FILE* output) { + fprintf(output, "Error: %s\n", uuid); + fprintf(output, "Message: %s\n\n", SubstVar(SubstVar(message, "\n\n", "\n.\n"), "\n", "\n ").c_str()); + return true; +} + /*}}}*/ +// EDSP::ExecuteSolver - fork requested solver and setup ipc pipes {{{*/ +bool EDSP::ExecuteSolver(const char* const solver, int *solver_in, int *solver_out) { + std::vector<std::string> const solverDirs = _config->FindVector("Dir::Bin::Solvers"); + std::string file; + for (std::vector<std::string>::const_iterator dir = solverDirs.begin(); + dir != solverDirs.end(); ++dir) { + file = flCombine(*dir, solver); + if (RealFileExists(file.c_str()) == true) + break; + file.clear(); + } + + if (file.empty() == true) + return _error->Error("Can't call external solver '%s' as it is not in a configured directory!", solver); + int external[4] = {-1, -1, -1, -1}; + if (pipe(external) != 0 || pipe(external + 2) != 0) + return _error->Errno("Resolve", "Can't create needed IPC pipes for EDSP"); + for (int i = 0; i < 4; ++i) + SetCloseExec(external[i], true); + + pid_t Solver = ExecFork(); + if (Solver == 0) { + dup2(external[0], STDIN_FILENO); + dup2(external[3], STDOUT_FILENO); + const char* calling[2] = { file.c_str(), 0 }; + execv(calling[0], (char**) calling); + std::cerr << "Failed to execute solver '" << solver << "'!" << std::endl; + _exit(100); + } + close(external[0]); + close(external[3]); + + if (WaitFd(external[1], true, 5) == false) + return _error->Errno("Resolve", "Timed out while Waiting on availability of solver stdin"); + + *solver_in = external[1]; + *solver_out = external[2]; + return true; +} + /*}}}*/ +// EDSP::ResolveExternal - resolve problems by asking external for help {{{*/ +bool EDSP::ResolveExternal(const char* const solver, pkgDepCache &Cache, + bool const upgrade, bool const distUpgrade, + bool const autoRemove, OpProgress *Progress) { + int solver_in, solver_out; + if (EDSP::ExecuteSolver(solver, &solver_in, &solver_out) == false) + return false; + + FILE* output = fdopen(solver_in, "w"); + if (output == NULL) + return _error->Errno("Resolve", "fdopen on solver stdin failed"); + + if (Progress != NULL) + Progress->OverallProgress(0, 100, 5, _("Execute external solver")); + EDSP::WriteRequest(Cache, output, upgrade, distUpgrade, autoRemove, Progress); + if (Progress != NULL) + Progress->OverallProgress(5, 100, 20, _("Execute external solver")); + EDSP::WriteScenario(Cache, output, Progress); + fclose(output); + + if (Progress != NULL) + Progress->OverallProgress(25, 100, 75, _("Execute external solver")); + if (EDSP::ReadResponse(solver_out, Cache, Progress) == false) + return false; + + return true; +} + /*}}}*/ diff --git a/apt-pkg/edsp.h b/apt-pkg/edsp.h new file mode 100644 index 000000000..743c3f5d1 --- /dev/null +++ b/apt-pkg/edsp.h @@ -0,0 +1,222 @@ +// -*- mode: cpp; mode: fold -*- +/** Description \file edsp.h {{{ + ###################################################################### + Set of methods to help writing and reading everything needed for EDSP + with the noteable exception of reading a scenario for conversion into + a Cache as this is handled by edsp interface for listparser and friends + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_EDSP_H +#define PKGLIB_EDSP_H + +#include <apt-pkg/depcache.h> +#include <apt-pkg/cacheset.h> +#include <apt-pkg/progress.h> + +#include <string> + +class EDSP /*{{{*/ +{ + // we could use pkgCache::DepType and ::Priority, but these would be localized strings… + static const char * const PrioMap[]; + static const char * const DepMap[]; + + bool static ReadLine(int const input, std::string &line); + bool static StringToBool(char const *answer, bool const defValue); + + void static WriteScenarioVersion(pkgDepCache &Cache, FILE* output, + pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver); + void static WriteScenarioDependency(pkgDepCache &Cache, FILE* output, + pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver); + void static WriteScenarioLimitedDependency(pkgDepCache &Cache, FILE* output, + pkgCache::PkgIterator const &Pkg, + pkgCache::VerIterator const &Ver, + APT::PackageSet const &pkgset); +public: + /** \brief creates the EDSP request stanza + * + * In the EDSP protocol the first thing send to the resolver is a stanza + * encoding the request. This method will write this stanza by looking at + * the given Cache and requests the installation of all packages which were + * marked for installation in it (equally for remove). + * + * \param Cache in which the request is encoded + * \param output is written to this "file" + * \param upgrade is true if it is an request like apt-get upgrade + * \param distUpgrade is true if it is a request like apt-get dist-upgrade + * \param autoRemove is true if removal of unneeded packages should be performed + * \param Progress is an instance to report progress to + * + * \return true if request was composed successfully, otherwise false + */ + bool static WriteRequest(pkgDepCache &Cache, FILE* output, + bool const upgrade = false, + bool const distUpgrade = false, + bool const autoRemove = false, + OpProgress *Progress = NULL); + + /** \brief creates the scenario representing the package universe + * + * After the request all known information about a package are send + * to the solver. The output looks similar to a Packages or status file + * + * All packages and version included in this Cache are send, even if + * it doesn't make sense from an APT resolver point of view like versions + * with a negative pin to enable the solver to propose even that as a + * solution or at least to be able to give a hint what can be done to + * statisfy a request. + * + * \param Cache is the known package universe + * \param output is written to this "file" + * \param Progress is an instance to report progress to + * + * \return true if universe was composed successfully, otherwise false + */ + bool static WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress = NULL); + + /** \brief creates a limited scenario representing the package universe + * + * This method works similar to #WriteScenario as it works in the same + * way but doesn't send the complete universe to the solver but only + * packages included in the pkgset which will have only dependencies + * on packages which are in the given set. All other dependencies will + * be removed, so that this method can be used to create testcases + * + * \param Cache is the known package universe + * \param output is written to this "file" + * \param pkgset is a set of packages the universe should be limited to + * \param Progress is an instance to report progress to + * + * \return true if universe was composed successfully, otherwise false + */ + bool static WriteLimitedScenario(pkgDepCache &Cache, FILE* output, + APT::PackageSet const &pkgset, + OpProgress *Progress = NULL); + + /** \brief waits and acts on the information returned from the solver + * + * This method takes care of interpreting whatever the solver sends + * through the standard output like a solution, progress or an error. + * The main thread should handle his control over to this method to + * wait for the solver to finish the given task + * + * \param input file descriptor with the response from the solver + * \param Cache the solution should be applied on if any + * \param Progress is an instance to report progress to + * + * \return true if a solution is found and applied correctly, otherwise false + */ + bool static ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progress = NULL); + + /** \brief search and read the request stanza for action later + * + * This method while ignore the input up to the point it finds the + * Request: line as an indicator for the Request stanza. + * The request is stored in the parameters install and remove then, + * as the cache isn't build yet as the scenario follows the request. + * + * \param input file descriptor with the edsp input for the solver + * \param[out] install is a list which gets populated with requested installs + * \param[out] remove is a list which gets populated with requested removals + * \param[out] upgrade is true if it is a request like apt-get upgrade + * \param[out] distUpgrade is true if it is a request like apt-get dist-upgrade + * \param[out] autoRemove is true if removal of uneeded packages should be performed + * + * \return true if the request could be found and worked on, otherwise false + */ + bool static ReadRequest(int const input, std::list<std::string> &install, + std::list<std::string> &remove, bool &upgrade, + bool &distUpgrade, bool &autoRemove); + + /** \brief takes the request lists and applies it on the cache + * + * The lists as created by #ReadRequest will be used to find the + * packages in question and mark them for install/remove. + * No solving is done and no auto-install/-remove. + * + * \param install is a list of packages to mark for installation + * \param remove is a list of packages to mark for removal + * \param Cache is there the markers should be set + * + * \return false if the request couldn't be applied, true otherwise + */ + bool static ApplyRequest(std::list<std::string> const &install, + std::list<std::string> const &remove, + pkgDepCache &Cache); + + /** \brief encodes the changes in the Cache as a EDSP solution + * + * The markers in the Cache are observed and send to given + * file. The solution isn't checked for consistency or alike, + * so even broken solutions can be written successfully, + * but the front-end revicing it will properly fail then. + * + * \param Cache which represents the solution + * \param output to write the stanzas forming the solution to + * + * \return true if solution could be written, otherwise false + */ + bool static WriteSolution(pkgDepCache &Cache, FILE* output); + + /** \brief sends a progress report + * + * \param percent of the solving completed + * \param message the solver wants the user to see + * \param output the front-end listens for progress report + */ + bool static WriteProgress(unsigned short const percent, const char* const message, FILE* output); + + /** \brief sends an error report + * + * Solvers are expected to execute successfully even if + * they were unable to calculate a solution for a given task. + * Obviously they can't send a solution through, so this + * methods deals with formatting an error message correctly + * so that the front-ends can recieve and display it. + * + * The first line of the message should be a short description + * of the error so it can be used for dialog titles or alike + * + * \param uuid of this error message + * \param message is free form text to discribe the error + * \param output the front-end listens for error messages + */ + bool static WriteError(char const * const uuid, std::string const &message, FILE* output); + + + /** \brief executes the given solver and returns the pipe ends + * + * The given solver is executed if it can be found in one of the + * configured directories and setup for it is performed. + * + * \param solver to execute + * \param[out] solver_in will be the stdin of the solver + * \param[out] solver_out will be the stdout of the solver + * + * \return true if the solver could be started and the pipes + * are set up correctly, otherwise false and the pipes are invalid + */ + bool static ExecuteSolver(const char* const solver, int *solver_in, int *solver_out); + + /** \brief call an external resolver to handle the request + * + * This method wraps all the methods above to call an external solver + * + * \param solver to execute + * \param Cache with the problem and as universe to work in + * \param upgrade is true if it is a request like apt-get upgrade + * \param distUpgrade is true if it is a request like apt-get dist-upgrade + * \param autoRemove is true if unneeded packages should be removed + * \param Progress is an instance to report progress to + * + * \return true if the solver has successfully solved the problem, + * otherwise false + */ + bool static ResolveExternal(const char* const solver, pkgDepCache &Cache, + bool const upgrade, bool const distUpgrade, + bool const autoRemove, OpProgress *Progress = NULL); +}; + /*}}}*/ +#endif diff --git a/apt-pkg/edsp/edspindexfile.cc b/apt-pkg/edsp/edspindexfile.cc new file mode 100644 index 000000000..f5881e663 --- /dev/null +++ b/apt-pkg/edsp/edspindexfile.cc @@ -0,0 +1,78 @@ +// -*- 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 <apt-pkg/edspindexfile.h> +#include <apt-pkg/edsplistparser.h> +#include <apt-pkg/sourcelist.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/progress.h> +#include <apt-pkg/error.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/acquire-item.h> + +#include <sys/stat.h> + /*}}}*/ + +// edspIndex::edspIndex - Constructor /*{{{*/ +// --------------------------------------------------------------------- +/* */ +edspIndex::edspIndex(string File) : debStatusIndex(File) +{ +} + /*}}}*/ +// StatusIndex::Merge - Load the index file into a cache /*{{{*/ +bool edspIndex::Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const +{ + FileFd Pkg; + if (File != "stdin") + Pkg.Open(File, FileFd::ReadOnly); + else + Pkg.OpenDescriptor(STDIN_FILENO, FileFd::ReadOnly); + if (_error->PendingError() == true) + return false; + edspListParser Parser(&Pkg); + if (_error->PendingError() == true) + return false; + + if (Prog != NULL) + Prog->SubProgress(0,File); + if (Gen.SelectFile(File,string(),*this) == false) + return _error->Error("Problem with SelectFile %s",File.c_str()); + + // Store the IMS information + pkgCache::PkgFileIterator CFile = Gen.GetCurFile(); + struct stat St; + if (fstat(Pkg.Fd(),&St) != 0) + return _error->Errno("fstat","Failed to stat"); + CFile->Size = St.st_size; + CFile->mtime = St.st_mtime; + CFile->Archive = Gen.WriteUniqString("edsp::scenario"); + + if (Gen.MergeList(Parser) == false) + return _error->Error("Problem with MergeList %s",File.c_str()); + return true; +} + /*}}}*/ +// Index File types for APT /*{{{*/ +class edspIFType: public pkgIndexFile::Type +{ + public: + virtual pkgRecords::Parser *CreatePkgParser(pkgCache::PkgFileIterator File) const + { + // we don't have a record parser for this type as the file is not presistent + return NULL; + }; + edspIFType() {Label = "EDSP scenario file";}; +}; +static edspIFType _apt_Universe; + +const pkgIndexFile::Type *edspIndex::GetType() const +{ + return &_apt_Universe; +} + /*}}}*/ diff --git a/apt-pkg/edsp/edspindexfile.h b/apt-pkg/edsp/edspindexfile.h new file mode 100644 index 000000000..0053388eb --- /dev/null +++ b/apt-pkg/edsp/edspindexfile.h @@ -0,0 +1,28 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + The scenario file is designed to work as an intermediate file between + APT and the resolver. Its on propose very similar to a dpkg status file + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_EDSPINDEXFILE_H +#define PKGLIB_EDSPINDEXFILE_H + +#include <apt-pkg/indexfile.h> +#include <apt-pkg/debindexfile.h> + +class edspIndex : public debStatusIndex +{ + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + public: + + virtual const Type *GetType() const; + + virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const; + + edspIndex(string File); +}; + +#endif diff --git a/apt-pkg/edsp/edsplistparser.cc b/apt-pkg/edsp/edsplistparser.cc new file mode 100644 index 000000000..3349e8cce --- /dev/null +++ b/apt-pkg/edsp/edsplistparser.cc @@ -0,0 +1,90 @@ +// -*- 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 <apt-pkg/edsplistparser.h> +#include <apt-pkg/error.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/md5.h> +#include <apt-pkg/macros.h> + /*}}}*/ + +// ListParser::edspListParser - Constructor /*{{{*/ +edspListParser::edspListParser(FileFd *File, string const &Arch) : debListParser(File, Arch) +{} + /*}}}*/ +// ListParser::NewVersion - Fill in the version structure /*{{{*/ +bool edspListParser::NewVersion(pkgCache::VerIterator &Ver) +{ + Ver->ID = Section.FindI("APT-ID", Ver->ID); + return debListParser::NewVersion(Ver); +} + /*}}}*/ +// ListParser::Description - Return the description string /*{{{*/ +// --------------------------------------------------------------------- +/* Sorry, no description for the resolvers… */ +string edspListParser::Description() +{ + return ""; +} +string edspListParser::DescriptionLanguage() +{ + return ""; +} +MD5SumValue edspListParser::Description_md5() +{ + return MD5SumValue(""); +} + /*}}}*/ +// ListParser::VersionHash - Compute a unique hash for this version /*{{{*/ +// --------------------------------------------------------------------- +/* */ +unsigned short edspListParser::VersionHash() +{ + if (Section.Exists("APT-Hash") == true) + return Section.FindI("APT-Hash"); + else if (Section.Exists("APT-ID") == true) + return Section.FindI("APT-ID"); + return 0; +} + /*}}}*/ +// ListParser::ParseStatus - Parse the status field /*{{{*/ +// --------------------------------------------------------------------- +/* The Status: line here is not a normal dpkg one but just one which tells + use if the package is installed or not, where missing means not. */ +bool edspListParser::ParseStatus(pkgCache::PkgIterator &Pkg, + pkgCache::VerIterator &Ver) +{ + unsigned long state = 0; + if (Section.FindFlag("Hold",state,pkgCache::State::Hold) == false) + return false; + if (state != 0) + Pkg->SelectedState = pkgCache::State::Hold; + + state = 0; + if (Section.FindFlag("Installed",state,pkgCache::State::Installed) == false) + return false; + if (state != 0) + { + Pkg->CurrentState = pkgCache::State::Installed; + Pkg->CurrentVer = Ver.Index(); + } + + return true; +} + /*}}}*/ +// ListParser::LoadReleaseInfo - Load the release information /*{{{*/ +bool edspListParser::LoadReleaseInfo(pkgCache::PkgFileIterator &FileI, + FileFd &File, string component) +{ + return true; +} + /*}}}*/ diff --git a/apt-pkg/edsp/edsplistparser.h b/apt-pkg/edsp/edsplistparser.h new file mode 100644 index 000000000..ec9f09905 --- /dev/null +++ b/apt-pkg/edsp/edsplistparser.h @@ -0,0 +1,38 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + + EDSP Package List Parser - This implements the abstract parser + interface for the APT specific intermediate format which is passed + to external resolvers + + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_EDSPLISTPARSER_H +#define PKGLIB_EDSPLISTPARSER_H + +#include <apt-pkg/deblistparser.h> +#include <apt-pkg/pkgcachegen.h> +#include <apt-pkg/indexfile.h> +#include <apt-pkg/tagfile.h> + +class edspListParser : public debListParser +{ + public: + virtual bool NewVersion(pkgCache::VerIterator &Ver); + virtual string Description(); + virtual string DescriptionLanguage(); + virtual MD5SumValue Description_md5(); + virtual unsigned short VersionHash(); + + bool LoadReleaseInfo(pkgCache::PkgFileIterator &FileI,FileFd &File, + string section); + + edspListParser(FileFd *File, string const &Arch = ""); + + protected: + virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver); + +}; + +#endif diff --git a/apt-pkg/edsp/edspsystem.cc b/apt-pkg/edsp/edspsystem.cc new file mode 100644 index 000000000..ac0bb8beb --- /dev/null +++ b/apt-pkg/edsp/edspsystem.cc @@ -0,0 +1,124 @@ +// -*- 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 <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 <apti18n.h> +#include <sys/types.h> +#include <unistd.h> +#include <dirent.h> +#include <errno.h> + /*}}}*/ + +edspSystem edspSys; + +// System::debSystem - Constructor /*{{{*/ +edspSystem::edspSystem() +{ + StatusFile = 0; + + Label = "Debian APT solver interface"; + VS = &debVS; +} + /*}}}*/ +// System::~debSystem - Destructor /*{{{*/ +edspSystem::~edspSystem() +{ + delete StatusFile; +} + /*}}}*/ +// System::Lock - Get the lock /*{{{*/ +bool edspSystem::Lock() +{ + return true; +} + /*}}}*/ +// System::UnLock - Drop a lock /*{{{*/ +bool edspSystem::UnLock(bool NoErrors) +{ + return true; +} + /*}}}*/ +// System::CreatePM - Create the underlying package manager /*{{{*/ +// --------------------------------------------------------------------- +/* we can't use edsp input as input for real installations - just a + simulation can work, but everything else will fail bigtime */ +pkgPackageManager *edspSystem::CreatePM(pkgDepCache *Cache) const +{ + return NULL; +} + /*}}}*/ +// System::Initialize - Setup the configuration space.. /*{{{*/ +bool edspSystem::Initialize(Configuration &Cnf) +{ + Cnf.Set("Dir::State::extended_states", "/dev/null"); + Cnf.Set("Dir::State::status","/dev/null"); + Cnf.Set("Dir::State::lists","/dev/null"); + + Cnf.Set("Debug::NoLocking", "true"); + Cnf.Set("APT::Get::Simulate", "true"); + + if (StatusFile) { + delete StatusFile; + StatusFile = 0; + } + return true; +} + /*}}}*/ +// System::ArchiveSupported - Is a file format supported /*{{{*/ +bool edspSystem::ArchiveSupported(const char *Type) +{ + return false; +} + /*}}}*/ +// System::Score - Determine if we should use the edsp system /*{{{*/ +signed edspSystem::Score(Configuration const &Cnf) +{ + if (Cnf.Find("edsp::scenario", "") == "stdin") + return 1000; + if (FileExists(Cnf.FindFile("edsp::scenario","")) == true) + return 1000; + return -1000; +} + /*}}}*/ +// System::AddStatusFiles - Register the status files /*{{{*/ +bool edspSystem::AddStatusFiles(vector<pkgIndexFile *> &List) +{ + if (StatusFile == 0) + { + if (_config->Find("edsp::scenario", "") == "stdin") + StatusFile = new edspIndex("stdin"); + else + StatusFile = new edspIndex(_config->FindFile("edsp::scenario")); + } + List.push_back(StatusFile); + return true; +} + /*}}}*/ +// System::FindIndex - Get an index file for status files /*{{{*/ +bool edspSystem::FindIndex(pkgCache::PkgFileIterator File, + pkgIndexFile *&Found) const +{ + if (StatusFile == 0) + return false; + if (StatusFile->FindInCache(*File.Cache()) == File) + { + Found = StatusFile; + return true; + } + + return false; +} + /*}}}*/ diff --git a/apt-pkg/edsp/edspsystem.h b/apt-pkg/edsp/edspsystem.h new file mode 100644 index 000000000..ca703fa84 --- /dev/null +++ b/apt-pkg/edsp/edspsystem.h @@ -0,0 +1,41 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +// $Id: debsystem.h,v 1.4 2003/01/11 07:16:33 jgg Exp $ +/* ###################################################################### + + System - Debian version of the System Class + + ##################################################################### */ + /*}}}*/ +#ifndef PKGLIB_EDSPSYSTEM_H +#define PKGLIB_EDSPSYSTEM_H + +#include <apt-pkg/pkgsystem.h> + +class edspIndex; +class edspSystem : public pkgSystem +{ + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + + edspIndex *StatusFile; + + public: + + virtual bool Lock(); + virtual bool UnLock(bool NoErrors = false); + virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const; + virtual bool Initialize(Configuration &Cnf); + virtual bool ArchiveSupported(const char *Type); + virtual signed Score(Configuration const &Cnf); + virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List); + virtual bool FindIndex(pkgCache::PkgFileIterator File, + pkgIndexFile *&Found) const; + + edspSystem(); + ~edspSystem(); +}; + +extern edspSystem edspSys; + +#endif diff --git a/apt-pkg/indexcopy.h b/apt-pkg/indexcopy.h index 6fcd3b8ce..277fb561c 100644 --- a/apt-pkg/indexcopy.h +++ b/apt-pkg/indexcopy.h @@ -24,6 +24,9 @@ class pkgCdromStatus; class IndexCopy /*{{{*/ { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + protected: pkgTagSection *Section; @@ -55,7 +58,6 @@ class PackageCopy : public IndexCopy /*{{{*/ virtual const char *GetFileName() {return "Packages";}; virtual const char *Type() {return "Package";}; - public: }; /*}}}*/ class SourceCopy : public IndexCopy /*{{{*/ @@ -67,7 +69,6 @@ class SourceCopy : public IndexCopy /*{{{*/ virtual const char *GetFileName() {return "Sources";}; virtual const char *Type() {return "Source";}; - public: }; /*}}}*/ class TranslationsCopy /*{{{*/ @@ -82,6 +83,9 @@ class TranslationsCopy /*{{{*/ /*}}}*/ class SigVerify /*{{{*/ { + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; + bool Verify(string prefix,string file, indexRecords *records); bool CopyMetaIndex(string CDROM, string CDName, string prefix, string file); diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc index 38a0814e5..4f3101687 100644 --- a/apt-pkg/init.cc +++ b/apt-pkg/init.cc @@ -74,6 +74,7 @@ bool pkgInitConfig(Configuration &Cnf) 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 @@ -87,6 +88,9 @@ bool pkgInitConfig(Configuration &Cnf) Cnf.Set("Dir::Ignore-Files-Silently::", "\\.disabled$"); Cnf.Set("Dir::Ignore-Files-Silently::", "\\.bak$"); Cnf.Set("Dir::Ignore-Files-Silently::", "\\.dpkg-[a-z]+$"); + // ubuntu specific + Cnf.Set("Dir::Ignore-Files-Silently::", "\\.distUpgrade$"); + Cnf.Set("Dir::Ignore-Files-Silently::", "\\.save$"); } // Default cdrom mount point diff --git a/apt-pkg/init.h b/apt-pkg/init.h index 15a1165b9..6b92dd200 100644 --- a/apt-pkg/init.h +++ b/apt-pkg/init.h @@ -22,8 +22,8 @@ // Non-ABI-Breaks should only increase RELEASE number. // See also buildlib/libversion.mak #define APT_PKG_MAJOR 4 -#define APT_PKG_MINOR 10 -#define APT_PKG_RELEASE 1 +#define APT_PKG_MINOR 11 +#define APT_PKG_RELEASE 0 extern const char *pkgVersion; extern const char *pkgLibVersion; diff --git a/apt-pkg/makefile b/apt-pkg/makefile index 4e5ec107f..e1f69dd65 100644 --- a/apt-pkg/makefile +++ b/apt-pkg/makefile @@ -3,7 +3,7 @@ BASE=.. SUBDIR=apt-pkg # Header location -SUBDIRS = deb contrib +SUBDIRS = deb edsp contrib HEADER_TARGETDIRS = apt-pkg # Bring in the default rules @@ -20,11 +20,15 @@ APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR) # Source code for the contributed non-core things SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \ contrib/configuration.cc contrib/progress.cc contrib/cmndline.cc \ - contrib/md5.cc contrib/sha1.cc contrib/sha256.cc contrib/hashes.cc \ + contrib/hashsum.cc contrib/md5.cc contrib/sha1.cc \ + contrib/sha2_internal.cc\ + contrib/hashes.cc \ contrib/cdromutl.cc contrib/crc-16.cc contrib/netrc.cc \ contrib/fileutl.cc HEADERS = mmap.h error.h configuration.h fileutl.h cmndline.h netrc.h\ - md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha256.h hashes.h \ + md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha2.h sha256.h\ + sha2_internal.h \ + hashes.h hashsum_template.h\ macros.h weakptr.h # Source code for the core main library @@ -35,7 +39,7 @@ SOURCE+= pkgcache.cc version.cc depcache.cc \ srcrecords.cc cachefile.cc versionmatch.cc policy.cc \ pkgsystem.cc indexfile.cc pkgcachegen.cc acquire-item.cc \ indexrecords.cc vendor.cc vendorlist.cc cdrom.cc indexcopy.cc \ - aptconfiguration.cc cachefilter.cc cacheset.cc + aptconfiguration.cc cachefilter.cc cacheset.cc edsp.cc HEADERS+= algorithms.h depcache.h pkgcachegen.h cacheiterators.h \ orderlist.h sourcelist.h packagemanager.h tagfile.h \ init.h pkgcache.h version.h progress.h pkgrecords.h \ @@ -43,7 +47,7 @@ HEADERS+= algorithms.h depcache.h pkgcachegen.h cacheiterators.h \ clean.h srcrecords.h cachefile.h versionmatch.h policy.h \ pkgsystem.h indexfile.h metaindex.h indexrecords.h vendor.h \ vendorlist.h cdrom.h indexcopy.h aptconfiguration.h \ - cachefilter.h cacheset.h + cachefilter.h cacheset.h edsp.h # Source code for the debian specific components # In theory the deb headers do not need to be exported.. @@ -53,6 +57,10 @@ SOURCE+= deb/deblistparser.cc deb/debrecords.cc deb/dpkgpm.cc \ HEADERS+= debversion.h debsrcrecords.h dpkgpm.h debrecords.h \ deblistparser.h debsystem.h debindexfile.h debmetaindex.h +# Source code for the APT resolver interface specific components +SOURCE+= edsp/edsplistparser.cc edsp/edspindexfile.cc edsp/edspsystem.cc +HEADERS+= edsplistparser.h edspindexfile.h edspsystem.h + HEADERS := $(addprefix apt-pkg/,$(HEADERS)) include $(LIBRARY_H) diff --git a/apt-pkg/metaindex.h b/apt-pkg/metaindex.h index 1d2140799..f60235a5d 100644 --- a/apt-pkg/metaindex.h +++ b/apt-pkg/metaindex.h @@ -39,6 +39,10 @@ class metaIndex virtual vector<pkgIndexFile *> *GetIndexFiles() = 0; virtual bool IsTrusted() const = 0; + metaIndex(string const &URI, string const &Dist, char const * const Type) : + Indexes(NULL), Type(Type), URI(URI), Dist(Dist) { + } + virtual ~metaIndex() { if (Indexes == 0) return; diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index 060cd3248..a3ba26f7c 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -319,7 +319,7 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg) 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)) { @@ -602,7 +602,7 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate) List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States); - if (instVer->MultiArch == pkgCache::Version::Same) + if ((instVer->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same) for (PkgIterator P = Pkg.Group().PackageList(); P.end() == false; P = Pkg.Group().NextPkg(P)) { diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index ed24d9ea8..faccafbef 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -84,6 +84,8 @@ pkgCache::Header::Header() memset(PkgHashTable,0,sizeof(PkgHashTable)); memset(GrpHashTable,0,sizeof(GrpHashTable)); memset(Pools,0,sizeof(Pools)); + + CacheFileSize = 0; } /*}}}*/ // Cache::Header::CheckSizes - Check if the two headers have same *sz /*{{{*/ @@ -155,6 +157,9 @@ bool pkgCache::ReMap(bool const &Errorchecks) HeaderP->CheckSizes(DefHeader) == false) return _error->Error(_("The package cache file is an incompatible version")); + if (Map.Size() < HeaderP->CacheFileSize) + return _error->Error(_("The package cache file is corrupted, it is too small")); + // Locate our VS.. if (HeaderP->VerSysName == 0 || (VS = pkgVersioningSystem::GetVS(StrP + HeaderP->VerSysName)) == 0) @@ -749,9 +754,6 @@ bool pkgCache::VerIterator::Automatic() const 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 diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index 1b1743724..87912aead 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -314,6 +314,9 @@ struct pkgCache::Header map_ptrloc PkgHashTable[2*1048]; map_ptrloc GrpHashTable[2*1048]; + /** \brief Size of the complete cache file */ + unsigned long CacheFileSize; + bool CheckSizes(Header &Against) const; Header(); }; @@ -500,15 +503,20 @@ struct pkgCache::Version map_ptrloc VerStr; // StringItem /** \brief section this version is filled in */ map_ptrloc Section; // StringItem + + /** \brief Multi-Arch capabilities of a package version */ + enum VerMultiArch { None = 0, /*!< is the default and doesn't trigger special behaviour */ + All = (1<<0), /*!< will cause that Ver.Arch() will report "all" */ + Foreign = (1<<1), /*!< can satisfy dependencies in another architecture */ + Same = (1<<2), /*!< can be co-installed with itself from other architectures */ + Allowed = (1<<3), /*!< other packages are allowed to depend on thispkg:any */ + AllForeign = All | Foreign, + AllAllowed = All | Allowed }; /** \brief stores the MultiArch capabilities of this version - None is the default and doesn't trigger special behaviour, - Foreign means that this version can fulfill dependencies even - if it is built for another architecture as the requester. - Same indicates that builds for different architectures can - be co-installed on the system */ - /* FIXME: A bitflag would be better with the next abibreak… */ - enum {None, All, Foreign, Same, Allowed, AllForeign, AllAllowed} MultiArch; + Flags used are defined in pkgCache::Version::VerMultiArch + */ + unsigned char MultiArch; /** \brief references all the PackageFile's that this version came from diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index dc5a830bd..f41bb5a0a 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -98,6 +98,7 @@ pkgCacheGenerator::~pkgCacheGenerator() return; Cache.HeaderP->Dirty = false; + Cache.HeaderP->CacheFileSize = Map.Size(); Map.Sync(0,sizeof(pkgCache::Header)); } /*}}}*/ diff --git a/apt-pkg/pkgrecords.h b/apt-pkg/pkgrecords.h index c2c98188a..ce92cacc4 100644 --- a/apt-pkg/pkgrecords.h +++ b/apt-pkg/pkgrecords.h @@ -28,12 +28,13 @@ class pkgRecords /*{{{*/ class Parser; private: + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; pkgCache &Cache; std::vector<Parser *>Files; - public: - + public: // Lookup function Parser &Lookup(pkgCache::VerFileIterator const &Ver); Parser &Lookup(pkgCache::DescFileIterator const &Desc); @@ -58,6 +59,7 @@ class pkgRecords::Parser /*{{{*/ virtual string MD5Hash() {return string();}; virtual string SHA1Hash() {return string();}; virtual string SHA256Hash() {return string();}; + virtual string SHA512Hash() {return string();}; virtual string SourcePkg() {return string();}; virtual string SourceVer() {return string();}; @@ -67,7 +69,10 @@ class pkgRecords::Parser /*{{{*/ virtual string LongDesc() {return string();}; virtual string Name() {return string();}; virtual string Homepage() {return string();} - + + // An arbitrary custom field + virtual string RecordField(const char *fieldName) { return string();}; + // The record in binary form virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;}; diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index 6a5130d48..0cc77e0af 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -320,6 +320,10 @@ signed short pkgPolicy::GetPriority(pkgCache::PkgIterator const &Pkg) return 0; } +signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &File) +{ + return PFPriority[File->ID]; +} /*}}}*/ // PreferenceSection class - Overriding the default TrimRecord method /*{{{*/ // --------------------------------------------------------------------- diff --git a/apt-pkg/policy.h b/apt-pkg/policy.h index a5e6c6048..92d32728f 100644 --- a/apt-pkg/policy.h +++ b/apt-pkg/policy.h @@ -70,14 +70,13 @@ class pkgPolicy : public pkgDepCache::Policy // Things for manipulating pins void CreatePin(pkgVersionMatch::MatchType Type,string Pkg, string Data,signed short Priority); - inline signed short GetPriority(pkgCache::PkgFileIterator const &File) - {return PFPriority[File->ID];}; - signed short GetPriority(pkgCache::PkgIterator const &Pkg); pkgCache::VerIterator GetMatch(pkgCache::PkgIterator const &Pkg); // Things for the cache interface. virtual pkgCache::VerIterator GetCandidateVer(pkgCache::PkgIterator const &Pkg); - virtual bool IsImportantDep(pkgCache::DepIterator const &Dep) {return pkgDepCache::Policy::IsImportantDep(Dep);}; + virtual signed short GetPriority(pkgCache::PkgIterator const &Pkg); + virtual signed short GetPriority(pkgCache::PkgFileIterator const &File); + bool InitDefaults(); pkgPolicy(pkgCache *Owner); diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc index a25358bf2..47800b0c2 100644 --- a/apt-pkg/sourcelist.cc +++ b/apt-pkg/sourcelist.cc @@ -346,10 +346,14 @@ bool pkgSourceList::ReadSourceDir(string Dir) /* */ time_t pkgSourceList::GetLastModifiedTime() { - // go over the parts + vector<string> List; + string Main = _config->FindFile("Dir::Etc::sourcelist"); string Parts = _config->FindDir("Dir::Etc::sourceparts"); - vector<string> const List = GetListOfFilesInDir(Parts, "list", true); + + // go over the parts + if (DirectoryExists(Parts) == true) + List = GetListOfFilesInDir(Parts, "list", true); // calculate the time time_t mtime_sources = GetModificationTime(Main); diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h index a49533864..8a78d7711 100644 --- a/apt-pkg/srcrecords.h +++ b/apt-pkg/srcrecords.h @@ -79,6 +79,8 @@ class pkgSrcRecords }; private: + /** \brief dpointer placeholder (for later in case we need it) */ + void *d; // The list of files and the current parser pointer vector<Parser*> Files; @@ -93,7 +95,7 @@ class pkgSrcRecords Parser *Find(const char *Package,bool const &SrcOnly = false); pkgSrcRecords(pkgSourceList &List); - ~pkgSrcRecords(); + virtual ~pkgSrcRecords(); }; #endif diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc index 4a2f3f7e6..a8f04b23a 100644 --- a/apt-pkg/tagfile.cc +++ b/apt-pkg/tagfile.cc @@ -24,26 +24,40 @@ using std::string; +class pkgTagFilePrivate +{ +public: + pkgTagFilePrivate(FileFd *pFd, unsigned long Size) : Fd(*pFd), Size(Size) + { + } + FileFd &Fd; + char *Buffer; + char *Start; + char *End; + bool Done; + unsigned long iOffset; + unsigned long Size; +}; + // TagFile::pkgTagFile - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ -pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) : - Fd(*pFd), - Size(Size) +pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) { - if (Fd.IsOpen() == false) + d = new pkgTagFilePrivate(pFd, Size); + + if (d->Fd.IsOpen() == false) { - Buffer = 0; - Start = End = Buffer = 0; - Done = true; - iOffset = 0; + d->Start = d->End = d->Buffer = 0; + d->Done = true; + d->iOffset = 0; return; } - Buffer = new char[Size]; - Start = End = Buffer; - Done = false; - iOffset = 0; + d->Buffer = new char[Size]; + d->Start = d->End = d->Buffer; + d->Done = false; + d->iOffset = 0; Fill(); } /*}}}*/ @@ -52,7 +66,14 @@ pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long Size) : /* */ pkgTagFile::~pkgTagFile() { - delete [] Buffer; + delete [] d->Buffer; + delete d; +} + /*}}}*/ +// TagFile::Offset - Return the current offset in the buffer /*{{{*/ +unsigned long pkgTagFile::Offset() +{ + return d->iOffset; } /*}}}*/ // TagFile::Resize - Resize the internal buffer /*{{{*/ @@ -63,22 +84,22 @@ pkgTagFile::~pkgTagFile() bool pkgTagFile::Resize() { char *tmp; - unsigned long EndSize = End - Start; + unsigned long EndSize = d->End - d->Start; // fail is the buffer grows too big - if(Size > 1024*1024+1) + if(d->Size > 1024*1024+1) return false; // get new buffer and use it - tmp = new char[2*Size]; - memcpy(tmp, Buffer, Size); - Size = Size*2; - delete [] Buffer; - Buffer = tmp; + tmp = new char[2*d->Size]; + memcpy(tmp, d->Buffer, d->Size); + d->Size = d->Size*2; + delete [] d->Buffer; + d->Buffer = tmp; // update the start/end pointers to the new buffer - Start = Buffer; - End = Start + EndSize; + d->Start = d->Buffer; + d->End = d->Start + EndSize; return true; } /*}}}*/ @@ -90,20 +111,20 @@ bool pkgTagFile::Resize() */ bool pkgTagFile::Step(pkgTagSection &Tag) { - while (Tag.Scan(Start,End - Start) == false) + while (Tag.Scan(d->Start,d->End - d->Start) == false) { if (Fill() == false) return false; - if(Tag.Scan(Start,End - Start)) + if(Tag.Scan(d->Start,d->End - d->Start)) break; if (Resize() == false) return _error->Error(_("Unable to parse package file %s (1)"), - Fd.Name().c_str()); + d->Fd.Name().c_str()); } - Start += Tag.size(); - iOffset += Tag.size(); + d->Start += Tag.size(); + d->iOffset += Tag.size(); Tag.Trim(); return true; @@ -115,37 +136,37 @@ bool pkgTagFile::Step(pkgTagSection &Tag) then fills the rest from the file */ bool pkgTagFile::Fill() { - unsigned long EndSize = End - Start; + unsigned long EndSize = d->End - d->Start; unsigned 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; } @@ -160,33 +181,33 @@ bool pkgTagFile::Fill() bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned 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 Dist = Offset - d->iOffset; + d->Start += Dist; + d->iOffset += Dist; return Step(Tag); } // Reposition and reload.. - iOffset = Offset; - Done = false; - if (Fd.Seek(Offset) == false) + d->iOffset = Offset; + d->Done = false; + if (d->Fd.Seek(Offset) == false) return false; - End = Start = Buffer; + d->End = d->Start = d->Buffer; if (Fill() == false) return false; - if (Tag.Scan(Start,End - Start) == true) + if (Tag.Scan(d->Start, d->End - d->Start) == true) return true; // This appends a double new line (for the real eof handling) if (Fill() == false) return false; - if (Tag.Scan(Start,End - Start) == false) - return _error->Error(_("Unable to parse package file %s (2)"),Fd.Name().c_str()); + if (Tag.Scan(d->Start, d->End - d->Start) == false) + return _error->Error(_("Unable to parse package file %s (2)"),d->Fd.Name().c_str()); return true; } @@ -457,6 +478,7 @@ static const char *iTFRewritePackageOrder[] = { "MD5Sum", "SHA1", "SHA256", + "SHA512", "MSDOS-Filename", // Obsolete "Description", 0}; diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h index a101d7b1e..3a2dee7c7 100644 --- a/apt-pkg/tagfile.h +++ b/apt-pkg/tagfile.h @@ -23,16 +23,16 @@ #include <apt-pkg/fileutl.h> #include <stdio.h> - + class pkgTagSection { const char *Section; - // We have a limit of 256 tags per section. unsigned int Indexes[256]; unsigned int AlphaIndexes[0x100]; - unsigned int TagCount; + // dpointer placeholder (for later in case we need it) + void *d; /* This very simple hash function for the last 8 letters gives very good performance on the debian package files */ @@ -44,7 +44,6 @@ class pkgTagSection return Res & 0xFF; } - protected: const char *Stop; @@ -80,17 +79,13 @@ class pkgTagSection }; pkgTagSection() : Section(0), TagCount(0), Stop(0) {}; + virtual ~pkgTagSection() {}; }; +class pkgTagFilePrivate; class pkgTagFile { - FileFd &Fd; - char *Buffer; - char *Start; - char *End; - bool Done; - unsigned long iOffset; - unsigned long Size; + pkgTagFilePrivate *d; bool Fill(); bool Resize(); @@ -98,11 +93,11 @@ class pkgTagFile public: bool Step(pkgTagSection &Section); - inline unsigned long Offset() {return iOffset;}; + unsigned long Offset(); bool Jump(pkgTagSection &Tag,unsigned long Offset); pkgTagFile(FileFd *F,unsigned long Size = 32*1024); - ~pkgTagFile(); + virtual ~pkgTagFile(); }; /* This is the list of things to rewrite. The rewriter diff --git a/cmdline/acqprogress.cc b/cmdline/acqprogress.cc index ba334ce05..d2db949ea 100644 --- a/cmdline/acqprogress.cc +++ b/cmdline/acqprogress.cc @@ -200,7 +200,7 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner) // Add the current progress if (Mode == Long) - snprintf(S,End-S," %lu",I->CurrentSize); + snprintf(S,End-S," %llu",I->CurrentSize); else { if (Mode == Medium || I->TotalSize == 0) diff --git a/cmdline/apt-dump-solver.cc b/cmdline/apt-dump-solver.cc new file mode 100644 index 000000000..dab0cc6fd --- /dev/null +++ b/cmdline/apt-dump-solver.cc @@ -0,0 +1,50 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ##################################################################### + + dummy solver to get quickly a scenario file out of APT + + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <apt-pkg/edsp.h> + +#include <config.h> + +#include <cstdio> + /*}}}*/ + +// ShowHelp - Show a help screen /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool ShowHelp() { + + std::cout << + PACKAGE " " VERSION " for " COMMON_ARCH " compiled on " __DATE__ " " __TIME__ << std::endl << + "Usage: apt-dump-resolver\n" + "\n" + "apt-dump-resolver is a dummy solver who just dumps its input to the\n" + "file /tmp/dump.edsp and exists with a proper EDSP error.\n" + "\n" + " This dump has lost Super Cow Powers.\n"; + return true; +} + /*}}}*/ +int main(int argc,const char *argv[]) /*{{{*/ +{ + if (argc > 1 && (strcmp(argv[1], "--help") == 0 || strcmp(argv[1],"-h") == 0 || + strcmp(argv[1],"-v") == 0 || strcmp(argv[1],"--version") == 0)) { + ShowHelp(); + return 0; + } + + FILE* input = fdopen(STDIN_FILENO, "r"); + FILE* output = fopen("/tmp/dump.edsp", "w"); + char buffer[400]; + while (fgets(buffer, sizeof(buffer), input) != NULL) + fputs(buffer, output); + fclose(output); + fclose(input); + + EDSP::WriteError("ERR_JUST_DUMPING", "I am too dumb, i can just dump!\nPlease use one of my friends instead!", stdout); +} diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 1849f1335..df33e8547 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -135,6 +135,11 @@ bool YnPrompt(bool Default=true) c1out << _("Y") << endl; return true; } + else if (_config->FindB("APT::Get::Assume-No",false) == true) + { + c1out << _("N") << endl; + return false; + } char response[1024] = ""; cin.getline(response, sizeof(response)); @@ -1892,8 +1897,7 @@ bool DoInstall(CommandLine &CmdL) { // Call the scored problem resolver Fix->InstallProtect(); - if (Fix->Resolve(true) == false) - _error->Discard(); + Fix->Resolve(true); delete Fix; } @@ -1919,8 +1923,11 @@ bool DoInstall(CommandLine &CmdL) c1out << _("The following information may help to resolve the situation:") << endl; c1out << endl; ShowBroken(c1out,Cache,false); - return _error->Error(_("Broken packages")); - } + if (_error->PendingError() == true) + return false; + else + return _error->Error(_("Broken packages")); + } } if (!DoAutomaticRemove(Cache)) return false; @@ -2303,6 +2310,8 @@ bool DoDownload(CommandLine &CmdL) strprintf(descr, _("Downloading %s %s"), Pkg.Name(), Ver.VerStr()); // get the most appropriate hash HashString hash; + if (rec.SHA512Hash() != "") + hash = HashString("sha512", rec.SHA512Hash()); if (rec.SHA256Hash() != "") hash = HashString("sha256", rec.SHA256Hash()); else if (rec.SHA1Hash() != "") @@ -2419,7 +2428,7 @@ bool DoSource(CommandLine &CmdL) Src.c_str(), vcs.c_str(), uri.c_str()); if(vcs == "Bzr") ioprintf(c1out,_("Please use:\n" - "bzr get %s\n" + "bzr branch %s\n" "to retrieve the latest (possibly unreleased) " "updates to the package.\n"), uri.c_str()); @@ -3111,7 +3120,10 @@ bool DownloadChangelog(CacheFile &CacheFile, pkgAcquire &Fetcher, return true; // error - return _error->Error("changelog download failed"); + pkgRecords Recs(CacheFile); + pkgRecords::Parser &rec=Recs.Lookup(Ver.FileList()); + string srcpkg = rec.SourcePkg().empty() ? Pkg.Name() : rec.SourcePkg(); + return _error->Error("changelog for this version is not (yet) available; try https://launchpad.net/ubuntu/+source/%s/+changelog", srcpkg.c_str()); } /*}}}*/ // DisplayFileInPager - Display File with pager /*{{{*/ @@ -3337,7 +3349,8 @@ int main(int argc,const char *argv[]) /*{{{*/ {'s',"dry-run","APT::Get::Simulate",0}, {'s',"no-act","APT::Get::Simulate",0}, {'y',"yes","APT::Get::Assume-Yes",0}, - {'y',"assume-yes","APT::Get::Assume-Yes",0}, + {'y',"assume-yes","APT::Get::Assume-Yes",0}, + {0,"assume-no","APT::Get::Assume-No",0}, {'f',"fix-broken","APT::Get::Fix-Broken",0}, {'u',"show-upgraded","APT::Get::Show-Upgraded",0}, {'m',"ignore-missing","APT::Get::Fix-Missing",0}, @@ -3367,6 +3380,7 @@ int main(int argc,const char *argv[]) /*{{{*/ {0,"install-recommends","APT::Install-Recommends",CommandLine::Boolean}, {0,"install-suggests","APT::Install-Suggests",CommandLine::Boolean}, {0,"fix-policy","APT::Get::Fix-Policy-Broken",0}, + {0,"solver","APT::Solver",CommandLine::HasArg}, {'c',"config-file",0,CommandLine::ConfigFile}, {'o',"option",0,CommandLine::ArbItem}, {0,0,0,0}}; diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc new file mode 100644 index 000000000..ef6c688fe --- /dev/null +++ b/cmdline/apt-internal-solver.cc @@ -0,0 +1,190 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ##################################################################### + + cover around the internal solver to be able to run it like an external + + ##################################################################### */ + /*}}}*/ +// Include Files /*{{{*/ +#include <apt-pkg/error.h> +#include <apt-pkg/cmndline.h> +#include <apt-pkg/init.h> +#include <apt-pkg/cachefile.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/edsp.h> +#include <apt-pkg/algorithms.h> +#include <apt-pkg/fileutl.h> + +#include <config.h> +#include <apti18n.h> + +#include <unistd.h> +#include <cstdio> + /*}}}*/ + +// ShowHelp - Show a help screen /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool ShowHelp(CommandLine &CmdL) { + ioprintf(std::cout,_("%s %s for %s compiled on %s %s\n"),PACKAGE,VERSION, + COMMON_ARCH,__DATE__,__TIME__); + + std::cout << + _("Usage: apt-internal-resolver\n" + "\n" + "apt-internal-resolver is an interface to use the current internal\n" + "like an external resolver for the APT family for debugging or alike\n" + "\n" + "Options:\n" + " -h This help text.\n" + " -q Loggable output - no progress indicator\n" + " -c=? Read this configuration file\n" + " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" + "apt.conf(5) manual pages for more information and options.\n" + " This APT has Super Cow Powers.\n"); + return true; +} + /*}}}*/ +int main(int argc,const char *argv[]) /*{{{*/ +{ + CommandLine::Args Args[] = { + {'h',"help","help",0}, + {'v',"version","version",0}, + {'q',"quiet","quiet",CommandLine::IntLevel}, + {'q',"silent","quiet",CommandLine::IntLevel}, + {'c',"config-file",0,CommandLine::ConfigFile}, + {'o',"option",0,CommandLine::ArbItem}, + {0,0,0,0}}; + + CommandLine CmdL(Args,_config); + if (pkgInitConfig(*_config) == false || + CmdL.Parse(argc,argv) == false) { + _error->DumpErrors(); + return 2; + } + + // See if the help should be shown + if (_config->FindB("help") == true || + _config->FindB("version") == true) { + ShowHelp(CmdL); + return 1; + } + + if (CmdL.FileList[0] != 0 && strcmp(CmdL.FileList[0], "scenario") == 0) + { + if (pkgInitSystem(*_config,_system) == false) { + std::cerr << "System could not be initialized!" << std::endl; + return 1; + } + pkgCacheFile CacheFile; + CacheFile.Open(NULL, false); + APT::PackageSet pkgset = APT::PackageSet::FromCommandLine(CacheFile, CmdL.FileList + 1); + FILE* output = stdout; + if (pkgset.empty() == true) + EDSP::WriteScenario(CacheFile, output); + else + EDSP::WriteLimitedScenario(CacheFile, output, pkgset); + fclose(output); + _error->DumpErrors(std::cerr); + return 0; + } + + // Deal with stdout not being a tty + if (!isatty(STDOUT_FILENO) && _config->FindI("quiet", -1) == -1) + _config->Set("quiet","1"); + + if (_config->FindI("quiet", 0) < 1) + _config->Set("Debug::EDSP::WriteSolution", true); + + _config->Set("APT::Solver", "internal"); + _config->Set("edsp::scenario", "stdin"); + int input = STDIN_FILENO; + FILE* output = stdout; + SetNonBlock(input, false); + + EDSP::WriteProgress(0, "Start up solver…", output); + + if (pkgInitSystem(*_config,_system) == false) { + std::cerr << "System could not be initialized!" << std::endl; + return 1; + } + + EDSP::WriteProgress(1, "Read request…", output); + + if (WaitFd(input, false, 5) == false) + std::cerr << "WAIT timed out in the resolver" << std::endl; + + std::list<std::string> install, remove; + bool upgrade, distUpgrade, autoRemove; + if (EDSP::ReadRequest(input, install, remove, upgrade, distUpgrade, autoRemove) == false) { + std::cerr << "Parsing the request failed!" << std::endl; + return 2; + } + + EDSP::WriteProgress(5, "Read scenario…", output); + + pkgCacheFile CacheFile; + CacheFile.Open(NULL, false); + + EDSP::WriteProgress(50, "Apply request on scenario…", output); + + if (EDSP::ApplyRequest(install, remove, CacheFile) == false) { + std::cerr << "Failed to apply request to depcache!" << std::endl; + return 3; + } + + pkgProblemResolver Fix(CacheFile); + for (std::list<std::string>::const_iterator i = remove.begin(); + i != remove.end(); ++i) { + pkgCache::PkgIterator P = CacheFile->FindPkg(*i); + Fix.Clear(P); + Fix.Protect(P); + Fix.Remove(P); + } + + for (std::list<std::string>::const_iterator i = install.begin(); + i != install.end(); ++i) { + pkgCache::PkgIterator P = CacheFile->FindPkg(*i); + Fix.Clear(P); + Fix.Protect(P); + } + + for (std::list<std::string>::const_iterator i = install.begin(); + i != install.end(); ++i) + CacheFile->MarkInstall(CacheFile->FindPkg(*i), true); + + EDSP::WriteProgress(60, "Call problemresolver on current scenario…", output); + + if (upgrade == true) { + if (pkgAllUpgrade(CacheFile) == false) { + EDSP::WriteError("ERR_UNSOLVABLE_UPGRADE", "An upgrade error occured", output); + return 0; + } + } else if (distUpgrade == true) { + if (pkgDistUpgrade(CacheFile) == false) { + EDSP::WriteError("ERR_UNSOLVABLE_DIST_UPGRADE", "An dist-upgrade error occured", output); + return 0; + } + } else if (Fix.Resolve() == false) { + EDSP::WriteError("ERR_UNSOLVABLE", "An error occured", output); + return 0; + } + + EDSP::WriteProgress(95, "Write solution…", output); + + if (EDSP::WriteSolution(CacheFile, output) == false) { + std::cerr << "Failed to output the solution!" << std::endl; + return 4; + } + + EDSP::WriteProgress(100, "Done", output); + + bool const Errors = _error->PendingError(); + if (_config->FindI("quiet",0) > 0) + _error->DumpErrors(std::cerr); + else + _error->DumpErrors(std::cerr, GlobalError::DEBUG); + return Errors == true ? 100 : 0; +} + /*}}}*/ diff --git a/cmdline/apt-key b/cmdline/apt-key index e632be706..e80741627 100755 --- a/cmdline/apt-key +++ b/cmdline/apt-key @@ -16,13 +16,13 @@ fi GPG="$GPG_CMD" -MASTER_KEYRING="" -ARCHIVE_KEYRING_URI="" -#MASTER_KEYRING=/usr/share/keyrings/debian-master-keyring.gpg -#ARCHIVE_KEYRING_URI=http://ftp.debian.org/debian/debian-archive-keyring.gpg -ARCHIVE_KEYRING=/usr/share/keyrings/debian-archive-keyring.gpg -REMOVED_KEYS=/usr/share/keyrings/debian-archive-removed-keys.gpg +# ubuntu keyrings +MASTER_KEYRING=/usr/share/keyrings/ubuntu-master-keyring.gpg +ARCHIVE_KEYRING=/usr/share/keyrings/ubuntu-archive-keyring.gpg +REMOVED_KEYS=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg +ARCHIVE_KEYRING_URI=http://archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg + requires_root() { if [ "$(id -u)" -ne 0 ]; then @@ -87,7 +87,7 @@ net_update() { if [ -e $keyring ]; then old_mtime=$(stat -c %Y $keyring) fi - (cd /var/lib/apt/keyrings; wget -q -N $ARCHIVE_KEYRING_URI) + (cd /var/lib/apt/keyrings; wget --timeout=90 -q -N $ARCHIVE_KEYRING_URI) if [ ! -e $keyring ]; then return fi @@ -101,7 +101,7 @@ net_update() { update() { if [ ! -f $ARCHIVE_KEYRING ]; then echo >&2 "ERROR: Can't find the archive-keyring" - echo >&2 "Is the debian-archive-keyring package installed?" + echo >&2 "Is the ubuntu-keyring package installed?" exit 1 fi requires_root diff --git a/cmdline/makefile b/cmdline/makefile index e867dae73..07e9eb8ca 100644 --- a/cmdline/makefile +++ b/cmdline/makefile @@ -65,3 +65,17 @@ include $(PROGRAM_H) #TO=$(BIN) #TARGET=program #include $(COPY_H) + +# The internal solver acting as an external +PROGRAM=apt-internal-solver +SLIBS = -lapt-pkg $(INTLLIBS) +LIB_MAKES = apt-pkg/makefile +SOURCE = apt-internal-solver.cc +include $(PROGRAM_H) + +# This just dumps out the state +PROGRAM=apt-dump-solver +SLIBS = -lapt-pkg $(INTLLIBS) +LIB_MAKES = apt-pkg/makefile +SOURCE = apt-dump-solver.cc +include $(PROGRAM_H) diff --git a/configure.in b/configure.in index b2880c99c..3dde2fe47 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib) AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- -AC_DEFINE_UNQUOTED(VERSION,"0.8.2") +AC_DEFINE_UNQUOTED(VERSION,"0.8.15") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) diff --git a/debian/apt-doc.docs b/debian/apt-doc.docs index 86aa69ceb..4ec23f55d 100644 --- a/debian/apt-doc.docs +++ b/debian/apt-doc.docs @@ -1,2 +1,3 @@ README.progress-reporting README.MultiArch +doc/external-dependency-solver-protocol.txt diff --git a/debian/apt-utils.dirs b/debian/apt-utils.dirs index 14f5b95d7..681e55192 100644 --- a/debian/apt-utils.dirs +++ b/debian/apt-utils.dirs @@ -1,2 +1,2 @@ -usr/lib +usr/lib/apt/solvers usr/bin diff --git a/debian/apt-utils.install b/debian/apt-utils.install index d947f26d4..8b1378917 100644 --- a/debian/apt-utils.install +++ b/debian/apt-utils.install @@ -1 +1 @@ -bin/libapt-inst*.so.* usr/lib/ + diff --git a/debian/apt-utils.links b/debian/apt-utils.links new file mode 100644 index 000000000..5bf138c4a --- /dev/null +++ b/debian/apt-utils.links @@ -0,0 +1 @@ +usr/bin/apt-internal-solver usr/lib/apt/solvers/apt diff --git a/debian/apt.conf.changelog b/debian/apt.conf.changelog new file mode 100644 index 000000000..c4092ff44 --- /dev/null +++ b/debian/apt.conf.changelog @@ -0,0 +1,6 @@ +// Server information for apt-changelog +APT { + Changelogs { + Server "http://changelogs.ubuntu.com/changelogs"; + }; +}; diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily index 69f97a36b..1dfaa04a3 100644 --- a/debian/apt.cron.daily +++ b/debian/apt.cron.daily @@ -434,6 +434,13 @@ fi UPDATED=0 UPDATE_STAMP=/var/lib/apt/periodic/update-stamp if check_stamp $UPDATE_STAMP $UpdateInterval; then + # check for a new archive signing key (against the master keyring) + if eval apt-key net-update $XSTDERR; then + debug_echo "apt-key net-update (success)" + else + debug_echo "apt-key net-update (failure)" + fi + # run apt-get update if eval apt-get $XAPTOPT -y update $XSTDERR; then debug_echo "download updated metadata (success)." if which dbus-send >/dev/null && pidof dbus-daemon >/dev/null; then @@ -447,6 +454,11 @@ if check_stamp $UPDATE_STAMP $UpdateInterval; then fi update_stamp $UPDATE_STAMP UPDATED=1 + # now run apt-xapian-index if it is installed to ensure the index + # is up-to-date + if [ -x /usr/sbin/update-apt-xapian-index ]; then + nice ionice -c3 update-apt-xapian-index -q + fi else debug_echo "download updated metadata (error)" fi diff --git a/debian/apt.dirs b/debian/apt.dirs index 2770d79bb..828453655 100644 --- a/debian/apt.dirs +++ b/debian/apt.dirs @@ -1,5 +1,6 @@ usr/bin usr/lib/apt/methods +usr/lib/apt/solvers usr/lib/dpkg/methods/apt etc/apt etc/apt/apt.conf.d @@ -12,4 +13,5 @@ var/lib/apt/lists/partial var/lib/apt/mirrors/partial var/lib/apt/periodic var/log/apt +usr/share/apt usr/share/bug/apt diff --git a/debian/apt.install b/debian/apt.install index 979e04ce2..9d4008fab 100644 --- a/debian/apt.install +++ b/debian/apt.install @@ -1,5 +1,4 @@ bin/apt-* usr/bin/ -bin/libapt-pkg*.so.* usr/lib/ bin/methods/* usr/lib/apt/methods/ scripts/dselect/* usr/lib/dpkg/methods/apt/ -locale usr/share/ +usr/share/locale/*/*/apt.mo diff --git a/debian/changelog b/debian/changelog index 67e60dc34..80189bcc9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,164 @@ +apt (0.8.16~exp5ubuntu6) UNRELEASED; urgency=low + + [ Michael Vogt + * merged lp:~jr/ubuntu/oneiric/apt/bzr-get-rename, thanks to + Jonathan Riddell + + [ David Kalnischkies ] + * lots of cppcheck fixes + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 11 Aug 2011 18:09:45 +0200 + +apt (0.8.16~exp5ubuntu5) oneiric; urgency=low + + * debian/control: + - fix VCS location + * methods/mirror.cc: + - include the architecture(s) in the query string as well so + that the server can make better decisions + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 11 Aug 2011 18:03:19 +0200 + +apt (0.8.16~exp5ubuntu4) oneiric; urgency=low + + * Merge change from Robert Collins to upgrade ubuntu-keyring recommends + to a hard dependency to match Debian behaviour and fix LP: #816606 + + -- Adam Conrad <adconrad@ubuntu.com> Tue, 09 Aug 2011 14:48:24 -0600 + +apt (0.8.16~exp5ubuntu3) oneiric; urgency=low + + * apt-pkg/acquire.cc: + - fix potential divide-by-zero (LP: #823277) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 09 Aug 2011 15:56:44 +0200 + +apt (0.8.16~exp5ubuntu2) oneiric; urgency=low + + * 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 + * apt-pkg/pkgcachegen.cc: + - fix incorrect comparision when checking sources.list freshness + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 09 Aug 2011 09:22:14 +0200 + +apt (0.8.16~exp5ubuntu1) oneiric; urgency=low + + * merged new version from debian/experimental, this includes + a ABI break and two new library packages + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 08 Aug 2011 14:30:07 +0200 + +apt (0.8.16~exp5) UNRELEASED; urgency=low + + * 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) + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 29 Jul 2011 13:44:01 +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.6) unstable; urgency=low [ Michael Vogt ] @@ -24,6 +185,14 @@ apt (0.8.15.6) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Mon, 15 Aug 2011 09:20:35 +0200 +apt (0.8.15.5ubuntu1) oneiric; urgency=low + + * apt-pkg/pkgcachegen.{cc,h}: + - fix crash when P.Arch() was used but the cache got remapped + (LP: #812862) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 01 Aug 2011 15:18:50 +0200 + apt (0.8.15.5) unstable; urgency=low [ David Kalnischkies ] @@ -32,6 +201,28 @@ apt (0.8.15.5) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 28 Jul 2011 16:49:15 +0200 +apt (0.8.15.4ubuntu2) oneiric; urgency=low + + * 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) + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 29 Jul 2011 18:25:22 +0200 + +apt (0.8.15.4ubuntu1) oneiric; urgency=low + + * merged from debian-sid + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 26 Jul 2011 13:19:49 +0200 + apt (0.8.15.4) unstable; urgency=low [ David Miller ] @@ -96,6 +287,39 @@ apt (0.8.15.3) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Mon, 25 Jul 2011 15:04:43 +0200 +apt (0.8.15.2ubuntu2) oneiric; urgency=low + + * cmdline/apt-get.cc: + - fix missing download progress in apt-get download + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 22 Jul 2011 13:20:49 +0200 + +apt (0.8.15.2ubuntu1) oneiric; 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" + + [ 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) + * apt-pkg/init.cc: + - use CndSet in pkgInitConfig (Closes: #629617) + * apt-pkg/depcache.cc: + - change default of APT::AutoRemove::SuggestsImportant to true + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 15 Jul 2011 10:16:45 +0200 + apt (0.8.15.2) unstable; urgency=high * fix from David Kalnischkies for the InRelease gpg verification @@ -103,6 +327,24 @@ apt (0.8.15.2) unstable; urgency=high -- Michael Vogt <mvo@debian.org> Tue, 12 Jul 2011 11:54:47 +0200 +apt (0.8.15.1ubuntu2) oneiric; urgency=low + + [ Brian Murray ] + * apt-pkg/deb/dpkgpm.cc: + - do not report errors encountered when decompressing packages + + [ Michael Vogt ] + * fix from David Kalnischkies for the InRelease gpg verification + code (LP: #784473) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 13 Jul 2011 14:42:02 +0200 + +apt (0.8.15.1ubuntu1) oneiric; urgency=low + + * merge from debian/sid + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 30 Jun 2011 09:16:12 +0100 + apt (0.8.15.1) unstable; urgency=low [ David Kalnischkies ] @@ -126,6 +368,17 @@ apt (0.8.15.1) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 30 Jun 2011 10:05:36 +0200 +apt (0.8.15ubuntu1) oneiric; urgency=low + + * merged from debian-unstable, remainging changes: + - use ubuntu keyring and ubuntu archive keyring in apt-key + - run update-apt-xapian-index in apt.cron + - support apt-key net-update and verify keys against master-keyring + - run apt-key net-update in cron.daily + - different example sources.list + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 29 Jun 2011 09:03:39 +0100 + apt (0.8.15) unstable; urgency=low [ Julian Andres Klode ] @@ -235,6 +488,280 @@ apt (0.8.15) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Tue, 28 Jun 2011 18:00:48 +0200 +apt (0.8.15~exp3) experimental; urgency=low + + * debian/control: + - add Breaks: 0.8.15~exp3) for libapt-pkg4.10 and + libapt-inst1.2 (thanks to Jonathan Nieder, closes: #630214) + - use depends for the ${shlibs:Depends} to make the breaks work + + -- Michael Vogt <mvo@debian.org> Fri, 17 Jun 2011 21:51:41 +0200 + +apt (0.8.15~exp2) experimental; urgency=low + + * debian/control: + - fix incorrect Replaces (closes: #630204) for libapt-inst1.2 + + -- Michael Vogt <mvo@debian.org> Wed, 15 Jun 2011 16:51:14 +0200 + +apt (0.8.15~exp1) experimental; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/depcache.cc: + - Really release action groups only once (Closes: #622744) + - Make purge work again for config-files (LP: #244598) (Closes: #150831) + * apt-pkg/acquire-item.cc: + - Reject files known to be invalid (LP: #346386) (Closes: #627642) + * debian/apt.cron.daily: + - Check power after wait, patch by manuel-soto (LP: #705269) + * debian/control: + - Move ${shlibs:Depends} to Pre-Depends, as we do not want APT + unpacked if a library is too old and thus break upgrades + * doc/apt-key.8.xml: + - Document apt-key net-update (LP: #192810) + + [ Christian Perrier ] + * Galician translation update (Miguel Anxo Bouzada). Closes: #626505 + * Italian translation update (Milo Casagrande). Closes: #627834 + * German documentation translation update (Chris Leick). Closes: #629949 + + [ David Kalnischkies ] + * fix a bunch of cppcheck warnings/errors based on a patch by + Niels Thykier, thanks! (Closes: #622805) + * apt-pkg/depcache.cc: + - really include 'rc' packages in the delete count by fixing a + typo which exists since 1999 in the source… (LP: #761175) + - if critical or-group can't be satisfied, exit directly. + * apt-pkg/acquire-method.cc: + - write directly to stdout instead of creating the message in + memory first before writing to avoid hitting limits + - fix order of CurrentURI and UsedMirror in Status() and Log() + * apt-pkg/orderlist.cc: + - let VisitRProvides report if the calls were successful + * apt-pkg/deb/dpkgpm.cc: + - replace obsolete usleep with nanosleep + * debian/apt{,-utils}.symbols: + - update both experimental symbol-files to reflect 0.8.14 state + * debian/rules: + - remove unused embedded jquery by doxygen from libapt-pkg-doc + * cmdline/apt-mark.cc: + - reimplement apt-mark in c++ + - provide a 'showmanual' command (Closes: #582791) + - provide a 'dpkg --set-selections' wrapper to set/release holds + * cmdline/apt-get.cc: + - deprecate mostly undocumented 'markauto' in favor of 'apt-mark' + * cmdline/apt-cache.cc: + - deprecate mostly undocumented 'showauto' in favor of 'apt-mark' + * apt-pkg/pkgcache.cc: + - really ignore :arch in FindPkg() in non-multiarch environment + * doc/po/de.po: + - undo the translation of the command 'dump' in manpage of apt-config + as report by Burghard Grossmann on debian-l10n-german, thanks! + * apt-pkg/deb/debmetaindex.cc: + - do not download TranslationIndex if no Translation-* will be + downloaded later on anyway (Closes: #624218) + * test/versions.lst: + - disable obscure version number tests with versions dpkg doesn't + allow any more as they don't start with a number + * apt-pkg/acquire-worker.cc: + - print filename in the unmatching size warning (Closes: #623137) + * apt-pkg/acquire-item.cc: + - apply fix for poorly worded 'locate file' error message from + Ben Finney, thanks! (Closes: #623171) + * methods/http.cc: + - add config option to ignore a closed stdin to be able to easily + use the method as a simple standalone downloader + - Location header in redirects should be absolute URI, but some + servers just send an absolute path so still deal with it properly + - dequote URL taken from Location in redirects as we will otherwise + quote an already quoted string in the request later (Closes: #602412) + * apt-pkg/contrib/netrc.cc: + - replace non-posix gnu-extension strdupa with strdup + * apt-pkg/packagemanager.cc: + - ensure for Multi-Arch:same packages that they are unpacked in + lock step even in immediate configuration (Closes: #618288) + + [ Michael Vogt ] + * methods/mirror.cc: + - ignore lines starting with "#" in the mirror file + - ignore non http urls in the mirrors + - append the dist (e.g. sid, wheezy) as a query string when + asking for a suitable mirror + * debian/control: + - add libapt-pkg4.10 and libapt-inst1.2 library packages + + -- Michael Vogt <mvo@debian.org> Fri, 10 Jun 2011 15:32:07 +0200 + +apt (0.8.14.2) UNRELEASED; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/depcache.cc: + - Really release action groups only once (Closes: #622744) + - Make purge work again for config-files (LP: #244598) (Closes: #150831) + * debian/apt.cron.daily: + - Check power after wait, patch by manuel-soto (LP: #705269) + * debian/control: + - Move ${shlibs:Depends} to Pre-Depends, as we do not want APT + unpacked if a library is too old and thus break upgrades + * doc/apt-key.8.xml: + - Document apt-key net-update (LP: #192810) + + [ Christian Perrier ] + * Galician translation update (Miguel Anxo Bouzada). Closes: #626505 + + [ David Kalnischkies ] + * fix a bunch of cppcheck warnings/errors based on a patch by + Niels Thykier, thanks! (Closes: #622805) + * apt-pkg/depcache.cc: + - really include 'rc' packages in the delete count by fixing a + typo which exists since 1999 in the source… (LP: #761175) + - if critical or-group can't be satisfied, exit directly. + * apt-pkg/acquire-method.cc: + - write directly to stdout instead of creating the message in + memory first before writing to avoid hitting limits + - fix order of CurrentURI and UsedMirror in Status() and Log() + * apt-pkg/orderlist.cc: + - let VisitRProvides report if the calls were successful + * apt-pkg/deb/dpkgpm.cc: + - replace obsolete usleep with nanosleep + * debian/apt{,-utils}.symbols: + - update both experimental symbol-files to reflect 0.8.14 state + * debian/rules: + - remove unused embedded jquery by doxygen from libapt-pkg-doc + * cmdline/apt-mark.cc: + - reimplement apt-mark in c++ + - provide a 'showmanual' command (Closes: #582791) + - provide a 'dpkg --set-selections' wrapper to set/release holds + * cmdline/apt-get.cc: + - deprecate mostly undocumented 'markauto' in favor of 'apt-mark' + * cmdline/apt-cache.cc: + - deprecate mostly undocumented 'showauto' in favor of 'apt-mark' + * apt-pkg/pkgcache.cc: + - really ignore :arch in FindPkg() in non-multiarch environment + * doc/po/de.po: + - undo the translation of the command 'dump' in manpage of apt-config + as report by Burghard Grossmann on debian-l10n-german, thanks! + * apt-pkg/deb/debmetaindex.cc: + - do not download TranslationIndex if no Translation-* will be + downloaded later on anyway (Closes: #624218) + * test/versions.lst: + - disable obscure version number tests with versions dpkg doesn't + allow any more as they don't start with a number + * apt-pkg/acquire-worker.cc: + - print filename in the unmatching size warning (Closes: #623137) + * apt-pkg/acquire-item.cc: + - apply fix for poorly worded 'locate file' error message from + Ben Finney, thanks! (Closes: #623171) + * methods/http.cc: + - add config option to ignore a closed stdin to be able to easily + use the method as a simple standalone downloader + - Location header in redirects should be absolute URI, but some + servers just send an absolute path so still deal with it properly + - dequote URL taken from Location in redirects as we will otherwise + quote an already quoted string in the request later (Closes: #602412) + * apt-pkg/contrib/netrc.cc: + - replace non-posix gnu-extension strdupa with strdup + * apt-pkg/packagemanager.cc: + - ensure for Multi-Arch:same packages that they are unpacked in + lock step even in immediate configuration (Closes: #618288) + + -- Michael Vogt <mvo@debian.org> Mon, 16 May 2011 14:57:52 +0200 + +apt (0.8.14.1ubuntu8) UNRELEASED; urgency=low + + [ Michael Vogt ] + * debian/apt.conf.changelog: + - add missing ";", thanks to Julian Andres Klode + + [ Brian Murray ] + * apt-pkg/deb/dpkgpm.cc: + - updated allocate memory string + - cannot access archive string is lowercase + * apt-pkg/deb/dpkgpm.cc: + - resolve issue where AptOrdering is included in DpkgTerminalLog in apport + attachments + + -- Brian Murray <brian@ubuntu.com> Wed, 15 Jun 2011 14:00:43 -0700 + +apt (0.8.14.1ubuntu7) oneiric; urgency=low + + [ Michael Vogt ] + * apt-pkg/deb/deblistparser.cc: + - include all known languages when building the apt cache + (LP: #794907) + * apt-pkg/deb/debindexfile.cc: + - remove some no longer valid checks for "TranslationsAvailable()" + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 09 Jun 2011 13:56:25 +0200 + +apt (0.8.14.1ubuntu6) oneiric; urgency=low + + [ Brian Murray ] + * apt-pkg/deb/dpkgpm.cc: + - prevent reporting of package installation failures due to inaccessible + local files (LP: #791102, #790040) + - include /var/log/apt/history.log in apport-package reports so we know + the context for the package management request + + [ 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 + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 07 Jun 2011 15:55:07 +0200 + +apt (0.8.14.1ubuntu5) oneiric; urgency=low + + * apt-pkg/acquire-item.cc: + - do not reject empty Packages files when checking them for + correctness + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 31 May 2011 10:41:30 +0200 + +apt (0.8.14.1ubuntu4) oneiric; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/acquire-item.cc: + - Reject files known to be invalid (LP: #346386) (Closes: #627642) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 30 May 2011 17:12:27 +0200 + +apt (0.8.14.1ubuntu3) oneiric; urgency=low + + * Rebuild with recent binutils. LP: #774175. + + -- Matthias Klose <doko@ubuntu.com> Mon, 23 May 2011 19:15:34 +0200 + +apt (0.8.14.1ubuntu2) oneiric; urgency=low + + * debian/rules: + - build in verbose mode by default (thanks to Matthias Klose) + * debian/control: + - add temporary build-dependency on gcc-4.6 (>= 4.6.0-6ubuntu2) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 03 May 2011 13:58:10 +0200 + +apt (0.8.14.1ubuntu1) oneiric; urgency=low + + [ Michael Vogt ] + * merged from the debian-sid bzr branch + + [ 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) + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 29 Apr 2011 17:55:20 +0200 + apt (0.8.14.1) unstable; urgency=low * apt-pkg/acquire-item.cc: @@ -277,6 +804,42 @@ apt (0.8.14) unstable; urgency=low -- Julian Andres Klode <jak@debian.org> Fri, 15 Apr 2011 14:28:15 +0200 +apt (0.8.13.2ubuntu3) natty-proposed; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - stop reporting of apport-package bug reports regarding + dpkg I/O errors (LP: #767776) + + -- Brian Murray <brian@ubuntu.com> Wed, 20 Apr 2011 15:05:12 -0700 + +apt (0.8.13.2ubuntu2) natty; urgency=low + + [ Michael Vogt ] + * debian/apt.cron.daily: + - run unattended-upgrades even if there was a error during + the apt-get update (LP: #676295) + + [ Julian Andres Klode ] + * apt-pkg/indexcopy.cc: + - Use RealFileExists() instead of FileExists(), allows amongst other + things a directory named Sources to exist on a CD-ROM (LP: #750694). + + [ David Kalnischkies ] + * apt-pkg/pkgcache.cc: + - use the native Architecture stored in the cache header instead of + loading it from configuration as suggested by Julian Andres Klode + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 07 Apr 2011 12:52:21 +0200 + +apt (0.8.13.2ubuntu1) natty; urgency=low + + * merge fixes from debian-sid, most notable the handling of + arch=all architectures in python-apt (LP: #733741) + * apt-pkg/aptconfiguration.cc: + - fix comparing for a empty string + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 05 Apr 2011 13:19:56 +0200 + apt (0.8.13.2) unstable; urgency=low [ David Kalnischkies ] @@ -313,6 +876,12 @@ apt (0.8.13.2) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Tue, 05 Apr 2011 09:40:28 +0200 +apt (0.8.13.1ubuntu1) natty; urgency=low + + * merged fixes from the debian-sid (LP: #744832) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 04 Apr 2011 14:40:51 +0200 + apt (0.8.13.1) unstable; urgency=low * apt-pkg/acquire-item.cc: Use stat buffer if stat was @@ -320,6 +889,24 @@ apt (0.8.13.1) unstable; urgency=low -- Julian Andres Klode <jak@debian.org> Sat, 02 Apr 2011 20:55:35 +0200 +apt (0.8.13ubuntu2) natty; urgency=low + + * po/makefile: + - add hack to run MSGMERGE again if it segfaults. this is to help + powerpc to bootstrap + * mirror method: + - merge fix from Matt Zimmerman, many thanks (LP: #741098) + - do not crash if the mirror file fails to download + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 24 Mar 2011 18:01:38 +0100 + +apt (0.8.13ubuntu1) natty; urgency=low + + * merged from debian/sid, this adds important fixes in the + apt mirror method + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 16 Mar 2011 08:23:19 +0100 + apt (0.8.13) unstable; urgency=low [ Thorsten Spindler ] @@ -341,6 +928,29 @@ apt (0.8.13) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Wed, 16 Mar 2011 08:04:42 +0100 +apt (0.8.12ubuntu2) unstable; urgency=low + + [ Thorsten Spindler ] + * methods/rsh.cc + - fix rsh/ssh option parsing (LP: #678080), thanks to + Ville Mattila + + [ Michael Vogt ] + * apt-pkg/acquire-item.cc: + - mark pkgAcqIndexTrans as Index-File to avoid asking the + user to insert the CD on each apt-get update + * methods/mirror.cc: + - improve debug output and fix bug in TryNextMirror + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 10 Mar 2011 15:56:54 +0100 + +apt (0.8.12ubuntu1) natty; urgency=low + + * merged from debian/sid, this adds important fixes in the udev based + cdrom handling and multiarch handling + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 10 Mar 2011 16:12:22 +0100 + apt (0.8.12) unstable; urgency=low [ Michael Vogt ] @@ -394,6 +1004,23 @@ apt (0.8.12) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 10 Mar 2011 14:46:48 +0100 +apt (0.8.11.5ubuntu2) natty; urgency=low + + [ Michael Vogt ] + * apt-pkg/deb/debindexfile.cc: + - ignore missing deb-src files in /var/lib/apt/lists, thanks + to Thorsten Spindler (LP: #85590) + * apt-pkg/contrib/fileutl.cc, apt-pkg/deb/dpkgpm.cc: + - honor Dpkg::Chroot-Directory in the RunScripts*() methods + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 03 Mar 2011 17:39:30 +0100 + +apt (0.8.11.5ubuntu1) natty; urgency=low + + * Merged from debian/sid + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 18 Feb 2011 12:01:19 +0100 + apt (0.8.11.5) unstable; urgency=low [ Christian Perrier ] @@ -625,6 +1252,27 @@ apt (0.8.10.1) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Mon, 17 Jan 2011 13:41:04 +0100 +apt (0.8.10ubuntu2) UNRELEASED; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - ignore lzma "Cannot allocate memory" errors, thanks to Brian + Murray + - add i18n support for the "short read in buffer_copy %s" handling + from dpkg + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 11 Jan 2011 18:26:05 +0100 + +apt (0.8.10ubuntu1) natty; urgency=low + + [ Julian Andres Klode ] + * cmdline/apt-cache.cc: Create an error for apt-cache depends + if packages could not found (LP: #647045) + + [ Michael Vogt ] + * merged from debian-sid + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 07 Dec 2010 15:53:49 +0100 + apt (0.8.10) unstable; urgency=low [ Programs translations ] @@ -644,6 +1292,48 @@ apt (0.8.10) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Tue, 30 Nov 2010 10:42:17 +0100 +apt (0.8.9ubuntu4) natty; urgency=low + + [ Michael Vogt ] + * cmdline/apt-key: + - set timeout of wget for net-update to 90 seconds (thanks to \sh) + + [ Martin Pitt ] + * Revert r1819 and r1820 to disable compressed indexes by default again. + Testing has brought up a few places where this seriously degrades + performance, mostly in applications which iterate through all available + package records, like update-apt-xapian-index or synaptic. See + https://bugs.launchpad.net/ubuntu/+bugs?field.tag=apt-compressed-indexes + + -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 25 Nov 2010 08:50:37 +0100 + +apt (0.8.9ubuntu3) natty; urgency=low + + * methods/http.cc: + - do not hang if Acquire::http::ProxyAutoDetect can not be + executed or returns no data (LP: #654393) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 22 Nov 2010 10:42:50 +0100 + +apt (0.8.9ubuntu2) natty; urgency=low + + * drop apt-changelog, apt-get changelog implements all the + features it provides + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 18 Nov 2010 15:22:40 +0100 + +apt (0.8.9ubuntu1) natty; urgency=low + + * re-merged from the debian-sid bzr branch + * merged lp:~mvo/apt/mvo, this brings two new commands: + - apt-get download binary-pkgname to download a deb + - apt-get changelog binary-pkgname to display the changelog + * cmdline/apt-get.cc: + - if the changelog download failed, do not show the generic error + but point to launchpad instead + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 18 Nov 2010 15:02:14 +0100 + apt (0.8.9) unstable; urgency=low [ Christian Perrier ] @@ -675,6 +1365,47 @@ apt (0.8.9) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 18 Nov 2010 09:25:04 +0100 +apt (0.8.8ubuntu3) natty; urgency=low + + * cmdline/apt-changelog: Filter out multiple results for a source package, + just take the latest one. + * cmdline/apt-changelog: Read server name from configuration + APT::Changelog::Server instead of hardcoding it. This allows local users + to point to a local changelog mirror, or make this script work for Debian. + * Add debian/apt.conf.changelog: Configuration for apt-changelog with the + server for Ubuntu (changelogs.ubuntu.com). Install it in debian/rules. + * doc/apt-changelog.1.xml: Document the new option. + * test/integration/test-compressed-indexes, test/test-indexes.sh: + - Explicitly disable compressed indexes at the start. This ensures that we + will actually test uncompressed indexes regardless of the internal + default value of Acquire::GzipIndexes. + * apt-pkg/acquire-item.cc: Set Acquire::GzipIndexes to "true" by default, to + store compressed indexes. This feature is now mature enough for general + consumption. Update doc/apt.conf.5.xml accordingly. + * apt-pkg/aptconfiguration.cc: Have Acquire::CompressionTypes::Order default + to preferring "gz", so that compressed indexes will actually work. + + -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 15 Nov 2010 12:14:15 +0100 + +apt (0.8.8ubuntu2) natty; urgency=low + + * Add cmdline/apt-changelog: Script to fetch package changelog from + changelogs.ubuntu.com. Install it in cmdline/makefile and debian/rules. + * Add doc/apt-changelog.1.xml, and install it in debian/rules. + + -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 09 Nov 2010 11:32:27 +0100 + +apt (0.8.8ubuntu1) natty; urgency=low + + * merged from debian-unstable, remainging changes: + - use ubuntu keyring and ubuntu archive keyring in apt-key + - run update-apt-xapian-index in apt.cron + - support apt-key net-update and verify keys against master-keyring + - run apt-key net-update in cron.daily + - different example sources.list + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 29 Oct 2010 10:07:09 -0400 + apt (0.8.8) unstable; urgency=low [ David Kalnischkies ] @@ -694,6 +1425,17 @@ apt (0.8.8) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 28 Oct 2010 21:22:21 +0200 +apt (0.8.7ubuntu1) natty; urgency=low + + * merged from debian-unstable, remainging changes: + - use ubuntu keyring and ubuntu archive keyring in apt-key + - run update-apt-xapian-index in apt.cron + - support apt-key net-update and verify keys against master-keyring + - run apt-key net-update in cron.daily + - different example sources.list + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 15 Oct 2010 18:31:17 +0200 + apt (0.8.7) unstable; urgency=low [ Manpages translations ] @@ -812,6 +1554,92 @@ apt (0.8.4) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Fri, 10 Sep 2010 20:45:15 +0200 +apt (0.8.3ubuntu7) maverick; urgency=low + + [ David Kalnischkies ] + * apt-pkg/depcache.cc: + - do not remove packages which the user requested for installation + explicitly while satisfying other install requests (Closes: #598669) + Test case: debootstrap, install exim4, run "apt-get install postfix" + This will result in exim4-heavy instead of postfix + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 05 Oct 2010 14:13:38 +0200 + +apt (0.8.3ubuntu6) maverick; urgency=low + + [ Michael Vogt ] + * debian/apt.cron.daily: + - source /etc/default/locale (if available) so that the + apt-get update cron job fetches the right translated package + descriptions (LP: #652951) + + [ David Kalnischkies ] + * apt-pkg/depcache.cc: + - do not check endpointer packages instead of only those which prevented + NeverAutoRemove settings from having an effect (Closes: #598452) + * cmdline/apt-cache.cc: + - use the TranslatedDescription for searching and not the first + available one as it is maybe not an expected language (Closes: #597925) + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 01 Oct 2010 15:25:00 +0200 + +apt (0.8.3ubuntu5) maverick; urgency=low + + * debian/apt.dirs: + - add missing /usr/share/apt so that the keyring is installed + into the right place (LP: #620576) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 22 Sep 2010 18:34:18 +0200 + +apt (0.8.3ubuntu4) maverick; urgency=low + + * merged lp:~mvo/apt/conflicts-on-virtuals to better deal + with conflicts/breaks against virtual packages (LP: #614993) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 15 Sep 2010 19:48:26 +0200 + +apt (0.8.3ubuntu3) maverick; urgency=low + + * merged fixes from debian-sid + + [ Michael Vogt ] + * apt-pkg/contrib/cdromutl.cc: + - if apt-cdrom is used on writable media (like usb-sticks), do + not use the root directory to identify the medium (as all + changes there change the ident id). Use the .disk directory + instead + + [ David Kalnischkies ] + * ftparchive/writer.cc: + - null the valid string instead of the date if Valid-Until is not set + * apt-pkg/acquire-item.cc: + - use also unsigned Release files again (Closes: #596189) + + [ Christian Perrier ] + * Fix missing space after dot in a message from apt-pkg + Translations unfuzzied. Thanks to Holger Wansing. + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 10 Sep 2010 21:45:49 +0200 + +apt (0.8.3ubuntu2) maverick; urgency=low + + * ftparchive/writer.cc: + - write out {Files,Checksum-Sha1,Checksum-Sha256} only if + available LP: #633967. Thanks to Colin Watson + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 09 Sep 2010 15:30:19 +0200 + +apt (0.8.3ubuntu1) maverick; urgency=low + + * merged fixes from debian-sid + * debian/rules: + - put ubuntu-archive.gpg back into the package (LP: #620576) + * apt-pkg/init.cc: + - ignore ".distUpgrade" and ".save" files in sources.list.d + (LP: #631770) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 07 Sep 2010 09:27:24 +0200 + apt (0.8.3) unstable; urgency=low [ Programs translations ] @@ -904,6 +1732,69 @@ apt (0.8.1) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Fri, 03 Sep 2010 18:36:11 +0200 +apt (0.8.0ubuntu3) maverick; urgency=low + + * merged fixes from the debian-sid bzr branch: + + [ Programs translations ] + * Simplified Chinese (Aron Xu). Closes: #594458 + * Bulgarian (Damyan Ivanov). Closes: #594627 + * Portuguese (Miguel Figueiredo). Closes: #594668 + * Korean (Changwoo Ryu). Closes: #594809 + + [ Manpages translations ] + * Portuguese (Américo Monteiro) + + [ David Kalnischkies ] + * cmdline/apt-cache.cc: + - remove useless GetInitialize method + * cmdline/apt-get.cc: + - remove direct calls of ReadMainList and use the wrapper instead + to protect us from useless re-reads and two-times notice display + - remove death code by removing unused GetInitialize + * apt-pkg/depcache.cc: + - now that apt-get purge works on 'rc' packages let the MarkDelete + pass this purge forward to the non-pseudo package for pseudos + * apt-pkg/contrib/fileutl.cc: + - apply SilentlyIgnore also on files without an extension + * apt-pkg/contrib/configuration.cc: + - fix autoremove by using correct config-option name and + don't make faulty assumptions in error handling (Closes: #594689) + * apt-pkg/versionmatch.cc: + - let the pin origin actually work as advertised in the manpage + which means "" are optional and pinning a local archive does + work - even if it is a non-flat archive (Closes: #594435) + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 03 Sep 2010 17:05:53 +0200 + +apt (0.8.0ubuntu2) maverick; urgency=low + + * merged fixes from the debian-sid bzr branch: + + [ Programs translations ] + * Thai (Theppitak Karoonboonyanan). Closes: #592695 + * Russian (Yuri Kozlov). Closes: #594232 + * Slovak (Ivan Masár). Closes: #594255 + * Swedish (Daniel Nylander). Closes: #594241 + * Japanese (Kenshi Muto, Osamu Aoki). Closes: #594265 + * Italian (Milo Casagrande). Closes: #594238 + * Asturian (maacub). Closes: #594303 + + [ Christian Perrier ] + * Fix spelling error in cmdline/apt-get.cc. Thanks to Osamu Aoki + Closes: #594211 + + [ David Kalnischkies ] + * show in madison command again also source packages (LP: #614589) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 26 Aug 2010 18:56:23 +0200 + +apt (0.8.0ubuntu1) maverick; urgency=low + + * merged from debian/unstable + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 24 Aug 2010 21:39:06 +0200 + apt (0.8.0) unstable; urgency=low [ Michael Vogt ] @@ -946,6 +1837,20 @@ apt (0.8.0~pre2) experimental; urgency=low -- Michael Vogt <mvo@debian.org> Mon, 23 Aug 2010 19:09:08 +0200 +apt (0.8.0~pre1ubuntu2) maverick; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - enable apport reports again (got lost in the previous merge), + thanks to Matt Zimmerman + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 23 Aug 2010 13:53:09 +0200 + +apt (0.8.0~pre1ubuntu1) maverick; urgency=low + + * merged fixes from debian/experimental + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 13 Aug 2010 17:49:40 +0200 + apt (0.8.0~pre1) experimental; urgency=low [ Programs translations ] @@ -988,6 +1893,56 @@ apt (0.8.0~pre1) experimental; urgency=low -- Michael Vogt <mvo@debian.org> Fri, 13 Aug 2010 17:00:49 +0200 +apt (0.7.26~exp12ubuntu4) maverick; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/contrib/fileutl.cc: + - Add WriteAtomic mode. + - Revert WriteEmpty to old behavior (LP: #613211) + * apt-pkg, methods: + - Convert users of WriteEmpty to WriteAtomic. + * apt-pkg/depcache.cc: + - Only try upgrade for Breaks if there is a newer version, otherwise + handle it as Conflicts (by removing it) (helps for #591882). + + [ Michael Vogt ] + * debian/control: + - Add recommends on gnupg to apt, apt-key uses it. + (changed from debian) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 11 Aug 2010 12:01:30 +0200 + +apt (0.7.26~exp12ubuntu3) maverick; urgency=low + + [ Colin Watson ] + * apt-pkg/cdrom.cc: + - fix off-by-one error in DropBinaryArch + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 02 Aug 2010 21:04:18 +0200 + +apt (0.7.26~exp12ubuntu2) maverick; urgency=low + + * debian/apt.postinst: + - do not fail if ubuntu-keyring is not installed + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 02 Aug 2010 11:47:59 +0200 + +apt (0.7.26~exp12ubuntu1) maverick; urgency=low + + * ABI break upload + * merged from debian/experimental, remaining changes: + - use ubuntu keyring and ubuntu archive keyring in apt-key + - run update-apt-xapian-index in apt.cron + - support apt-key net-update and verify keys against master-keyring + - run apt-key net-update in cron.daily + - different example sources.list + * debian/apt.postinst + - drop set_apt_proxy_from_gconf(), no longer needed in maverick + * apt-pkg/pkgcache.cc: + - re-evaluate the architectures cache when the cache is (re)opened + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 30 Jul 2010 19:32:15 +0200 + apt (0.7.26~exp12) experimental; urgency=low [ Michael Vogt ] @@ -1602,6 +2557,152 @@ apt (0.7.26~exp1) experimental; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 18 Feb 2010 16:11:39 +0100 +apt (0.7.25.3ubuntu10) maverick; urgency=low + + [ Michael Vogt ] + * debian/apt.conf.ubuntu: + - no longer install (empty) apt.conf.d/01ubuntu + * apt-pkg/deb/dpkgpm.cc: + - make the apt/term.log output unbuffered (thanks to Matt Zimmerman) + - fix FTBFS (LP: #600155) + + [ Matthias G. ] + * apt-pkg/deb/dpkgpm.cc: + - Fix segmentation fault when /var/log/apt ist missing. LP: #535509 + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 08 Jul 2010 09:37:03 +0200 + +apt (0.7.25.3ubuntu9) lucid-proposed; urgency=low + + * debian/apt.postinst: + - do not fail if getent returns nothing useful (LP: #579647) + thanks to Jean-Baptiste Lallement + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 14 May 2010 09:40:50 +0200 + +apt (0.7.25.3ubuntu8) lucid-proposed; urgency=low + + [ Loïc Minier ] + * Use https:// in Vcs-Bzr URL. + + [ Michael Vogt ] + * apt-pkg/deb/debrecords.cc: + - fix max tag buffer size (LP: #545336, closes: #578959) + * apt-pkg/indexfile.cc: + - If no "_" is found in the language code, try to find a "." + This is required for languages like Esperanto that have no + county associated with them (LP: #560956) + Thanks to "Aisano" for the fix + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 05 May 2010 10:33:46 +0200 + +apt (0.7.25.3ubuntu7) lucid; urgency=low + + Cherry pick fixes from the lp:~mvo/apt/mvo branch: + + [ Evan Dandrea ] + * Remember hosts with general failures for + https://wiki.ubuntu.com/NetworklessInstallationFixes (LP: #556831). + + [ Michael Vogt ] + * improve debug output for Debug::pkgPackageManager + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 14 Apr 2010 20:30:03 +0200 + +apt (0.7.25.3ubuntu6) lucid; urgency=low + + * cmdline/apt-get.cc: + - fix crash when pkg.VersionList() is empty (LP: #556056) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 08 Apr 2010 21:13:25 +0200 + +apt (0.7.25.3ubuntu5) lucid; urgency=low + + [ David Kalnischkies ] + * cmdline/apt-get.cc: + - try version match in FindSrc first exact than fuzzy (LP: #551178) + + [ Jean-Baptiste Lallement ] + * apt-pkg/contrib/strutl.cc: + - always escape '%' (LP: #130289) (Closes: #500560) + - unescape '%' sequence only if followed by 2 hex digit + - username/password are urlencoded in proxy string (RFC 3986) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 31 Mar 2010 21:59:42 +0200 + +apt (0.7.25.3ubuntu4) lucid; urgency=low + + [ David Kalnischkies ] + * apt-pkg/deb/debversion.cc: + - consider absent of debian revision equivalent to 0 (Closes: #573592) + LP: #540228 + * cmdline/apt-get.cc, apt-pkg/cdrom.cc: + - fix memory leaks in error conditions in DoSource() + * apt-pkg/deb/dpkgpm.cc: + - fix error message construction in OpenLog() + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 26 Mar 2010 16:57:49 +0100 + +apt (0.7.25.3ubuntu3) lucid; urgency=low + + * apt-pkg/indexfile.cc: + - remove "cs" from languages that need the full langcode when + downloading translations (thanks to Steve Langasek) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 15 Mar 2010 09:42:39 +0100 + +apt (0.7.25.3ubuntu2) lucid; urgency=low + + [ Michael Vogt ] + * abicheck/ + - add new abitest tester using the ABI Compliance Checker from + http://ispras.linuxfoundation.org/index.php/ABI_compliance_checker + * debian/apt.conf.autoremove: + - add "oldlibs" to the APT::Never-MarkAuto-Sections as its used + for transitional packages + * apt-pkg/deb/dpkgpm.cc: + - fix backgrounding when dpkg runs (closes: #486222) + * cmdline/apt-mark: + - show error on incorrect aguments (LP: #517917), thanks to + Torsten Spindler + * cmdline/apt-get.cc: + - if apt-get source foo=version or foo/distro can not be found, + error out (LP: #502641) + * apt-pkg/indexfile.cc: + - deal correctly with three letter langcodes (LP: #391409) + * debian/apt.cron.daily: + - do not look into admin users gconf anymore for the http proxy + the user now needs to use the "Apply system-wide" UI in the + gnome-control-center to set it + * debian/apt.postinst: + - add set_apt_proxy_from_gconf() and run that once on upgrade if + there is no proxy configured already system-wide (LP: #432631) + From that point on gnome-control-center will have to warn if + the user makes changes to the proxy settings and does not apply + them system wide + + [ Robert Collins ] + * Change the package index Info methods to allow apt-cache policy to be + useful when using several different archives on the same host. + (Closes: #329814, LP: #22354) + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 12 Mar 2010 23:10:52 +0100 + +apt (0.7.25.3ubuntu1) lucid; urgency=low + + [ Michael Vogt ] + * merged with the debian-sid branch + * methods/http.cc: + - add Acquire::http::ProxyAutoDetect configuration that + can be used to call a external helper to figure out the + proxy configuration and return it to apt via stdout + (this is a step towards WPAD and zeroconf/avahi support) + + [ Ivan Masár ] + * Slovak translation update. Closes: #568294 + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 17 Feb 2010 23:33:32 +0100 + apt (0.7.25.3) unstable; urgency=low [ Christian Perrier ] @@ -1722,6 +2823,39 @@ apt (0.7.25.1) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Sat, 09 Jan 2010 21:52:36 +0100 +apt (0.7.25ubuntu4) lucid; urgency=low + + * cmdline/apt-cdrom.cc: + - make Acquire::cdrom::AutoDetect default, this can be + turned off with "--no-auto-detect" + * methods/http.cc: + - add cache-control headers even if no cache is given to allow + adding options for intercepting proxies + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 02 Feb 2010 16:58:59 -0800 + +apt (0.7.25ubuntu3) lucid; urgency=low + + * cmdline/apt-get.cc: + - don't mark as manually if in download only (Closes: #468180) + + -- Michael Vogt <mvo@debian.org> Mon, 01 Feb 2010 18:41:15 +0100 + +apt (0.7.25ubuntu2) lucid; urgency=low + + * Change history branch so that it does not break the + apt ABI for the pkgPackageManager interface + (can be reverted on the next ABI break) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 23 Dec 2009 10:14:16 +0100 + +apt (0.7.25ubuntu1) lucid; urgency=low + + * Merged from the mvo branch + * merged from the lp:~mvo/apt/history branch + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 22 Dec 2009 09:44:08 +0100 + apt (0.7.25) unstable; urgency=low [ Christian Perrier ] @@ -1865,6 +2999,29 @@ apt (0.7.25) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Tue, 15 Dec 2009 09:21:55 +0100 +apt (0.7.24ubuntu1) lucid; urgency=low + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.cc: + - include df -l output in the apport log as well (thanks to + tjaalton) + * apt-pkg/packagemanager.cc: + - add output about pre-depends configuring when debug::pkgPackageManager + is used + * methods/https.cc: + - fix incorrect use of CURLOPT_TIMEOUT, closes: #497983, LP: #354972 + thanks to Brian Thomason for the patch + * merge lp:~mvo/apt/netrc branch, this adds support for a + /etc/apt/auth.conf that can be used to store username/passwords + in a "netrc" style file (with the extension that it supports "/" + in a machine definition). Based on the maemo git branch. + + [ Brian Murray ] + * apt-pkg/depcache.cc, apt-pkg/indexcopy.cc: + - typo fix (LP: #462328) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 14 Dec 2009 09:27:26 +0100 + apt (0.7.24) unstable; urgency=low [ Nicolas François ] @@ -1934,6 +3091,59 @@ apt (0.7.24) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Fri, 25 Sep 2009 19:57:25 +0200 +apt (0.7.23.1ubuntu2) karmic; urgency=low + + [ Michael Vogt ] + * debian/control: + - fix Vcr-Bzr header + + [ Kees Cook ] + * debian/apt.cron.daily: + - fix quotes for use with "eval", thanks to Lars Ljung (LP: #449535). + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 15 Oct 2009 19:05:19 +0200 + +apt (0.7.23.1ubuntu1) karmic; urgency=low + + [ Matt Zimmerman ] + * apt-pkg/deb/dpkgpm.cc: + - Suppress apport reports on dpkg short reads (these I/O errors are not + generally indicative of a bug in the packaging) + + [ Loïc Minier ] + * cmdline/apt-key: + - Emit a warning if removed keys keyring is missing and skip associated + checks (LP: #218971) + + [ Brian Murray ] + * cmdline/apt-get.cc: + - typo fix (LP: #370094) + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.cc: + - when tcgetattr() returns non-zero skip all pty magic + (thanks to Simon Richter, closes: #509866) + * apt-inst/contrib/arfile.cc: + - show propper error message for Invalid archive members + * apt-pkg/acquire-worker.cc: + - show error details of failed methods + * apt-pkg/contrib/fileutl.cc: + - if a process aborts with signal, show signal number + * methods/http.cc: + - ignore SIGPIPE, we deal with EPIPE from write in + HttpMethod::ServerDie() (LP: #385144) + * debian/apt.cron.daily: + - if the timestamp is too far in the future, delete it + (LP: #135262) + + [ Merge ] + * merged from debian, reverted the libdlopen-udev branch + because its too late in the release process for this now + * not merged the proxy behaviour change from 0.7.23 (that will + be part of lucid) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 23 Sep 2009 18:15:10 +0200 + apt (0.7.23.1) unstable; urgency=low [ Michael Vogt ] @@ -2163,6 +3373,34 @@ apt (0.7.22) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Wed, 29 Jul 2009 19:16:22 +0200 +apt (0.7.21ubuntu1) karmic; urgency=low + + * merged from the debian-sid bzr branch + + [ Christian Perrier ] + * Documentation translations: + - Fix a typo in apt-get(8) French translation. Closes: #525043 + Thanks to Guillaume Delacour for spotting it. + * Translations: + - fr.po + - sk.po. Closes: #525857 + - ru.po. Closes: #526816 + - eu.po. Closes: #528985 + - zh_CN.po. Closes: #531390 + - fr.po + - it.po. Closes: #531758 + - ca.po. Closes: #531921 + * Added translations + - ast.po (Asturian by Marcos Alvareez Costales). + Closes: #529007, #529730 + + [ Michael Vogt ] + * apt-pkg/acquire.cc: + - make the (internal) max pipeline depth of the acquire queue + configurable via Acquire::Max-Pipeline-Depth + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 09 Jun 2009 15:49:07 +0200 + apt (0.7.21) unstable; urgency=low [ Christian Perrier ] @@ -2206,6 +3444,125 @@ apt (0.7.21) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Tue, 14 Apr 2009 14:12:51 +0200 +apt (0.7.20.2ubuntu7) karmic; urgency=low + + * fix problematic use of tolower() when calculating the version + hash by using locale independant tolower_ascii() function. + Thanks to M. Vefa Bicakci (LP: #80248) + * build fixes for g++-4.4 + * include dmesg output in apport package failures + * include apt ordering into apport package failures + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 24 Apr 2009 10:14:01 +0200 + +apt (0.7.20.2ubuntu6) jaunty; urgency=low + + [ Jamie Strandboge ] + * apt.cron.daily: catch invalid dates due to DST time changes + in the stamp files (LP: #354793) + + [ Michael Vogt ] + * methods/gpgv.cc: + - properly check for expired and revoked keys (closes: #433091) + LP: #356012 + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 08 Apr 2009 22:39:50 +0200 + +apt (0.7.20.2ubuntu5) jaunty; urgency=low + + [ Colin Watson ] + * cmdline/acqprogress.cc: + - Call pkgAcquireStatus::Pulse even if quiet, so that we still get + dlstatus messages on the status-fd (LP: #290234). + + [ Michael Vogt ] + * debian/apt.cron.daily: + - do not clutter cron mail with bogus gconftool messages + (LP: #223502) + - merge fix for cache locking from debian (closes: #459344) + - run update-apt-xapian-index (with ionice) to ensure that + the index is up-to-date when synaptic is run (LP: #288797) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 30 Mar 2009 13:22:28 +0200 + +apt (0.7.20.2ubuntu4) jaunty; urgency=low + + * ftparchive/cachedb.cc: + - when apt-ftparchive clean is used, compact the database + at the end (thanks to cprov) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 26 Mar 2009 13:43:59 +0100 + +apt (0.7.20.2ubuntu3) jaunty; urgency=low + + * methods/mirror.cc: + - when download the mirror file and the server is down, + return a propper error message (LP: #278635) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 19 Mar 2009 15:42:15 +0100 + +apt (0.7.20.2ubuntu2) jaunty; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - revert termios patch (LP: #338514) + * cmdline/apt-get.cc + - fix "apt-get source pkg" if there is a binary package and + a source package of the same name but from different + packages (LP: #330103) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 09 Mar 2009 16:33:28 +0100 + +apt (0.7.20.2ubuntu1) jaunty; urgency=low + + [ Christian Perrier ] + * Translations: + - bg.po. Closes: #513211 + - zh_TW.po. Closes: #513311 + - nb.po. Closes: #513843 + + [ Michael Vogt ] + * merged from the debian-sid branch + * [ABI break] merge support for http redirects, thanks to + Jeff Licquia and Anthony Towns + * [ABI break] use int for the package IDs (thanks to Steve Cotton) + * apt-pkg/contrib/strutl.cc: + - fix TimeToStr i18n (LP: #289807) + * debian/apt.conf.autoremove: + - readd "linux-image" (and friends) to the auto-remove + blacklist + * fix some i18n issues (thanks to Gabor Kelemen) + LP: #263089 + * apt-pkg/deb/dpkgpm.cc: + - filter "ENOMEM" errors when creating apport reports + * cmdline/apt-get.cc: + - fix "apt-get source pkg=ver" if binary name != source name + (LP: #202219) + * apt-pkg/indexrecords.cc: + - fix some i18n issues + * apt-pkg/contrib/strutl.h: + - add new strprintf() function to make i18n strings easier + * apt-pkg/dev/debsystem.cc: + - add missing apti18n.h header + * cmdline/apt-get.cc: + - default to "false" for the "APT::Get::Build-Dep-Automatic" + option (follow debian here) + * apt-pkg/pkgcache.cc: + - do not run "dpkg --configure pkg" if pkg is in trigger-awaited + state (LP: #322955) + * methods/https.cc: + - add Acquire::https::AllowRedirect support + - do not unlink files in partial/ (thanks to robbiew) + + [ Dereck Wonnacott ] + * Clarify the --help for 'purge' (LP: #243948) + + [ Ian Weisser ] + * /apt-pkg/deb/debsystem.cc: + - add 'sudo' to the error message to "run 'dpkg --configure -a'" + (LP: #52697) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 09 Feb 2009 14:21:05 +0100 + apt (0.7.20.2) unstable; urgency=medium [ Eugene V. Lyubimkin ] @@ -2274,6 +3631,12 @@ apt (0.7.20) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Mon, 05 Jan 2009 08:59:20 +0100 +apt (0.7.19ubuntu1) jaunty; urgency=low + + * merge from debian + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 24 Nov 2008 10:52:20 +0100 + apt (0.7.19) unstable; urgency=low [ Eugene V. Lyubimkin ] @@ -2572,6 +3935,90 @@ apt (0.7.15~exp1) experimental; urgency=low -- Michael Vogt <mvo@debian.org> Tue, 16 Sep 2008 21:27:03 +0200 +apt (0.7.14ubuntu7) jaunty; urgency=low + + * cmdline/apt-cache.cc: + - remove the gettext from a string that consists entirely + of variables (LP: #56792) + * apt-pkg/deb/dpkgpm.cc: + - fix potential hang when in a backgroud process group + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 28 Oct 2008 21:09:12 +0100 + +apt (0.7.14ubuntu6) intrepid; urgency=low + + * debian/apt.conf.autoremove: + - remove "linux-image" (and friends) from the auto-remove + blacklist. we have the kernel fallback infrastructure now + in intrepid (thanks to BenC) + * apt-pkg/indexcopy.cc: + - support having CDs with no Packages file (just a Packages.gz) + by not forcing a verification on non-existing files + (LP: #255545) + * apt-pkg/deb/dpkgpm.cc: + - improve the filtering for duplicated apport reports (thanks + to seb128 for pointing that problem out) + - do not report disk full errors from dpkg via apport + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 07 Aug 2008 16:28:05 +0200 + +apt (0.7.14ubuntu5) intrepid; urgency=low + + * fix various -Wall warnings + * make "apt-get build-dep" installed packages marked automatic + by default. This can be changed by setting the value of + APT::Get::Build-Dep-Automatic to false (thanks to Aaron + Haviland, closes: #44874, LP: #248268) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 06 Aug 2008 14:00:51 +0200 + +apt (0.7.14ubuntu4) intrepid; urgency=low + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.cc: + - fix uninitialized variable that caused no apport reports + to be written sometimes (thanks to Matt Zimmerman) + * merge patch that enforces stricter https server certificate + checking (thanks to Arnaud Ebalard, closes: #485960) + * allow per-mirror specific https settings + (thanks to Arnaud Ebalard, closes: #485965) + * add doc/examples/apt-https-method-example.cof + (thanks to Arnaud Ebalard, closes: #485964) + * add DPkg::NoTriggers option so that applications that call + apt/aptitude (like the installer) defer trigger processing + (thanks to Joey Hess) + * document --install-recommends and --no-install-recommends + (thanks to Dereck Wonnacott, LP: #126180) + + [ Dereck Wonnacott ] + * apt-ftparchive might write corrupt Release files (LP: #46439) + * Apply --important option to apt-cache depends (LP: #16947) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 05 Aug 2008 10:10:49 +0200 + +apt (0.7.14ubuntu3) intrepid; urgency=low + + [ Otavio Salvador ] + * Apply patch to avoid truncating of arbitrary files. Thanks to Bryan + Donlan <bdonlan@fushizen.net> for the patch. Closes: #482476 + * Avoid using dbus if dbus-daemon isn't running. Closes: #438803 + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.cc: + - improve apt progress reporting, display trigger actions + * apt-pkg/depcache.cc: + - when checking for new important deps, skip critical ones + (LP: #236360) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 03 Jun 2008 17:27:07 +0200 + +apt (0.7.14ubuntu2) intrepid; urgency=low + + * debian/control: + - fix FTBFS by adding missing intltool dependency + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 09 May 2008 13:50:22 +0200 + apt (0.7.14) unstable; urgency=low [ Christian Perrier ] @@ -2798,6 +4245,268 @@ apt (0.7.10) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Mon, 07 Jan 2008 21:40:47 +0100 +apt (0.7.9ubuntu17) hardy-proposed; urgency=low + + * apt-pkg/acquire-item.cc: + - fix signaure removal on transient network failures LP: #220627 + (thanks to Scott James Remnant) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 22 Apr 2008 16:32:49 +0200 + +apt (0.7.9ubuntu16) hardy; urgency=low + + * cmdline/apt-key: + - only check against master-keys in net-update to not break + custom CDs (thanks to Colin Watson) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 08 Apr 2008 14:17:14 +0200 + +apt (0.7.9ubuntu15) hardy; urgency=low + + * cmdline/apt-get.cc: + - do two passes when installing tasks, first ignoring dependencies, + then resolving them and run the problemResolver at the end + so that it can correct any missing dependencies. This should + fix livecd building for kubuntu (thanks to Jonathan Riddell + for reporting the problem) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 13 Mar 2008 23:25:45 +0100 + +apt (0.7.9ubuntu14) hardy; urgency=low + + * cmdline/apt-get.cc: + - fix incorrect help output for -f (LP: #57487) + - run the problemResolver after a task was installed + so that it can correct any missing dependencies + * typo fixes (LP: #107960) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 11 Mar 2008 21:46:07 +0100 + +apt (0.7.9ubuntu13) hardy; urgency=low + + [ Lionel Porcheron ] + * debian/apt.cron.daily: + - only call gconftool if gcontool is installed (LP: #194281) + + [ Michael Vogt ] + * doc/apt_preferences.5.xml: + - fix typo (LP: #150900) + * doc/example/sources.list: + - updated for hardy (LP: #195879) + * debian/apt.cron.daily: + - sleep random amount of time (default within 0-30min) before + starting the upate to hit the mirrors less hard + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 04 Mar 2008 15:35:09 +0100 + +apt (0.7.9ubuntu12) hardy; urgency=low + + * debian/apt.cron.daily: + - use admin user proxy settings + * cmdline/apt-get.cc: + - fix task installation (thanks to Colin Watson) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 21 Feb 2008 15:07:44 +0100 + +apt (0.7.9ubuntu11) hardy; urgency=low + + * apt-pkg/algorithms.cc: + - add APT::Update::Post-Invoke-Success script slot + (LP: #188127) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 10 Jan 2008 12:06:12 +0100 + +apt (0.7.9ubuntu10) hardy; urgency=low + + * cmdline/apt-key: + - add "net-update" command that fetches the + ubuntu-archive-keyring.gpg and add keys from it that are + signed by the ubuntu-master-keyring.gpg + (apt-archive-key-signatures spec) + * debian/apt.cron.daily: + - add apt-key net-update to the nightly cron job + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 13 Feb 2008 15:50:28 +0100 + +apt (0.7.9ubuntu9) hardy; urgency=low + + * fix FTBFS due to incorrect intltool build-depends + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 11 Feb 2008 16:04:37 +0100 + +apt (0.7.9ubuntu8) hardy; urgency=low + + * share/apt-auth-failure.note: + - show update-notifier note if the nightly update fails with a + authentication failure (apt-authentication-reliability spec) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 11 Feb 2008 14:04:56 +0100 + +apt (0.7.9ubuntu7) hardy; urgency=low + + * methods/connect.cc: + - remember hosts with Resolve failures or connect Timeouts + see https://wiki.ubuntu.com/NetworklessInstallationFixes + * cmdlines/apt-key: + - fix bug in the new apt-key update code that imports only + keys signed with the master key (thanks to cjwatson) + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 08 Feb 2008 11:38:35 +0100 + +apt (0.7.9ubuntu6) hardy; urgency=low + + * cmdline/apt-key: + - add support for a master-keyring that contains signing keys + that can be used to sign the archive signing keys. This should + make key-rollover easier. + * apt-pkg/deb/dpkgpm.cc: + - merged patch from Kees Cook to fix anoying upper-case display + on amd64 in sbuild + * apt-pkg/algorithms.cc: + - add APT::Update::Post-Invoke-Success script slot + - Make the breaks handling use the kill list. This means, that a + Breaks: Pkg (<< version) may put Pkg onto the remove list. + * apt-pkg/deb/dpkgpm.cc: + - add APT::Apport::MaxReports to limit the maximum number + of reports generated in a single run (default to 3) + * apt-pkg/deb/debmetaindex.cc: + - add missing "Release" file uri when apt-get update --print-uris + is run + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 04 Feb 2008 14:28:02 +0100 + +apt (0.7.9ubuntu5) hardy; urgency=low + + * Merged apt-authentication-reliabilty branch. This means + that apt will refuse to update and use the old lists if + the authentication of a repository that used to be + authenticated fails. See + https://wiki.ubuntu.com/AptAuthenticationReliability + for more details. + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 16 Jan 2008 10:36:10 +0100 + +apt (0.7.9ubuntu4) hardy; urgency=low + + * apt-pkg/algorithms.cc: + - Since APT::Get::List-Cleanup and APT::List-Cleanup both default to + true, the effect of the compatibility code was to require both of them + to be set to false in order to disable list cleanup; this broke the + installer. Instead, disable list cleanup if either of them is set to + false. + + -- Colin Watson <cjwatson@ubuntu.com> Wed, 09 Jan 2008 22:34:37 +0000 + +apt (0.7.9ubuntu3) hardy; urgency=low + + * merged the apt--DoListUpdate branch, this provides a common interface + for "apt-get update" like operations for the frontends and also provides + hooks to run stuff in APT::Update::{Pre,Post}-Invoke + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 07 Jan 2008 19:02:11 +0100 + +apt (0.7.9ubuntu2) hardy; urgency=low + + [ Otavio Salvador ] + * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix building + with newest dpkg-shlibdeps changing the packaging building order and a + patch from Robert Millan <rmh@aybabtu.com> to fix parallel building, + closes: #452862. + * Applied patch from Alexander Winston <alexander.winston@comcast.net> + to use 'min' as symbol for minute, closes: #219034. + * Applied patch from Amos Waterland <apw@us.ibm.com> to allow apt to + work properly in initramfs, closes: #448316. + * Applied patch from Robert Millan <rmh@aybabtu.com> to make apt-key and + apt-get to ignore time conflicts, closes: #451328. + * Applied patch from Peter Eisentraut <peter_e@gmx.net> to fix a + grammatical error ("manual installed" -> "manually installed"), + closes: #438136. + * Fix cron.daily job to not call fail if apt isn't installed, closes: + #443286. + + [ Daniel Burrows ] + * apt-pkg/contrib/configuration.cc: + - if RootDir is set, then FindFile and FindDir will return paths + relative to the directory stored in RootDir, closes: #456457. + + [ Christian Perrier ] + * Fix wording for "After unpacking...". Thans to Michael Gilbert + for the patch. Closes: #260825 + + [ Program translations ] + - Vietnamese updated. Closes: #453774 + - Japanese updated. Closes: #456909 + - French updated. + + [ Michael Vogt ] + * apt-pkg/packagemanager.{cc,h}: + - propergate the Immediate flag to make hitting the + "E: Internal Error, Could not perform immediate configuration (2)" + harder. (LP: #179247) + * debian/apt.conf.daily: + - print warning if the cache can not be locked (closes: #454561), + thanks to Bastian Kleineidam + * debian/control: + - build against libdb-dev (instead of libdb4.4-dev) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 03 Jan 2008 11:31:45 +0100 + +apt (0.7.9ubuntu1) hardy; urgency=low + + * merged from http://bzr.debian.org/apt/apt/debian-sid/, remaining + changes: + - mirror download method (pending merge with debian) + - no pdiff download by default (unsuitable for ubuntu) + - no recommends-by-default yet + - add "Original-Maintainer" field to tagfile + - show warning on apt-get source if the package is maintained + in a VCS (pedinging merge with debian) + - use ubuntu-archive keyring instead of debians one + - support metapackages section for autoremoval + - debian maintainer field change + - send ubuntu string in user-agent + + * Changes from the debian-sid bzr branch (but not uploaded to debian + yet): + + [ Otavio Salvador ] + * Applied patch from Mike O'Connor <stew@vireo.org> to add a manpage to + apt-mark, closes: #430207. + * Applied patch from Andrei Popescu <andreimpopescu@gmail.com> to add a + note about some frontends in apt.8 manpage, closes: #438545. + * Applied patch from Aurelien Jarno <aurel32@debian.org> to avoid CPU + getting crazy when /dev/null is redirected to stdin (which breaks + buildds), closes: #452858. + + [ Program translations ] + - Basque updated. Closes: #453088 + + [ Michael Vogt ] + * debian/rules + - fix https install location + * methods/gpgv.cc: + - remove cruft code that caused timestamp/I-M-S issues + * ftparchive/contents.cc: + - fix error output + * methods/mirror.{cc,h}: + - only update mirror list on IndexFile updates + * apt-pkg/acquire-item.{cc,h}: + - make the authentication download code more robust against + servers/proxies with broken If-Range implementations + * debian/control: + - build against libdb-dev (instead of libdb4.4-dev) + * merged the apt--DoListUpdate branch, this provides a common interface + for "apt-get update" like operations for the frontends and also provides + hooks to run stuff in APT::Update::{Pre,Post}-Invoke + + [ Chris Cheney ] + * ftparchive/contents.cc: + - support lzma data members + * ftparchive/multicompress.cc: + - support lzma output + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 13 Dec 2007 14:46:27 +0100 + apt (0.7.9) unstable; urgency=low [ Christian Perrier ] @@ -2923,6 +4632,193 @@ apt (0.7.7) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Tue, 23 Oct 2007 14:58:03 +0200 +apt (0.7.6ubuntu14.1) gutsy-proposed; urgency=low + + [ Michael Vogt ] + * apt-pkg/deb/dpkgpm.{cc,h}: + - give up timeslice on EIO error in read from master terminal + * debian/apt.cron.daily: + - only run the cron job if apt-get check succeeds (LP: #131719) + + [ Martin Emrich ] + * apt-pkg/deb/dpkgpm.{cc,h}: + - rewrite dpkgpm.cc to use pselect() instead of select() + to block signals during select() (LP: #134858) + + -- Michael Vogt <michael.vogt@ubuntu.com> Sat, 20 Oct 2007 07:51:12 +0200 + +apt (0.7.6ubuntu14) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix resource leak (LP: #148806) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 15 Oct 2007 20:57:44 +0200 + +apt (0.7.6ubuntu13) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix crash in WriteApportReport (LP: #144537) + * apt-pkg/acquire-item.cc + - fix disappearing local Packages.gz file (LP: #131166) + * methods/https.cc: + - fix off-by-one error I-M-S handling + - cleanup after I-M-S hit + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 09 Oct 2007 01:48:26 +0200 + +apt (0.7.6ubuntu12) gutsy; urgency=low + + [ Michael Vogt ] + * cmdline/apt-mark: + - Fix chmoding after have renamed the extended-states file + (thanks to Laurent Bigonville, LP: #140019) + * apt-pkg/deb/debmetaindex.cc: comparison with string literal results + in unspecified behaviour; + * Reset curl options and timestamp between downloaded files. Thanks to + Ryan Murray <rmurray@debian.org> for the patch + + [Paul Sladen] + * Have 'cron.daily/apt' send D-Bus doesn't exist error messages + to the bit bucket. Thanks to 'dasdda'. (LP: #115397) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 03 Oct 2007 02:17:45 +0200 + +apt (0.7.6ubuntu11) gutsy; urgency=low + + * apt-pkg/contrib/mmap.cc: + - don't fail if msync() returns > 0 (LP: #144001) + + -- Colin Watson <cjwatson@ubuntu.com> Sat, 22 Sep 2007 21:39:29 +0100 + +apt (0.7.6ubuntu10) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix parse error when dpkg sends unexpected data + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 18 Sep 2007 17:25:09 +0100 + +apt (0.7.6ubuntu9) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix progress reporting precent calculation (LP: #137798) + * make apt build with g++ 4.3 + * fix missing SetExecClose() call when the status-fd is used + (LP: #136767) + * debian/apt.cron.daily: + - move unattended-upgrade before apt-get autoclean + * fix "purge" commandline argument, closes LP: #125733 + (thanks to Julien Danjou for the patch) + * cmdline/apt-get.cc: + - do not change the auto-installed information if a package + is reinstalled (LP: #139448) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 11 Sep 2007 20:55:00 +0200 + +apt (0.7.6ubuntu8) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.{cc,h}: + - fix bug in dpkg log writing when a signal is caught during + select() (LP: #134858) + - write end marker in the log as well + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 05 Sep 2007 15:03:46 +0200 + +apt (0.7.6ubuntu7) gutsy; urgency=low + + * reupload to fix FTBFS + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 16 Aug 2007 19:44:20 +0200 + +apt (0.7.6ubuntu6) gutsy; urgency=low + + * dpkg-triggers: Deal properly with new package states. + + -- Ian Jackson <iwj@ubuntu.com> Wed, 15 Aug 2007 20:44:37 +0100 + +apt (0.7.6ubuntu5) UNRELEASED; urgency=low + + * apt-pkg/acquire-item.cc: + - fix file removal on local repo i-m-s hit (LP: #131166) + * tests/local-repo: + - added regression test for this bug + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 09 Aug 2007 12:34:07 +0200 + +apt (0.7.6ubuntu4) gutsy; urgency=low + + * cmdline/apt-get.cc: + - remove YnPrompt when a XS-Vcs- tag is found, improve the + notice (LP: #129575) + * methods/copy.cc: + - take hashes here too + * apt-pkg/acquire-worker.cc: + - only pass on computed hash if we recived one from the method + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 08 Aug 2007 19:30:29 +0200 + +apt (0.7.6ubuntu3) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - fix packagename extraction when writting apport reports + * apt-pkg/pkgcachegen.cc: + - increase default mmap size (LP: #125640) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 07 Aug 2007 09:52:00 +0200 + +apt (0.7.6ubuntu2) gutsy; urgency=low + + * doc/examples/sources.list: + - change example source to gutsy + * apt-pkg/deb/dpkgpm.cc: + - do not break if no /dev/pts is available + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 06 Aug 2007 15:17:57 +0200 + +apt (0.7.6ubuntu1) gutsy; urgency=low + + [ Michael Vogt ] + * apt-inst/contrib/extracttar.cc: + - fix fd leak for zero size files (thanks to Bill Broadley for + reporting this bug) + * apt-pkg/acquire-item.cc: + - remove zero size files on I-M-S hit + * methods/https.cc: + - only send LastModified if we actually have a file + - send range request with if-range + - delete failed downloads + (thanks to Thom May for his help here) + - delete zero size I-M-S hits + * apt-pkg/deb/dpkgpm.{cc,h}: + - merged dpkg-log branch, this lets you specify a + Dir::Log::Terminal file to log dpkg output to + (ABI break) + - when writting apport reports, attach the dpkg + terminal log too + * merged apt--sha256 branch to fully support the new + sha256 checksums in the Packages and Release files + (ABI break) + * apt-pkg/pkgcachegen.cc: + - increase default mmap size + * tests/local-repo: + - added local repository testcase + * make apt build with g++ 4.3 + * fix missing SetExecClose() call when the status-fd is used + * debian/apt.cron.daily: + - move unattended-upgrade before apt-get autoclean + * fix "purge" commandline argument, closes: #133421 + (thanks to Julien Danjou for the patch) + * cmdline/apt-get.cc: + - do not change the auto-installed information if a package + is reinstalled + * cmdline/apt-mark: + - Fix chmoding after have renamed the extended-states file (LP: #140019) + (thanks to Laurent Bigonville) + + [ Ian Jackson ] + * dpkg-triggers: Deal properly with new package states. + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 02 Aug 2007 11:55:54 +0200 + apt (0.7.6) unstable; urgency=low * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong @@ -2950,6 +4846,14 @@ apt (0.7.5) unstable; urgency=low -- Otavio Salvador <otavio@ossystems.com.br> Wed, 25 Jul 2007 20:16:46 -0300 +apt (0.7.4ubuntu1) gutsy; urgency=low + + * debian/apt.conf.ubuntu, apt.conf.autoremove: + - Change metapackages to {restricted,universe,multiverse}/metapackages + in Install-Recommends-Sections and Never-MarkAuto-Sections + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 26 Jul 2007 10:42:29 +0200 + apt (0.7.4) unstable; urgency=low [ Michael Vogt ] @@ -3010,6 +4914,90 @@ apt (0.7.3) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Sun, 01 Jul 2007 12:31:29 +0200 +apt (0.7.2ubuntu7) gutsy; urgency=low + + * fix build-dependencies + * fixes in the auto-mark code (thanks to Daniel + Burrows) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 9 Jul 2007 19:02:54 +0200 + +apt (0.7.2ubuntu6) gutsy; urgency=low + + [ Michael Vogt] + * cmdline/apt-get.cc: + - make the XS-Vcs-$foo warning more copy'n'paste + friendly (thanks to Matt Zimmerman) + - ignore the Vcs-Browser tag (Fixes LP: #121770) + * debian/apt.conf.autoremove: + - added "linux-ubuntu-modules" to APT::NeverAutoRemove + + [ Sarah Hobbs ] + * Change metapackages to *metapackages in Install-Recommends-Section + and Never-MarkAuto-Section of debian/apt.conf.autoremove, so that + the Recommends of metapackages in universe and multiverse will get + installed. + * Also make this change in doc/examples/configure-index. + * Added a Build Dependancies of automake, docbook-xsl, xsltproc, xmlto, + docbook to fix FTBFS. + * Added in previous changelog entries, as those who uploaded did not + actually commit to Bzr. + + -- Sarah Hobbs <hobbsee@ubuntu.com> Mon, 09 Jul 2007 01:15:57 +1000 + +apt (0.7.2ubuntu5) gutsy; urgency=low + + * Rerun autoconf to fix the FTBFS. + + -- Michael Bienia <geser@ubuntu.com> Fri, 06 Jul 2007 19:17:33 +0200 + +apt (0.7.2ubuntu4) gutsy; urgency=low + + * Rebuild for the libcurl4 -> libcurl3 transition mess. + + -- Steve Kowalik <stevenk@ubuntu.com> Fri, 6 Jul 2007 12:44:05 +1000 + +apt (0.7.2ubuntu3) gutsy; urgency=low + + * cmdline/apt-get.cc: + - fix InstallTask code when a pkgRecord ends + with a single '\n' (thanks to Soren Hansen for reporting) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 27 Jun 2007 13:33:38 +0200 + +apt (0.7.2ubuntu2) gutsy; urgency=low + + * fixed compile errors with g++ 4.3 (thanks to + Daniel Burrows, closes: #429378) + * fix FTFBFS by changing build-depends to + libcurl4-gnutls-dev (closes: #428363) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 19 Jun 2007 13:47:03 +0200 + +apt (0.7.2ubuntu1) gutsy; urgency=low + + * apt-pkg/deb/dpkgpm.cc: + - apport integration added, this means that a apport + report is written on dpkg failures + * cmdline/apt-get.cc: + - merged http://people.ubuntu.com/~mvo/bzr/apt/xs-vcs-bzr/ + this will warn when Vcs- headers are found on apt-get source + (Fixes LP:#115959) + * merged from debian/unstable, remaining changes: + - maintainer field changed + - merged the apt--mirror branch + http://people.ubuntu.com/~mvo/bzr/apt/apt--mirror/ + - apport reporting on package install/upgrade/remove failure + - support for "Originial-Maintainer" field + - merged apt--xs-vcs-bzr branch + (http://people.ubuntu.com/~mvo/bzr/apt/xs-vcs-bzr/) + - use ubuntu archive keyring by default + - debian/apt.conf.autoremove + + install recommands for section "metapackages" + + do not mark direct dependencies of "metapackages" as autoremoved + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 14 Jun 2007 10:38:36 +0200 + apt (0.7.2-0.1) unstable; urgency=low * Non-maintainer upload. @@ -3132,6 +5120,116 @@ apt (0.7.0) experimental; urgency=low -- Michael Vogt <mvo@debian.org> Fri, 12 Jan 2007 20:48:07 +0100 +apt (0.6.46.4ubuntu10) feisty; urgency=low + + * apt-pkg/depcache.cc: + - added "APT::Never-MarkAuto-Section" and consider dependencies + of packages in this section manual (LP#59893) + - ensure proper permissions in the extended_state file (LP#67037) + * debian/apt.conf.ubuntu: + - added APT::Never-MarkAuto-Section "metapackages" (LP#59893) + * cmdline/apt-get.cc: + - "apt-get install foo" on a already installed package foo will + clean the automatic installed flag (LP#72007) + - do not show packages already marked for removal as auto-installed + (LP#64493) + - applied patch to (optionally) hide the auto-remove information + (thanks to Frode M. Døving) (LP#69148) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 14 Mar 2007 13:32:32 +0100 + +apt (0.6.46.4ubuntu9) feisty; urgency=low + + * debian/control: + - set XS-Vcs-Bzr header + - Set Ubuntu maintainer address + * apt-pkg/cdrom.cc: + - only unmount if APT::CDROM::NoMount is false + - only umount if it was mounted by the method before + * cmdline/apt-get.cc: + - fix version output in autoremove list (LP#68941) + * apt-pkg/packagemanager.cc: + - do not spin 100% cpu in FixMissing() (LP#84476) + * apt-pkg/indexfile.cc: + - fix problem overwriting APT::Acquire::Translation + * doc/examples/configure-index: + - document APT::Acquire::Translation + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 13 Mar 2007 15:24:39 +0100 + +apt (0.6.46.4ubuntu8) feisty; urgency=low + + * fix segfault in the pkgRecords destructor + * Bump ABI version + * debian/control: + - make the libcurl3-gnutls-dev versionized (LP#86614) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 26 Feb 2007 14:26:33 +0100 + +apt (0.6.46.4ubuntu7) feisty; urgency=low + + * Merged the apt--mirror branch. This means that a new 'mirror' + method is available that will allow dynamic mirror updates. + The sources.list entry looks something like this: + "deb mirror://mirrors.lp.net/get_mirror feisty main restricted" + + It also supports error reporting to a configurable url for mirror + problems/failures. + * Bump ABI version + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 6 Feb 2007 11:38:06 +0100 + +apt (0.6.46.4ubuntu6) feisty; urgency=low + + * methods/http.cc: + - send apt version in User-Agent + * apt-pkg/deb/debrecords.cc: + - fix SHA1Hash() return value + * apt-pkg/algorithms.cc: + - fix resolver bug on removal triggered by weak-dependencies + with or-groups + - fix segfault (lp: #76530) + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 20 Dec 2006 11:04:36 +0100 + +apt (0.6.46.4ubuntu5) feisty; urgency=low + + * added apt-transport-https package to provide a optional + https transport (apt-https spec) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 19 Dec 2006 16:23:43 +0100 + +apt (0.6.46.4ubuntu4) feisty; urgency=low + + * apt-pkg/algorithms.cc: + - only increase the score of installed applications if they + are not obsolete + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 18 Dec 2006 19:39:05 +0100 + +apt (0.6.46.4ubuntu3) feisty; urgency=low + + * apt-pkg/algorithm.cc: + - use clog for all debugging + * apt-pkg/depcache.cc: + - never mark Required package for autoremoval (lp: #75882) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 18 Dec 2006 11:56:05 +0100 + +apt (0.6.46.4ubuntu2) feisty; urgency=low + + * apt-pkg/algorithms.cc: add missing call to MarkKeep + so that dist-upgrade isn't broken by unsatisfiable Breaks. + (thanks to Ian Jackson) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 7 Dec 2006 23:07:24 +0100 + +apt (0.6.46.4ubuntu1) feisty; urgency=low + + * merged with debian + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 7 Dec 2006 12:13:14 +0100 + apt (0.6.46.4-0.1) unstable; urgency=emergency * NMU @@ -3161,6 +5259,26 @@ apt (0.6.46.4) unstable; urgency=high -- Michael Vogt <mvo@debian.org> Thu, 7 Dec 2006 10:49:50 +0100 +apt (0.6.46.3ubuntu2) feisty; urgency=low + + * apt-pkg/algorithms.cc: add missing call to MarkKeep + so that dist-upgrade isn't broken by unsatisfiable Breaks. + + -- Ian Jackson <iwj@ubuntu.com> Thu, 7 Dec 2006 15:46:52 +0000 + +apt (0.6.46.3ubuntu1) feisty; urgency=low + + * doc/apt-get.8.xml: + - documented autoremove, thanks to VladimÃr Lapá%GÄÂ%@ek + (lp: #62919) + * fix broken i18n in the dpkg progress reporting, thanks to + Frans Pop and Steinar Gunderson. (closes: #389261) + * po/en_GB.po: + - typo (lp: #61270) + * add apt-secure.8 to "See also" section + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 23 Nov 2006 07:24:12 +0100 + apt (0.6.46.3-0.2) unstable; urgency=high * Non-maintainer upload with permission of Michael Vogt. @@ -3273,6 +5391,173 @@ apt (0.6.46) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 21 Sep 2006 10:25:03 +0200 +apt (0.6.45ubuntu14) edgy; urgency=low + + * cmdline/apt-get.cc: + - fix in the TryInstallTask() code to make sure that all package + there are marked manual install (lp: #61684) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 28 Sep 2006 00:34:20 +0200 + +apt (0.6.45ubuntu13) edgy; urgency=low + + * no-changes upload to make apt rebuild against latest g++ and + fix synaptic FTBFS (see bug: #62461 for details) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 26 Sep 2006 22:33:10 +0200 + +apt (0.6.45ubuntu12) edgy; urgency=low + + * apt-pkg/depcache.cc: + - fix in the sweep() code, set garbage flag for packages scheduled + for removal too + - do not change the autoFlag in MarkKeep(), this can lead to suprising + side effects + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 21 Sep 2006 00:58:24 +0200 + +apt (0.6.45ubuntu11) edgy; urgency=low + + * removed "installtask" and change it so that tasknames can be given + with "apt-get install taskname^" + * improve the writeStateFile() code + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 20 Sep 2006 14:14:24 +0200 + +apt (0.6.45ubuntu10) edgy; urgency=low + + * methods/http.cc: + - check more careful for incorrect proxy settings (closes: #378868) + * methods/gzip.cc: + - don't hang when /var is full (closes: #341537), thanks to + Luis Rodrigo Gallardo Cruz for the patch + * doc/examples/sources.list: + - removed non-us.debian.org from the example (closes: #380030,#316196) + * Merged from Christian Perrier bzr branch: + * ro.po: Updated to 514t. Closes: #388402 + * dz.po: Updated to 514t. Closes: #388184 + * it.po: Fixed typos. Closes: #387812 + * ku.po: New kurdish translation. Closes: #387766 + * sk.po: Updated to 514t. Closes: #386851 + * ja.po: Updated to 514t. Closes: #386537 + * gl.po: Updated to 514t. Closes: #386397 + * fr.po: Updated to 516t. + * fi.po: Updated to 512t. Closes: #382702 + * share/archive-archive.gpg: + - removed the outdated amd64 and debian-2004 keys + * apt-pkg/tagfile.cc: + - applied patch from Jeroen van Wolffelaar to make the tags + caseinsensitive (closes: #384182) + - reverted MMap use in the tagfile because it does not work + across pipes (closes: #383487) + * added "installtask" command + * added new ubuntu specific rewrite rule for "Original-Maintainer" + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 19 Sep 2006 15:07:51 +0200 + +apt (0.6.45ubuntu9) edgy; urgency=low + + * cmdline/apt-get.cc: + - if --no-remove is given, do not run the AutoRemove code + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 13 Sep 2006 11:54:20 +0200 + +apt (0.6.45ubuntu8) edgy; urgency=low + + * apt-pkg/algorithm.cc: + - fix pkgProblemResolver.InstallProtect() to preserve the auto-install + information (lp: #59457) + * cmdline/apt-get.cc: + - fix typo in autoremove information (lp: #59420) + * install apt-mark to modify the automatically install information for + packages + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 8 Sep 2006 20:07:22 +0200 + +apt (0.6.45ubuntu7) edgy; urgency=low + + * apt-pkg/depcache.cc: + - fix a bug in the install-recommends-section code + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 7 Sep 2006 18:22:38 +0200 + +apt (0.6.45ubuntu6) edgy; urgency=low + + [Michael Vogt] + * cmdline/apt-get.cc: + - always show auto-removable packages and give a hint how to remove + them + * debian/apt.conf.ubuntu: + - exlucde linux-image and linux-restricted-modules from ever being + auto-removed + - added "metapackages" as the section we want to install recommends + by default + * apt-pkg/depcache.cc: + - added support to turn install-recommends selectively on/off by + section + [Ian Jackson] + * Tests pass without code changes! Except that we need this: + * Bump cache file major version to force rebuild so that Breaks + dependencies are included. + * Don't depend on or suggest any particular dpkg or dpkg-dev versions; + --auto-deconfigure is very very old and dpkg-dev's Breaks support + is more or less orthogonal. + * Initial draft of `Breaks' implementation. Appears to compile, + but as yet *completely untested*. + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 7 Sep 2006 11:50:52 +0200 + +apt (0.6.45ubuntu5) edgy; urgency=low + + * apt-pkg/pkgcachegen.cc: + - increase the APT::Cache-Limit to deal with the increased demand due + to the translated descriptions + * apt-pkg/deb/dpkgpm.cc: + - pass "--auto-deconfigure" to dpkg on install to support the + new "breaks" in dpkg + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 15 Aug 2006 12:06:26 +0200 + +apt (0.6.45ubuntu4) edgy; urgency=low + + * cmdline/apt-get.cc: + - fix in the new --fix-polciy code + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 14 Aug 2006 21:08:11 +0200 + +apt (0.6.45ubuntu3) edgy; urgency=low + + * ABI break + * merged latest apt--install-recommends (closes: #559000) + * added "--fix-policy" option to can be used as "--fix-broken" and + will install missing weak depends (recommends, and/or suggests + depending on the settings) + * merged the apt--ddtp branch + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 11 Aug 2006 12:53:23 +0200 + +apt (0.6.45ubuntu2) edgy; urgency=low + + * debian/control: + - switched to libdb4.4 for building (closes: #381019) + * cmdline/apt-get.cc: + - show only the recommends/suggests for the candidate-version, not for all + versions of the package (closes: #257054) + - properly handle recommends/suggests or-groups when printing the list of + suggested/recommends packages (closes: #311619) + * merged "apt--install-recommends" branch: + - added "{no-}install-recommends" commandline option + - added APT::Install-{Recommends,Suggests} option + - currently Install-Recommends defaults to "False" + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 9 Aug 2006 23:38:46 +0200 + +apt (0.6.45ubuntu1) edgy; urgency=low + + * merged with debian/unstable + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 1 Aug 2006 15:43:22 +0200 + apt (0.6.45) unstable; urgency=low * apt-pkg/contrib/sha256.cc: @@ -3318,6 +5603,37 @@ apt (0.6.45) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 27 Jul 2006 00:52:05 +0200 +apt (0.6.44.2ubuntu4) edgy; urgency=low + + * Make apt-get dselect-upgrade happy again + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 21 Jul 2006 11:03:02 +0200 + +apt (0.6.44.2ubuntu3) edgy; urgency=low + + * Close extended_states file after writing it. + + -- Colin Watson <cjwatson@ubuntu.com> Tue, 18 Jul 2006 00:12:13 +0100 + +apt (0.6.44.2ubuntu2) edgy; urgency=low + + * create a empty extended_states file if none exists already + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 4 Jul 2006 09:23:03 +0200 + +apt (0.6.44.2ubuntu1) edgy; urgency=low + + * merged with debian/unstable + * merged the "auto-mark" branch to support aptitude like + marking of automatically installed dependencies and added + "apt-get remove --auto-remove" to remove unused auto-installed + packages again + * changed library version from 3.11 to 3.50 to make it clearly + different from the debian version (we are ABI incompatible because + of the auto-mark patch) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 3 Jul 2006 18:30:46 +0200 + apt (0.6.44.2exp1) experimental; urgency=low * added support for i18n of the package descriptions @@ -3406,6 +5722,26 @@ apt (0.6.44) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Mon, 8 May 2006 22:28:53 +0200 +apt (0.6.43.3ubuntu3) dapper; urgency=low + + * methods/http.cc: + - fix the user-agent string + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 26 May 2006 18:09:32 +0200 + +apt (0.6.43.3ubuntu2) dapper; urgency=low + + * apt-pkg/deb/dpkgpm.cc: wording fixes (thanks to Matt Zimmerman) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 18 Apr 2006 13:24:40 +0200 + +apt (0.6.43.3ubuntu1) dapper; urgency=low + + * apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large in + the status-fd (ubuntu #28954) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 28 Mar 2006 20:34:46 +0200 + apt (0.6.43.3) unstable; urgency=low * Merge bubulle@debian.org--2005/apt--main--0 up to patch-186: @@ -3438,6 +5774,38 @@ apt (0.6.43.3) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Wed, 22 Feb 2006 10:13:04 +0100 +apt (0.6.43.2ubuntu1) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-182: + * ca.po: Completed to 512t. Closes: #351592 + * eu.po: Completed to 512t. Closes: #350483 + * ja.po: Completed to 512t. Closes: #349806 + * pl.po: Completed to 512t. Closes: #349514 + * sk.po: Completed to 512t. Closes: #349474 + * gl.po: Completed to 512 strings Closes: #349407 + * vi.po: Completed to 512 strings + * sv.po: Completed to 512 strings Closes: #349210 + * ru.po: Completed to 512 strings Closes: #349154 + * da.po: Completed to 512 strings Closes: #349084 + * fr.po: Completed to 512 strings + * LINGUAS: Add Welsh + * *.po: Updated from sources (512 strings) + * vi.po: Completed to 511 strings Closes: #348968 + * apt-pkg/deb/deblistparser.cc: + - don't explode on a DepCompareOp in a Provides line, but warn about + it and ignore it otherwise (thanks to James Troup for reporting it) + * cmdline/apt-get.cc: + - don't lock the lists directory in DoInstall, breaks --print-uri + (thanks to James Troup for reporting it) + * debian/apt.dirs: create /etc/apt/sources.list.d + * make apt-cache madison work without deb-src entries (#352583) + * cmdline/apt-get.cc: only run the list-cleaner if a update was + successfull + * apt-get update errors are only warnings nowdays + * be more careful with the signature file on network failures + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 20 Feb 2006 22:27:48 +0100 + apt (0.6.43.2) unstable; urgency=low * Merge bubulle@debian.org--2005/apt--main--0 up to patch-166: @@ -3461,6 +5829,24 @@ apt (0.6.43.2) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Thu, 19 Jan 2006 00:06:33 +0100 +apt (0.6.43.1ubuntu1) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-159: + - en_GB.po, de.po: fix spaces errors in "Ign " translations + Closes: #347258 + - makefile: make update-po a pre-requisite of clean target so + that POT and PO files are always up-to-date + - sv.po: Completed to 511t. Closes: #346450 + - sk.po: Completed to 511t. Closes: #346369 + - fr.po: Completed to 511t + - *.po: Updated from sources (511 strings) + * add patch to fix http download corruption problem (thanks to + Petr Vandrovec, closes: #280844, #290694) + * added APT::Periodic::Unattended-Upgrade (requires the package + "unattended-upgrade") + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 10 Jan 2006 17:09:31 +0100 + apt (0.6.43.1) unstable; urgency=low * Merge bubulle@debian.org--2005/apt--main--0 up to patch-148: @@ -3484,6 +5870,19 @@ apt (0.6.43.1) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Fri, 6 Jan 2006 01:17:08 +0100 +apt (0.6.43ubuntu2) dapper; urgency=low + + * merged some missing bits that wheren't merged by baz in the previous + upload (*grumble*) + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 8 Dec 2005 18:35:58 +0100 + +apt (0.6.43ubuntu1) dapper; urgency=low + + * merged with debian + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 25 Nov 2005 11:36:29 +0100 + apt (0.6.43) unstable; urgency=medium * Merge bubulle@debian.org--2005/apt--main--0 up to patch-132: @@ -3504,6 +5903,22 @@ apt (0.6.43) unstable; urgency=medium -- Michael Vogt <mvo@debian.org> Tue, 29 Nov 2005 00:17:07 +0100 +apt (0.6.42.3ubuntu2) dapper; urgency=low + + * Merge bubulle@debian.org--2005/apt--main--0 up to patch-131: + * zh_CN.po: Completed to 507 strings(Closes: #338267) + * gl.po: Completed to 510 strings (Closes: #338356) + * added support for "/etc/apt/sources.list.d" directory + (closes: #66325) + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 14 Nov 2005 15:30:12 +0100 + +apt (0.6.42.3ubuntu1) dapper; urgency=low + + * synced with debian + + -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 10 Nov 2005 05:05:56 +0100 + apt (0.6.42.3) unstable; urgency=low * Merge bubulle@debian.org--2005/apt--main--0 up to patch-129: @@ -3610,6 +6025,80 @@ apt (0.6.41) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Mon, 5 Sep 2005 22:59:03 +0200 +apt (0.6.40.1ubuntu8) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-62: + - fix for a bad memory/file leak in the mmap code (ubuntu #15603) + * po/de.po, po/fr.po: + - updated the translations + * po/makefile: + - create a single pot file in each domain dir to make rosetta happy + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 28 Sep 2005 10:16:06 +0200 + +apt (0.6.40.1ubuntu7) breezy; urgency=low + + * updated the pot/po files , no code changes + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 27 Sep 2005 18:38:16 +0200 + +apt (0.6.40.1ubuntu6) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-56: + - make it possible for apt to handle a failed MediaChange event and + fall back to other sources (ubuntu #13713) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 13 Sep 2005 22:09:50 +0200 + +apt (0.6.40.1ubuntu5) breezy; urgency=low + + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-{50,51}. + This adds media-change reporting to the apt status-fd (ubuntu #15213) + * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-55: + apt-pkg/cdrom.cc: + - unmount the cdrom when apt failed to locate any package files + + -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 12 Sep 2005 15:44:26 +0200 + +apt (0.6.40.1ubuntu4) breezy; urgency=low + + * debian/apt.cron.daily: + - fix a embarrassing typo + + -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 7 Sep 2005 10:10:37 +0200 + +apt (0.6.40.1ubuntu3) breezy; urgency=low + + * debian/apt.cron.daily: + - use the ctime as well when figuring what packages need to + be removed. This fixes the problem that packages copied with + "cp -a" (e.g. from the installer) have old mtimes (ubuntu #14504) + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 6 Sep 2005 18:30:46 +0200 + +apt (0.6.40.1ubuntu2) breezy; urgency=low + + * improved the support for "error" and "conffile" reporting from + dpkg, added the format to README.progress-reporting + * added README.progress-reporting to the apt-doc package + * Do md5sum checking for file and cdrom method (closes: #319142) + * Change pkgPolicy::Pin from private to protected to let subclasses + access it too (closes: #321799) + * methods/connect.cc: + - send failure reason for EAI_AGAIN (TmpResolveFailure) to acuire-item + * apt-pkg/acquire-item.cc: + - fail early if a FailReason is TmpResolveFailure (avoids hangs during + the install when no network is available) + * merged michael.vogt@ubuntu.com--2005/apt--trust-cdrom--0 + + -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 23 Aug 2005 19:44:55 +0200 + +apt (0.6.40.1ubuntu1) breezy; urgency=low + + * Synchronize with Debian + + -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 5 Aug 2005 14:20:56 +0200 + apt (0.6.40.1) unstable; urgency=low * bugfix in the parsing code for the apt<->dpkg communication. apt @@ -3619,6 +6108,12 @@ apt (0.6.40.1) unstable; urgency=low -- Michael Vogt <mvo@debian.org> Fri, 5 Aug 2005 13:24:58 +0200 +apt (0.6.40ubuntu1) breezy; urgency=low + + * Synchronize with Debian + + -- Matt Zimmerman <mdz@ubuntu.com> Thu, 4 Aug 2005 15:53:22 -0700 + apt (0.6.40) unstable; urgency=low * Patch from Jordi Mallach to mark some additional strings for translation @@ -3634,6 +6129,39 @@ apt (0.6.40) unstable; urgency=low -- Matt Zimmerman <mdz@debian.org> Thu, 28 Jul 2005 11:57:32 -0700 +apt (0.6.39ubuntu4) breezy; urgency=low + + * Fix keyring paths in apt-key, apt.postinst (I swear I remember doing this + before...) + + -- Matt Zimmerman <mdz@ubuntu.com> Wed, 29 Jun 2005 08:39:17 -0700 + +apt (0.6.39ubuntu3) breezy; urgency=low + + * Fix keyring locations for Ubuntu in apt-key too. + + -- Colin Watson <cjwatson@ubuntu.com> Wed, 29 Jun 2005 14:45:36 +0100 + +apt (0.6.39ubuntu2) breezy; urgency=low + + * Install ubuntu-archive.gpg rather than debian-archive.gpg as + /etc/apt/trusted.gpg. + + -- Colin Watson <cjwatson@ubuntu.com> Wed, 29 Jun 2005 11:53:34 +0100 + +apt (0.6.39ubuntu1) breezy; urgency=low + + * Michael Vogt + - Change debian/bugscript to use #!/bin/bash (Closes: #313402) + - Fix a incorrect example in the man-page (closes: #282918) + - Support architecture-specific extra overrides + (closes: #225947). Thanks to Anthony Towns for idea and + the patch, thanks to Colin Watson for testing it. + - better report network timeouts from the methods to the acuire code, + only timeout once per sources.list line + + -- Matt Zimmerman <mdz@ubuntu.com> Tue, 28 Jun 2005 11:52:24 -0700 + apt (0.6.39) unstable; urgency=low * Welsh translation update: daf@muse.19inch.net--2005/apt--main--0--patch-6 @@ -3646,6 +6174,13 @@ apt (0.6.39) unstable; urgency=low -- Matt Zimmerman <mdz@debian.org> Tue, 28 Jun 2005 11:51:09 -0700 +apt (0.6.38ubuntu1) breezy; urgency=low + + * First release from Ubuntu branch + * Merge with --main--0, switch back to Ubuntu keyring + + -- Matt Zimmerman <mdz@ubuntu.com> Sat, 25 Jun 2005 16:52:41 -0700 + apt (0.6.38) unstable; urgency=low * Merge michael.vogt@ubuntu.com--2005/apt--fixes--0--patch-6, a workaround diff --git a/debian/control b/debian/control index 6d0f16b70..f78d78bd8 100644 --- a/debian/control +++ b/debian/control @@ -1,31 +1,68 @@ Source: apt Section: admin Priority: important -Maintainer: APT Development Team <deity@lists.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: APT Development Team <deity@lists.debian.org> Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>, Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>, Julian Andres Klode <jak@debian.org> Standards-Version: 3.9.2 -Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 7.2.3~), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0), zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, docbook-xml, po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen +Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 7.2.3~), libdb-dev, + gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0), + zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, docbook-xml, + po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen, + gcc-4.6 (>= 4.6.0-6ubuntu2) 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/ +Vcs-Bzr: lp:~ubuntu-core-dev/apt/ubuntu +Vcs-Browser: http://code.launchpad.net/apt/ubuntu Package: apt Architecture: any -Pre-Depends: ${shlibs:Depends} -Depends: debian-archive-keyring, ${misc:Depends}, gnupg +Depends: ubuntu-keyring, ${shlibs:Depends}, ${misc:Depends}, 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.11 +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.3 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: APT's deb package format runtime library + This library provides methods to query and extract information + from deb packages. This includes the control data and the package + file content. Package: apt-doc Architecture: all @@ -33,13 +70,13 @@ Priority: optional Depends: ${misc:Depends} Section: doc Description: Documentation for APT - This package contains the user guide and offline guide, for APT, an - Advanced Package Tool. + This package contains the user guide and offline guide for various + APT tools which are provided in a html and a text-only version. Package: libapt-pkg-dev Architecture: any Priority: optional -Depends: apt (= ${binary:Version}), apt-utils (= ${binary:Version}), ${libapt-pkg:provides}, ${libapt-inst:provides}, ${misc:Depends}, zlib1g-dev | zlib-dev +Depends: ${libapt-pkg-name} (= ${binary:Version}), ${libapt-inst-name} (= ${binary:Version}), ${misc:Depends}, zlib1g-dev | zlib-dev Section: libdevel Description: Development files for APT's libapt-pkg and libapt-inst This package contains the header files and libraries for @@ -61,19 +98,25 @@ Description: Documentation for APT development Package: apt-utils Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Provides: ${libapt-inst:provides} Description: APT utility programs - This package contains some APT utility programs such as apt-ftparchive, - apt-sortpkgs and apt-extracttemplates. + This package contains some less used commandline utilities related + to package managment with APT. . - apt-extracttemplates is used by debconf to prompt for configuration - questions before installation. apt-ftparchive is used to create Package - and other index files. apt-sortpkgs is a Package/Source file normalizer. + * apt-extracttemplates is used by debconf to prompt for configuration + questions before installation. + * apt-ftparchive is used to create Packages and other index files + needed to publish an archive of debian packages + * apt-sortpkgs is a Packages/Sources file normalizer. Package: apt-transport-https Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Priority: optional -Description: APT https transport - This package contains a APT https transport. It makes it possible to - use 'deb https://foo distro main' lines in the sources.list. +Description: https download transport for APT + This package enables the usage of 'deb https://foo distro main' lines + in the /etc/apt/sources.list so that all package managers using the + libapt-pkg library can access metadata and packages available in sources + accessable over https (Hypertext Transfer Protocol Secure). + . + This transport supports server as well as client authenification + with certificates. diff --git a/debian/libapt-inst1.3.install b/debian/libapt-inst1.3.install new file mode 100644 index 000000000..b7b63be81 --- /dev/null +++ b/debian/libapt-inst1.3.install @@ -0,0 +1,2 @@ +bin/libapt-inst*.so.* usr/lib/ +usr/share/locale/*/*/libapt-inst*.mo diff --git a/debian/apt-utils.symbols b/debian/libapt-inst1.3.symbols index 9ba283a51..1a46ba1a9 100644 --- a/debian/apt-utils.symbols +++ b/debian/libapt-inst1.3.symbols @@ -1,5 +1,4 @@ -libapt-inst.so.1.2 libapt-inst1.2 -| apt-utils #MINVER# +libapt-inst.so.1.3 libapt-inst1.3 #MINVER# * Build-Depends-Package: libapt-pkg-dev (c++)"ExtractTar::Done(bool)@Base" 0.8.0 (c++)"ExtractTar::Go(pkgDirStream&)@Base" 0.8.0 @@ -114,7 +113,7 @@ libapt-inst.so.1.2 libapt-inst1.2 # (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0 # (c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append<unsigned char*>(unsigned char*, unsigned char*)@Base" 0.8.0 ### gcc-4.6 specific - (c++|optional=std)"std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::~vector()@Base" 0.8.12 1 + (c++|optional=std)"std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::~vector()@Base" 0.8.12 (c++|optional=std)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_dispatch<unsigned char*>(__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, unsigned char*, unsigned char*, std::__false_type)@Base" 0.8.0 ### try to ignore std:: template instances (c++|regex|optional=std)"^std::basic_string<.+ >\(.+\)@Base$" 0.8.0 diff --git a/debian/libapt-pkg4.11.install b/debian/libapt-pkg4.11.install new file mode 100644 index 000000000..91b39a31b --- /dev/null +++ b/debian/libapt-pkg4.11.install @@ -0,0 +1,2 @@ +bin/libapt-pkg*.so.* usr/lib/ +usr/share/locale/*/*/libapt-pkg*.mo diff --git a/debian/apt.symbols b/debian/libapt-pkg4.11.symbols index 932fb1411..ce598e7b3 100644 --- a/debian/apt.symbols +++ b/debian/libapt-pkg4.11.symbols @@ -1,5 +1,4 @@ -libapt-pkg.so.4.10 libapt-pkg4.10 -| apt #MINVER# +libapt-pkg.so.4.11 libapt-pkg4.11 #MINVER# * Build-Depends-Package: libapt-pkg-dev TFRewritePackageOrder@Base 0.8.0 TFRewriteSourceOrder@Base 0.8.0 @@ -1241,29 +1240,30 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0 # (c++|optional=strange)"pkgCache::VerIterator::VerIterator(pkgCache&, pkgCache::Version*)@Base" 0.8.0 ### architecture specific: va_list - (arch=armel armhf|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@Base" 0.8.15~exp1 1 - (arch=i386 hurd-i386 kfreebsd-i386|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1 1 - (arch=hppa ia64 mips mipsel sparc sparc64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@Base" 0.8.15~exp1 1 - (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@Base" 0.8.15~exp1 1 - (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@Base" 0.8.15~exp1 1 - (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@Base" 0.8.15~exp1 1 + (arch=armel armhf|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@Base" 0.8.15~exp1 + (arch=i386 hurd-i386 kfreebsd-i386|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1 + (arch=hppa ia64 mips mipsel sparc sparc64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@Base" 0.8.15~exp1 + (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@Base" 0.8.15~exp1 + (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@Base" 0.8.15~exp1 + (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@Base" 0.8.15~exp1 ### architecture specific: va_list & size_t - (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 1 - (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 1 - (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 1 - (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 1 - (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 1 - (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 1 - (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 1 - (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 1 - (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 1 - (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 1 - (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 1 - (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 1 - (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 1 - (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 1 + (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 + (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 + (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 + (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 + (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 + (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 + (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 + (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 + + (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 + (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 + (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 + (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 + (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 + (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 (arch=ia64 sparc64|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@Base" 0.8.11.4 1 - (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 1 + (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 ### architecture specific: size_t (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc|c++)"_strtabexpand(char*, unsigned int)@Base" 0.8.0 (arch=alpha amd64 ia64 kfreebsd-amd64 s390 sparc64|c++)"_strtabexpand(char*, unsigned long)@Base" 0.8.0 @@ -1280,50 +1280,50 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++|regex|optional=std)"^typeinfo name for std::iterator<.*>@Base$" 0.8.0 (c++|regex|optional=std)"^typeinfo for std::iterator<.*>@Base$" 0.8.0 ### - (c++)"Configuration::MatchAgainstConfig::clearPatterns()@Base" 0.8.1 1 - (c++)"CreateAPTDirectoryIfNeeded(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.2 1 - (c++)"FileFd::FileSize()@Base" 0.8.8 1 - (c++)"Base256ToNum(char const*, unsigned long&, unsigned int)@Base" 0.8.11 1 - (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::list<std::pair<pkgCache::VerIterator, pkgCache::VerIterator>, std::allocator<std::pair<pkgCache::VerIterator, pkgCache::VerIterator> > >&)@Base" 0.8.11 1 - (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1 - (c++)"RealFileExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.11 1 - (c++)"StripEpoch(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1 - (c++)"IndexTarget::~IndexTarget()@Base" 0.8.11 1 - (c++)"pkgAcqIndex::Init(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1 - (c++)"pkgAcqIndex::pkgAcqIndex(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 1 - (c++)"pkgTagSection::FindFlag(unsigned long&, unsigned long, char const*, char const*)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::ParseIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::Custom600Headers()@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::Done(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::DescURI()@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::pkgAcqSubIndex(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, HashString const&)@Base" 0.8.11 1 - (c++)"pkgAcqSubIndex::~pkgAcqSubIndex()@Base" 0.8.11 1 - (c++)"pkgAcqMetaClearSig::Failed(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pkgAcquire::MethodConfig*)@Base" 0.8.11 1 - (c++)"pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.11 1 - (c++)"pkgAcqMetaClearSig::~pkgAcqMetaClearSig()@Base" 0.8.11 1 - (c++)"pkgAcqIndexTrans::pkgAcqIndexTrans(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 1 - (c++)"IndexTarget::IsOptional() const@Base" 0.8.11 1 - (c++)"IndexTarget::IsSubIndex() const@Base" 0.8.11 1 - (c++)"debReleaseIndex::TranslationIndexURI(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11 1 - (c++)"debReleaseIndex::TranslationIndexURISuffix(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.8.11 1 - (c++)"typeinfo for pkgAcqSubIndex@Base" 0.8.11 1 - (c++)"typeinfo for pkgAcqMetaClearSig@Base" 0.8.11 1 - (c++)"typeinfo name for pkgAcqSubIndex@Base" 0.8.11 1 - (c++)"typeinfo name for pkgAcqMetaClearSig@Base" 0.8.11 1 - (c++)"vtable for pkgAcqSubIndex@Base" 0.8.11 1 - (c++)"vtable for pkgAcqMetaClearSig@Base" 0.8.11 1 - (c++)"FindMountPointForDevice(char const*)@Base" 0.8.12 1 - (c++)"pkgUdevCdromDevices::ScanForRemovable(bool)@Base" 0.8.12 1 - (c++)"APT::Configuration::Compressor::Compressor(char const*, char const*, char const*, char const*, char const*, unsigned short)@Base" 0.8.12 1 - (c++)"APT::Configuration::Compressor::~Compressor()@Base" 0.8.12 1 - (c++)"APT::Configuration::getCompressors(bool)@Base" 0.8.12 1 - (c++)"APT::Configuration::getCompressorExtensions()@Base" 0.8.12 1 - (c++)"APT::Configuration::setDefaultConfigurationForCompressors()@Base" 0.8.12 1 - (c++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator, bool const&)@Base" 0.8.12 1 - (c++)"pkgAcqMetaClearSig::Custom600Headers()@Base" 0.8.13 1 - (c++|optional=private)"debListParser::NewProvidesAllArch(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.13.2 1 - (c++|optional=private)"PrintMode(char)@Base" 0.8.13.2 1 - (c++)"pkgDepCache::IsModeChangeOk(pkgDepCache::ModeList, pkgCache::PkgIterator const&, unsigned long, bool)@Base" 0.8.13.2 1 - (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool)@Base" 0.8.15~exp1 1 - (c++)"pkgCache::DepIterator::IsNegative() const@Base" 0.8.15~exp1 1 + (c++)"Configuration::MatchAgainstConfig::clearPatterns()@Base" 0.8.1 + (c++)"CreateAPTDirectoryIfNeeded(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.2 + (c++)"FileFd::FileSize()@Base" 0.8.8 + (c++)"Base256ToNum(char const*, unsigned long&, unsigned int)@Base" 0.8.11 + (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::list<std::pair<pkgCache::VerIterator, pkgCache::VerIterator>, std::allocator<std::pair<pkgCache::VerIterator, pkgCache::VerIterator> > >&)@Base" 0.8.11 + (c++)"pkgDepCache::SetCandidateRelease(pkgCache::VerIterator, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 + (c++)"RealFileExists(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.11 + (c++)"StripEpoch(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 + (c++)"IndexTarget::~IndexTarget()@Base" 0.8.11 + (c++)"pkgAcqIndex::Init(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 + (c++)"pkgAcqIndex::pkgAcqIndex(pkgAcquire*, IndexTarget const*, HashString const&, indexRecords const*)@Base" 0.8.11 + (c++)"pkgTagSection::FindFlag(unsigned long&, unsigned long, char const*, char const*)@Base" 0.8.11 + (c++)"pkgAcqSubIndex::ParseIndex(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.11 + (c++)"pkgAcqSubIndex::Custom600Headers()@Base" 0.8.11 + (c++)"pkgAcqSubIndex::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 + (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++)"pkgDepCache::SetCandidateVersion(pkgCache::VerIterator, bool const&)@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 diff --git a/debian/rules b/debian/rules index 640900678..2cfd95b31 100755 --- a/debian/rules +++ b/debian/rules @@ -3,6 +3,9 @@ # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. # Some lines taken from debmake, by Christoph Lameter. +# build in verbose mode by default to make it easy to diangose issues +export NOISY=1 + export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) @@ -62,7 +65,7 @@ configure.in: endif # APT Programs in apt-utils -APT_UTILS=ftparchive sortpkgs extracttemplates +APT_UTILS=ftparchive sortpkgs extracttemplates internal-solver # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 @@ -70,9 +73,9 @@ APT_UTILS=ftparchive sortpkgs extracttemplates # Find the libapt-pkg major version for use in other control files include buildlib/libversion.mak -# Determine which package we should provide in the control files -LIBAPTPKG_PROVIDE=libapt-pkg$(LIBAPTPKG_MAJOR) -LIBAPTINST_PROVIDE=libapt-inst$(LIBAPTINST_MAJOR) +# Determine which library package names to use +LIBAPT_PKG=libapt-pkg$(LIBAPTPKG_MAJOR) +LIBAPT_INST=libapt-inst$(LIBAPTINST_MAJOR) # do not fail as we are just experimenting with symbol files for now export DPKG_GENSYMBOLS_CHECK_LEVEL=0 @@ -97,6 +100,10 @@ build/configure-stamp: configure build/build-stamp: build/configure-stamp # Add here commands to compile the package. $(MAKE) binary + # compat symlink for the locale split + mkdir -p build/usr/share + cd build/usr/share && ln -f -s ../../locale . + # done here touch $@ build/build-doc-stamp: build/configure-stamp @@ -134,7 +141,7 @@ libapt-pkg-doc: build-doc dh_compress -p$@ dh_fixperms -p$@ dh_installdeb -p$@ - dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) + dh_gencontrol -p$@ dh_md5sums -p$@ dh_builddeb -p$@ @@ -162,7 +169,7 @@ apt-doc: build-doc # Build architecture-dependent files here. -binary-arch: apt libapt-pkg-dev apt-utils apt-transport-https +binary-arch: $(LIBAPT_PKG) $(LIBAPT_INST) apt libapt-pkg-dev apt-utils apt-transport-https apt_MANPAGES = apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list apt: build build-doc dh_testdir -p$@ @@ -173,6 +180,8 @@ apt: build build-doc # apt install # cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove + cp debian/apt.conf.changelog debian/$@/etc/apt/apt.conf.d/20changelog + cp share/ubuntu-archive.gpg debian/$@/usr/share/$@ # make rosetta happy and remove pot files in po/ (but leave stuff # in po/domains/* untouched) and cp *.po into each domain dir @@ -182,7 +191,7 @@ apt: build build-doc dh_install -p$@ --sourcedir=$(BLD) # Remove the bits that are in apt-utils - rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS)) + rm $(addprefix debian/$@/usr/bin/apt-,$(APT_UTILS) dump-solver) # https has its own package rm debian/$@/usr/lib/apt/methods/https @@ -202,10 +211,9 @@ apt: build build-doc dh_strip -p$@ dh_compress -p$@ dh_fixperms -p$@ - dh_makeshlibs -p$@ dh_installdeb -p$@ - dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib - dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) + dh_shlibdeps -p$@ + dh_gencontrol -p$@ dh_md5sums -p$@ dh_builddeb -p$@ @@ -224,7 +232,7 @@ libapt-pkg-dev: build dh_compress -p$@ dh_fixperms -p$@ dh_installdeb -p$@ - dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE) -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE) + dh_gencontrol -p$@ -- -Vlibapt-pkg-name=$(LIBAPT_PKG) -Vlibapt-inst-name=$(LIBAPT_INST) dh_md5sums -p$@ dh_builddeb -p$@ @@ -236,8 +244,10 @@ apt-utils: build dh_installdirs -p$@ cp $(addprefix $(BLD)/bin/apt-,$(APT_UTILS)) debian/$@/usr/bin/ + cp $(BLD)/bin/apt-dump-solver debian/$@/usr/lib/apt/solvers/dump dh_install -p$@ --sourcedir=$(BLD) + dh_link -p$@ dh_installdocs -p$@ dh_installexamples -p$@ @@ -250,8 +260,46 @@ apt-utils: build dh_fixperms -p$@ dh_makeshlibs -p$@ dh_installdeb -p$@ - dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib - dh_gencontrol -p$@ -- -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE) + dh_shlibdeps -p$@ + dh_gencontrol -p$@ + dh_md5sums -p$@ + dh_builddeb -p$@ + +$(LIBAPT_PKG): build + dh_testdir -p$@ + dh_testroot -p$@ + dh_prep -p$@ + dh_installdirs -p$@ + + dh_install -p$@ --sourcedir=$(BLD) + dh_installdocs -p$@ + dh_installchangelogs -p$@ + dh_strip -p$@ + dh_compress -p$@ + dh_fixperms -p$@ + dh_makeshlibs -p$@ + dh_installdeb -p$@ + dh_shlibdeps -p$@ + dh_gencontrol -p$@ + dh_md5sums -p$@ + dh_builddeb -p$@ + +$(LIBAPT_INST): build + dh_testdir -p$@ + dh_testroot -p$@ + dh_prep -p$@ + dh_installdirs -p$@ + + dh_install -p$@ --sourcedir=$(BLD) + dh_installdocs -p$@ + dh_installchangelogs -p$@ + dh_strip -p$@ + dh_compress -p$@ + dh_fixperms -p$@ + dh_makeshlibs -p$@ + dh_installdeb -p$@ + dh_shlibdeps -p$@ + dh_gencontrol -p$@ dh_md5sums -p$@ dh_builddeb -p$@ @@ -273,7 +321,7 @@ apt-transport-https: build libapt-pkg-dev dh_compress -p$@ dh_fixperms -p$@ dh_installdeb -p$@ - dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib + dh_shlibdeps -p$@ dh_gencontrol -p$@ dh_md5sums -p$@ dh_builddeb -p$@ diff --git a/doc/apt-get.8.xml b/doc/apt-get.8.xml index 9d901b492..36a675bb0 100644 --- a/doc/apt-get.8.xml +++ b/doc/apt-get.8.xml @@ -433,6 +433,11 @@ Configuration Item: <literal>APT::Get::Assume-Yes</literal>.</para></listitem> </varlistentry> + <varlistentry><term><option>--assume-no</option></term> + <listitem><para>Automatic "no" to all prompts. + Configuration Item: <literal>APT::Get::Assume-No</literal>.</para></listitem> + </varlistentry> + <varlistentry><term><option>-u</option></term><term><option>--show-upgraded</option></term> <listitem><para>Show upgraded packages; Print out a list of all packages that are to be upgraded. diff --git a/doc/examples/sources.list b/doc/examples/sources.list index ef729e203..cc0fd2b8d 100644 --- a/doc/examples/sources.list +++ b/doc/examples/sources.list @@ -1,9 +1,11 @@ # See sources.list(5) for more information, especialy # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. -deb http://http.us.debian.org/debian stable main contrib non-free -deb http://security.debian.org stable/updates main contrib non-free +deb http://us.archive.ubuntu.com/ubuntu hardy main restricted +deb-src http://us.archive.ubuntu.com/ubuntu hardy main restricted -# Uncomment if you want the apt-get source function to work -#deb-src http://http.us.debian.org/debian stable main contrib non-free -#deb-src http://security.debian.org stable/updates main contrib non-free +deb http://security.ubuntu.com/ubuntu hardy-security main restricted +deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted + +deb http://us.archive.ubuntu.com/ubuntu hardy-updates main restricted +deb-src http://us.archive.ubuntu.com/ubuntu hardy-updates main restricted diff --git a/doc/external-dependency-solver-protocol.txt b/doc/external-dependency-solver-protocol.txt new file mode 100644 index 000000000..7a124d8f9 --- /dev/null +++ b/doc/external-dependency-solver-protocol.txt @@ -0,0 +1,299 @@ +# APT External Dependency Solver Protocol (EDSP) - version 0.4 + +This document describes the communication protocol between APT and +external dependency solvers. The protocol is called APT EDSP, for "APT +External Dependency Solver Protocol". + + +## Components + +- **APT**: we know this one. +- APT is equipped with its own **internal solver** for dependencies, + which is identified by the string `internal`. +- **External solver**: an *external* software component able to resolve + dependencies on behalf of APT. + +At each interaction with APT, a single solver is in use. When there is +a total of 2 or more solvers, internals or externals, the user can +choose which one to use. + +Each solver is identified by an unique string, the **solver +name**. Solver names must be formed using only alphanumeric ASCII +characters, dashes, and underscores; solver names must start with a +lowercase ASCII letter. The special name `internal` denotes APT's +internal solver, is reserved, and cannot be used by external solvers. + + +## Installation + +Each external solver is installed as a file under Dir::Bin::Solvers (see +below), which defaults to `/usr/lib/apt/solvers`. We will assume in the +remainder of this section that such a default value is in effect. + +The naming scheme is `/usr/lib/apt/solvers/NAME`, where `NAME` is the +name of the external solver. + +Each file under `/usr/lib/apt/solvers` corresponding to an external +solver must be executable. + +No non-solver files must be installed under `/usr/lib/apt/solvers`, so +that an index of available external solvers can be obtained by listing +the content of that directory. + + +## Configuration + +Several APT options can be used to affect dependency solving in APT. An +overview of them is given below. Please refer to proper APT +configuration documentation for more, and more up to date, information. + +- **APT::Solver**: the name of the solver to be used for + dependency solving. Defaults to `internal` + +- **APT::Solver::Strict-Pinning**: whether pinning must be strictly + respected (as the internal solver does) or can be slightly deviated + from. Defaults to `yes`. + +- **APT::Solver::NAME::Preferences** (where NAME is a solver name): + solver-specific user preference string used during dependency solving, + when the solver NAME is in use. Check solver-specific documentation + for what is supported here. Defaults to the empty string. + +- **Dir::Bin::Solvers**: absolute path of the directory where to look for + external solvers. Defaults to `/usr/lib/apt/solvers`. + +## Protocol + +When configured to use an external solver, APT will resort to it to +decide which packages should be installed or removed. + +The interaction happens **in batch**: APT will invoke the external +solver passing the current status of installed and available packages, +as well as the user request to alter the set of installed packages. The +external solver will compute a new complete set of installed packages +and gives APT a "diff" listing of which *additional* packages should be +installed and of which currently installed packages should be +*removed*. (Note: the order in which those actions have to be performed +will be up to APT to decide.) + +External solvers are invoked by executing them. Communications happens +via the file descriptors: **stdin** (standard input) and **stdout** +(standard output). stderr is not used by the EDSP protocol. Solvers can +therefore use stderr to dump debugging information that could be +inspected separately. + +After invocation, the protocol passes through a sequence of phases: + +1. APT invokes the external solver +2. APT send to the solver a dependency solving **scenario** +3. The solver solves dependencies. During this phase the solver may + send, repeatedly, **progress** information to APT. +4. The solver sends back to APT an **answer**, i.e. either a *solution* + or an *error* report. +5. The external solver exits + + +### Scenario + +A scenario is a text file encoded in a format very similar to the "Deb +822" format (AKA "the format used by Debian `Packages` files"). A +scenario consists of two distinct parts: a **request** and a **package +universe**, occurring in that order. The request consists of a single +Deb 822 stanza, while the package universe consists of several such +stanzas. All stanzas occurring in a scenario are separated by an empty +line. + + +#### Request + +Within a dependency solving scenario, a request represents the action on +installed packages requested by the user. + +A request is a single Deb 822 stanza opened by a mandatory Request field +and followed by a mixture of action and preference fields. + +The value of the **Request:** field is a string describing the EDSP +protocol which will be used to communicate. At present, the string must +be `EDSP 0.4`. + +a unique request identifier, such as an +UUID. Request fields are mainly used to identify the beginning of a +request stanza; their actual values are otherwise not used by the EDSP +protocol. + +The following **action fields** are supported in request stanzas: + +- **Install:** (optional, defaults to the empty string) A space + separated list of package names, with *no version attached*, to + install. This field denotes a list of packages that the user wants to + install, usually via an APT `install` request. + +- **Remove:** (optional, defaults to the empty string) Same syntax of + Install. This field denotes a list of packages that the user wants to + remove, usually via APT `remove` or `purge` requests. + +- **Upgrade:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. When set to `yes`, an upgrade of all installed packages has been + requested, usually via an APT `upgrade` request. + +- **Dist-Upgrade:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. Same as Upgrade, but for APT `dist-upgrade` requests. + +- **Autoremove:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. When set to `yes`, a clean up of unused automatically installed + packages has been requested, usually via an APT `autoremove` request. + +The following **preference fields** are supported in request stanzas: + +- **Strict-Pinning:** (optional, defaults to `yes`). Allowed values: + `yes`, `no`. When set to `yes`, APT pinning is strict, in the sense + that the solver must not propose to install packages which are not APT + candidates (see the `APT-Pin` and `APT-Candidate` fields in the + package universe). When set to `no`, the solver does only a best + effort attempt to install APT candidates. Usually, the value of this + field comes from the `APT::Solver::Strict-Pinning` configuration + option. + +- **Preferences:** a solver-specific optimization string, usually coming + from the `APT::Solver::Preferences` configuration option. + + +#### Package universe + +A package universe is a list of Deb 822 stanzas, one per package, called +**package stanzas**. Each package stanzas starts with a Package +field. The following fields are supported in package stanzas: + +- All fields contained in the dpkg database, with the exception of + fields marked as "internal" (see the manpage `dpkg-query (1)`). Among + those fields, the following are mandatory for all package stanzas: + Package, Version, Architecture. + + It is recommended not to pass the Description field to external + solvers or, alternatively, to trim it to the short description only. + +- **Installed:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. When set to `yes`, the corresponding package is currently + installed. + + Note: the Status field present in the dpkg database must not be passed + to the external solver, as it's an internal dpkg field. Installed and + other fields permit to encode the most relevant aspects of Status in + communications with solvers. + +- **Hold:** (optional, defaults to `no`). Allowed values: `yes`, + `no`. When set to `yes`, the corresponding package is marked as "on + hold" by dpkg. + +- **APT-ID:** (mandatory). Unique package identifier, according to APT. + +- **APT-Pin:** (mandatory). Must be an integer. Package pin value, + according to APT policy. + +- **APT-Candidate:** (optional, defaults to `no`). Allowed values: + `yes`, `no`. When set to `yes`, the corresponding package is the APT + candidate for installation among all available packages with the same + name. + +- **APT-Automatic:** (optional, defaults to `no`). Allowed values: + `yes`, `no`. When set to `yes`, the corresponding package is marked by + APT as automatic installed. Note that automatic installed packages + should be removed by the solver only when the Autoremove action is + requested (see Request section). + +### Answer + +An answer from the external solver to APT is either a *solution* or an +*error*. + +The following invariant on **exit codes** must hold true. When the +external solver is *able to find a solution*, it will write the solution +to standard output and then exit with an exit code of 0. When the +external solver is *unable to find a solution* (and s aware of that), it +will write an error to standard output and then exit with an exit code +of 0. An exit code other than 0 will be interpreted as a solver crash +with no meaningful error about dependency resolution to convey to the +user. + + +#### Solution + +A solution is a list of Deb 822 stanzas. Each of them could be an +install stanza (telling APT to install a specific package), a remove +stanza (telling APT to remove one), or an autoremove stanza (telling APT +about the *future* possibility of removing a package using the +Autoremove action). + +An **install stanza** starts with an Install field and supports the +following fields: + +- **Install:** (mandatory). The value is a package identifier, + referencing one of the package stanzas of the package universe via its + APT-ID field. + +- All fields supported by package stanzas. + +**Remove stanzas** are similar to install stanzas, but have **Remove** +fields instead of Install fields. + +**Autoremove stanzas** are similar to install stanzas, but have +**Autoremove** fields instead of Install fields. Autoremove stanzas +should be output so that APT can inform the user of which packages they +can now autoremove, as a consequence of the executed action. However, +this protocol makes no assumption on the fact that a subsequent +invocation of an Autoremove action will actually remove the very same +packages indicated by Autoremove stanzas in the former solution. + +In terms of expressivity, install and remove stanzas can carry one +single field each, as APT-IDs are enough to pinpoint packages to be +installed/removed. Nonetheless, for protocol readability, it is +recommended that solvers either add unconditionally the fields Package, +Version, and Architecture to all install/remove stanzas or, +alternatively, that they support a `--verbose` command line flag that +explicitly enables the output of those fields in solutions. + + +#### Error + +An error is a single Deb 822 stanza, starting the field Error. The +following fields are supported in error stanzas: + +- **Error:** (mandatory). The value of this field is ignored, although + it should be a unique error identifier, such as a UUID. + +- **Message:** (mandatory). The value of this field is a text string, + meant to be read by humans, that explains the cause of the solver + error. Message fields might be multi-line, like the Description field + in the dpkg database. The first line conveys a short message, which + can be explained in more details using subsequent lines. + + +### Progress + +During dependency solving, an external solver may send progress +information to APT using **progress stanzas**. A progress stanza starts +with the Progress field and might contain the following fields: + +- **Progress:** (mandatory). The value of this field is a date and time + timestamp, in RFC 2822 format. The timestamp provides a time + annotation for the progress report. + +- **Percentage:** (optional). An integer from 0 to 100, representing the + completion of the dependency solving process, as declared by the + solver. + +- **Message:** (optional). A textual message, meant to be read by the + APT user, telling what is going on within the dependency solving + (e.g. the current phase of dependency solving, as declared by the + solver). + + +# Future extensions + +Potential future extensions to this protocol, listed in no specific +order, include: + +- fixed error types to identify common failures across solvers and + enable APT to translate error messages +- structured error data to explain failures in terms of packages and + dependencies diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot index 2a4eef558..edab6f379 100644 --- a/doc/po/apt-doc.pot +++ b/doc/po/apt-doc.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2011-06-28 16:42+0200\n" +"POT-Creation-Date: 2011-04-05 10:22+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" @@ -566,7 +566,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 sources.list.5.xml:36 +#: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 sources.list.5.xml:36 msgid "Description" msgstr "" @@ -944,7 +944,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 +#: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "" @@ -967,7 +967,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 apt-sortpkgs.1.xml:61 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "" @@ -987,12 +987,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "" @@ -1067,7 +1067,7 @@ msgstr "" #: apt-cache.8.xml:317 msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: " "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></literal> " "e.g. <literal>APT::Cache::ShowRecommends</literal>." @@ -1091,7 +1091,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "" @@ -1187,12 +1187,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 +#: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 apt-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:172 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:156 apt-mark.8.xml:125 apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "" @@ -1202,7 +1202,7 @@ msgid "&file-sourceslist; &file-statelists;" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 apt-key.8.xml: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 +#: 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:177 apt-mark.8.xml:131 apt-secure.8.xml:185 apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 sources.list.5.xml:234 msgid "See Also" msgstr "" @@ -1212,7 +1212,7 @@ msgid "&apt-conf;, &sources-list;, &apt-get;" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 +#: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "" @@ -1311,12 +1311,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 msgid "Options" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "" @@ -1519,7 +1519,7 @@ msgid "Just show the contents of the configuration space." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 apt-sortpkgs.1.xml:73 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "" @@ -2443,28 +2443,26 @@ msgid "" "Configuration Items: " "<literal>APT::FTPArchive::<replaceable>Checksum</replaceable></literal> and " "<literal>APT::FTPArchive::<replaceable>Index</replaceable>::<replaceable>Checksum</replaceable></literal> " -"where <literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or " -"<literal>Release</literal> and " -"<literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or " -"<literal>SHA256</literal>." +"where <literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, " +"<literal>SHA1</literal> or <literal>SHA256</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -2473,12 +2471,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -2487,12 +2485,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -2502,12 +2500,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: " @@ -2515,24 +2513,24 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: " "<literal>APT::FTPArchive::ReadOnlyDB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -2541,12 +2539,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -2560,12 +2558,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -2575,12 +2573,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 sources.list.5.xml:198 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 sources.list.5.xml:198 msgid "Examples" msgstr "" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "" "<command>apt-ftparchive</command> packages " @@ -2589,14 +2587,14 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -2924,7 +2922,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -3618,34 +3616,20 @@ msgid "" "from the keyring the archive keys which are no longer valid." msgstr "" -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:140 -msgid "net-update" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 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:161 +#: apt-key.8.xml:145 msgid "--keyring <replaceable>filename</replaceable>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:146 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 " @@ -3656,42 +3640,42 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:178 +#: apt-key.8.xml:162 msgid "Local trust database of archive keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:181 +#: apt-key.8.xml:165 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:182 +#: apt-key.8.xml:166 msgid "Keyring of Debian archive trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:185 +#: apt-key.8.xml:169 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:186 +#: apt-key.8.xml:170 msgid "Keyring of Debian archive removed trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:195 +#: apt-key.8.xml:179 msgid "&apt-get;, &apt-secure;" msgstr "" @@ -3699,8 +3683,8 @@ msgstr "" #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" #. type: Content of: <refentry><refnamediv><refname> @@ -3719,21 +3703,21 @@ msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> " "<arg><option>-f=<replaceable>FILENAME</replaceable></option></arg> <group " "choice=\"plain\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg " -"choice=\"plain\">auto</arg> <arg choice=\"plain\">manual</arg> <arg " -"choice=\"plain\">showauto</arg> <arg choice=\"plain\">showmanual</arg> " +"choice=\"plain\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> " "</group> <arg choice=\"plain\" " -"rep=\"repeat\"><replaceable>package</replaceable></arg> </arg> </group>" +"rep=\"repeat\"><replaceable>package</replaceable></arg> </arg> <arg " +"choice=\"plain\">showauto</arg> </group>" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -3743,128 +3727,104 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" +#: apt-mark.8.xml:76 +msgid "unmarkauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" +#: apt-mark.8.xml:84 +msgid "showauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 +#: apt-mark.8.xml:85 msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg " -"--set-selections</command> and the state is therefore maintained by &dpkg; " -"and not effected by the <option>--filename</option> option." +"<literal>showauto</literal> is used to print a list of automatically " +"installed packages with each package on a new line." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml:96 -msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." +msgid "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 -msgid "showauto" +#: apt-mark.8.xml:97 +msgid "<option>--file=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 +#: apt-mark.8.xml:100 msgid "" -"<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." +"Read/Write package stats from " +"<filename><replaceable>FILENAME</replaceable></filename> instead of the " +"default location, which is <filename>extended_status</filename> in the " +"directory defined by the Configuration Item: <literal>Dir::State</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -msgid "showmanual" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -msgid "showhold" +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 -msgid "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 -msgid "<option>--file=<filename><replaceable>FILENAME</replaceable></filename></option>" +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 -msgid "" -"Read/Write package stats from " -"<filename><replaceable>FILENAME</replaceable></filename> instead of the " -"default location, which is <filename>extended_status</filename> in the " -"directory defined by the Configuration Item: <literal>Dir::State</literal>." +#: apt-mark.8.xml:116 +msgid "Show the program version." msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -4201,10 +4161,10 @@ msgstr "" #: apt.conf.5.xml:52 msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the " +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " "case it will be silently ignored." msgstr "" @@ -4912,7 +4872,7 @@ msgid "" "Note that at run time the " "<literal>Dir::Bin::<replaceable>Methodname</replaceable></literal> will be " "checked: If this setting exists the method will only be used if this file " -"exists, e.g. for the bzip2 method (the inbuilt) setting is: <placeholder " +"exists, e.g. for the bzip2 method (the inbuilt) setting is <placeholder " "type=\"literallayout\" id=\"0\"/> Note also that list entries specified on " "the command line will be added at the end of the list specified in the " "configuration files, but before the default entries. To prefer a type in " @@ -4925,7 +4885,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -5867,8 +5827,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or " -"\"<literal>pref</literal>\" as filename extension and only contain " +"following naming convention: The files have no or " +"\"<literal>pref</literal>\" as filename extension and which only contain " "alphanumeric, hyphen (-), underscore (_) and period (.) characters. " "Otherwise APT will print a notice that it has ignored a file if the file " "doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</literal> " @@ -6190,133 +6150,82 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "" - -#. 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 expression surrounded by slashes)." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, no-wrap -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, no-wrap -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -msgid "Package" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 msgid "How APT Interprets Priorities" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 msgid "P > 1000" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 msgid "" "causes a version to be installed even if this constitutes a downgrade of the " "package" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 msgid "990 < P <=1000" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 msgid "" "causes a version to be installed even if it does not come from the target " "release, unless the installed version is more recent" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 msgid "500 < P <=990" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 msgid "" "causes a version to be installed unless there is a version available " "belonging to the target release or the installed version is more recent" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 msgid "100 < P <=500" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 msgid "" "causes a version to be installed unless there is a version available " "belonging to some other distribution or the installed version is more recent" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 msgid "0 < P <=100" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 msgid "" "causes a version to be installed only if there is no installed version of " "the package" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 msgid "P < 0" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 msgid "prevents the version from being installed" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " "negative integers. They are interpreted as follows (roughly speaking): " @@ -6324,7 +6233,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 msgid "" "If any specific-form records match an available package version then the " "first such record determines the priority of the package version. Failing " @@ -6333,14 +6242,14 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 msgid "" "For example, suppose the APT preferences file contains the three records " "presented earlier:" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, no-wrap msgid "" "Package: perl\n" @@ -6357,12 +6266,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 msgid "" "The most recent available version of the <literal>perl</literal> package " "will be installed, so long as that version's version number begins with " @@ -6372,7 +6281,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 msgid "" "A version of any package other than <literal>perl</literal> that is " "available from the local system has priority over other versions, even " @@ -6380,7 +6289,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 msgid "" "A version of a package whose origin is not the local system but some other " "site listed in &sources-list; and which belongs to an " @@ -6389,12 +6298,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 msgid "Determination of Package Version and Distribution Properties" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 msgid "" "The locations listed in the &sources-list; file should provide " "<filename>Packages</filename> and <filename>Release</filename> files to " @@ -6402,27 +6311,27 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 msgid "the <literal>Package:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 msgid "gives the package name" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 msgid "the <literal>Version:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 msgid "gives the version number for the named package" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 msgid "" "The <filename>Packages</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable>/<replaceable>component</replaceable>/<replaceable>arch</replaceable></filename>: " @@ -6434,12 +6343,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 msgid "" "names the archive to which all the packages in the directory tree belong. " "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies " @@ -6450,18 +6359,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, no-wrap msgid "Pin: release a=stable\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 msgid "the <literal>Codename:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 msgid "" "names the codename to which all the packages in the directory tree belong. " "For example, the line \"Codename: &testing-codename;\" specifies that all of " @@ -6472,13 +6381,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, no-wrap msgid "Pin: release n=&testing-codename;\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 msgid "" "names the release version. For example, the packages in the tree might " "belong to Debian GNU/Linux release version 3.0. Note that there is normally " @@ -6489,7 +6398,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, no-wrap msgid "" "Pin: release v=3.0\n" @@ -6498,12 +6407,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 msgid "the <literal>Component:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 msgid "" "names the licensing component associated with the packages in the directory " "tree of the <filename>Release</filename> file. For example, the line " @@ -6515,18 +6424,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, no-wrap msgid "Pin: release c=main\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 msgid "the <literal>Origin:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 msgid "" "names the originator of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is " @@ -6535,18 +6444,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, no-wrap msgid "Pin: release o=Debian\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 msgid "the <literal>Label:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 msgid "" "names the label of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is " @@ -6555,13 +6464,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, no-wrap msgid "Pin: release l=Debian\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 msgid "" "The <filename>Release</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable></filename>: for " @@ -6575,7 +6484,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " "files retrieved from locations listed in the &sources-list; file are stored " @@ -6590,12 +6499,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 msgid "Optional Lines in an APT Preferences Record" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 msgid "" "Each record in the APT preferences file can optionally begin with one or " "more lines beginning with the word <literal>Explanation:</literal>. This " @@ -6603,12 +6512,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 msgid "Tracking Stable" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -6623,7 +6532,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -6633,7 +6542,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 apt_preferences.5.xml:632 #, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -6642,7 +6551,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -6651,13 +6560,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>testing</literal> distribution; the package " @@ -6666,12 +6575,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 msgid "Tracking Testing or Unstable" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, no-wrap msgid "" "Package: *\n" @@ -6688,7 +6597,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 msgid "" "The following APT preferences file will cause APT to assign a high priority " "to package versions from the <literal>testing</literal> distribution, a " @@ -6699,7 +6608,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -6708,13 +6617,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>unstable</literal> distribution. " @@ -6726,12 +6635,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package " @@ -6753,7 +6662,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -6768,7 +6677,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest version(s) in " @@ -6777,13 +6686,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>sid</literal> distribution. Thereafter, " @@ -6795,12 +6704,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 msgid "&file-preferences;" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "" diff --git a/doc/po/de.po b/doc/po/de.po index 196305bf9..dd3cdf8f4 100644 --- a/doc/po/de.po +++ b/doc/po/de.po @@ -1,14 +1,14 @@ # Translation of apt-doc to German # Copyright (C) 1997, 1998, 1999 Jason Gunthorpe and others. # This file is distributed under the same license as the apt-doc package. -# Chris Leick <c.leick@vollbio.de>, 2009-2011. +# Chris Leick <c.leick@vollbio.de>, 2009, 2010. # msgid "" msgstr "" -"Project-Id-Version: apt-doc 0.8.14-1\n" +"Project-Id-Version: apt-doc 0.7.25.3\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2011-06-28 13:40+0300\n" -"PO-Revision-Date: 2011-05-31 21:00+0100\n" +"POT-Creation-Date: 2011-04-05 10:22+0300\n" +"PO-Revision-Date: 2010-09-16 19:04+0100\n" "Last-Translator: Chris Leick <c.leick@vollbio.de>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" "Language: de\n" @@ -656,12 +656,16 @@ msgstr "" #. The last update date #. type: Content of: <refentry><refentryinfo> #: apt-cache.8.xml:16 +#, fuzzy +#| msgid "" +#| "&apt-author.jgunthorpe; &apt-author.team; &apt-email; &apt-product; " +#| "<date>14 February 2004</date>" msgid "" "&apt-author.jgunthorpe; &apt-author.team; &apt-email; &apt-product; <date>04 " "February 2011</date>" msgstr "" "&apt-author.jgunthorpe; &apt-author.team; &apt-email; &apt-product; " -"<date>04. Februar 2011</date>" +"<date>14. Februar 2004</date>" #. type: Content of: <refentry><refnamediv><refname> #: apt-cache.8.xml:25 apt-cache.8.xml:32 @@ -686,10 +690,33 @@ msgstr "APT" #. type: Content of: <refentry><refnamediv><refpurpose> #: apt-cache.8.xml:33 msgid "query the APT cache" -msgstr "den APT-Zwischenspeicher abfragen" +msgstr "" #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: apt-cache.8.xml:39 +#, fuzzy +#| msgid "" +#| "<command>apt-cache</command> <arg><option>-hvsn</option></arg> " +#| "<arg><option>-o=<replaceable>config string</replaceable></option></arg> " +#| "<arg><option>-c=<replaceable>file</replaceable></option></arg> <group " +#| "choice=\"req\"> <arg>add <arg choice=\"plain\" rep=\"repeat" +#| "\"><replaceable>file</replaceable></arg></arg> <arg>gencaches</arg> " +#| "<arg>showpkg <arg choice=\"plain\" rep=\"repeat\"><replaceable>pkg</" +#| "replaceable></arg></arg> <arg>showsrc <arg choice=\"plain\" rep=\"repeat" +#| "\"><replaceable>pkg</replaceable></arg></arg> <arg>stats</arg> <arg>dump</" +#| "arg> <arg>dumpavail</arg> <arg>unmet</arg> <arg>search <arg choice=\"plain" +#| "\"><replaceable>regex</replaceable></arg></arg> <arg>show <arg choice=" +#| "\"plain\" rep=\"repeat\"><replaceable>pkg</replaceable></arg></arg> " +#| "<arg>depends <arg choice=\"plain\" rep=\"repeat\"><replaceable>pkg</" +#| "replaceable></arg></arg> <arg>rdepends <arg choice=\"plain\" rep=\"repeat" +#| "\"><replaceable>pkg</replaceable></arg></arg> <arg>pkgnames <arg choice=" +#| "\"plain\"><replaceable>prefix</replaceable></arg></arg> <arg>dotty <arg " +#| "choice=\"plain\" rep=\"repeat\"><replaceable>pkg</replaceable></arg></" +#| "arg> <arg>xvcg <arg choice=\"plain\" rep=\"repeat\"><replaceable>pkg</" +#| "replaceable></arg></arg> <arg>policy <arg choice=\"plain\" rep=\"repeat" +#| "\"><replaceable>pkgs</replaceable></arg></arg> <arg>madison <arg choice=" +#| "\"plain\" rep=\"repeat\"><replaceable>pkgs</replaceable></arg></arg> </" +#| "group>" msgid "" "<command>apt-cache</command> <arg><option>-hvsn</option></arg> <arg><option>-" "o=<replaceable>config string</replaceable></option></arg> <arg><option>-" @@ -714,15 +741,16 @@ msgstr "" "<command>apt-cache</command> <arg><option>-hvsn</option></arg> <arg><option>-" "o=<replaceable>Konfigurationszeichenkette</replaceable></option></arg> " "<arg><option>-c=<replaceable>Datei</replaceable></option></arg> <group " -"choice=\"req\"> <arg>gencaches</arg> <arg>showpkg <arg choice=\"plain\" rep=" -"\"repeat\"><replaceable>Paket</replaceable></arg></arg> <arg>showsrc <arg " -"choice=\"plain\" rep=\"repeat\"><replaceable>Paket</replaceable></arg></arg> " -"<arg>stats</arg> <arg>dump</arg> <arg>dumpavail</arg> <arg>unmet</arg> " -"<arg>search <arg choice=\"plain\"><replaceable>regulärer_Ausdruck</" -"replaceable></arg></arg> <arg>show <arg choice=\"plain\" rep=\"repeat" -"\"><replaceable>Paket</replaceable></arg></arg> <arg>depends <arg choice=" -"\"plain\" rep=\"repeat\"><replaceable>Paket</replaceable></arg></arg> " -"<arg>rdepends <arg choice=\"plain\" rep=\"repeat\"><replaceable>Paket</" +"choice=\"req\"> <arg>add <arg choice=\"plain\" rep=\"repeat" +"\"><replaceable>Datei</replaceable></arg></arg> <arg>gencaches</arg> " +"<arg>showpkg <arg choice=\"plain\" rep=\"repeat\"><replaceable>pkg</" +"replaceable></arg></arg> <arg>showsrc <arg choice=\"plain\" rep=\"repeat" +"\"><replaceable>pkg</replaceable></arg></arg> <arg>stats</arg> <arg>dump</" +"arg> <arg>dumpavail</arg> <arg>unmet</arg> <arg>search <arg choice=\"plain" +"\"><replaceable>regex</replaceable></arg></arg> <arg>show <arg choice=\"plain" +"\" rep=\"repeat\"><replaceable>pkg</replaceable></arg></arg> <arg>depends " +"<arg choice=\"plain\" rep=\"repeat\"><replaceable>pkg</replaceable></arg></" +"arg> <arg>rdepends <arg choice=\"plain\" rep=\"repeat\"><replaceable>Paket</" "replaceable></arg></arg> <arg>pkgnames <arg choice=\"plain" "\"><replaceable>Präfix</replaceable></arg></arg> <arg>dotty <arg choice=" "\"plain\" rep=\"repeat\"><replaceable>Paket</replaceable></arg></arg> " @@ -735,7 +763,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 #: apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 -#: apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 +#: apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 #: apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 #: sources.list.5.xml:36 msgid "Description" @@ -1254,7 +1282,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 -#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 +#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 #: apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "Optionen" @@ -1282,7 +1310,7 @@ msgstr "" "pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1310,12 +1338,12 @@ msgstr "" "srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1394,18 +1422,12 @@ msgstr "<option>--no-replaces</option>" msgid "<option>--no-enhances</option>" msgstr "<option>--no-enhances</option>" +# FIXME s/twicked/tricked/ #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:317 -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be twicked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1436,7 +1458,7 @@ msgstr "" "Konfigurationselement: <literal>APT::Cache::ShowFull</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1553,14 +1575,14 @@ 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-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 +#: 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:172 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:156 apt-mark.8.xml:125 +#: apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "Dateien" @@ -1571,9 +1593,9 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml: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 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:177 apt-mark.8.xml:131 apt-secure.8.xml:185 +#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 #: sources.list.5.xml:234 msgid "See Also" msgstr "Siehe auch" @@ -1585,8 +1607,8 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 -#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 +#: apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnose" @@ -1715,12 +1737,12 @@ msgstr "" "<placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 msgid "Options" msgstr "Optionen" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -1974,7 +1996,7 @@ msgid "Just show the contents of the configuration space." msgstr "Nur der Inhalt des Konfigurationsbereichs wird angezeigt." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -2287,18 +2309,6 @@ msgid "" "literal>. It then writes to stdout a Release file containing a MD5, SHA1 " "and SHA256 digest for each file." msgstr "" -"Der Befehl <literal>release</literal> erzeugt eine Release-Datei aus einem " -"Verzeichnisbaum. Standardmäßig durchsucht er rekursiv das angegebene " -"Verzeichnis nach nicht komprimierten <filename>Packages</filename>- und " -"<filename>Sources</filename>-Dateien und denen, die mit <command>gzip</" -"command>, <command>bzip2</command> oder <command>lzma</command> komprimiert " -"wurden, ebenso wie <filename>Release</filename>- und <filename>md5sum.txt</" -"filename>-Dateien (<literal>APT::FTPArchive::Release::Default-Patterns</" -"literal>). Zusätzliche Muster für Dateinamen können hinzugefügt werden, " -"indem sie in <literal>APT::FTPArchive::Release::Patterns</literal> " -"aufgeführt werden. Dann schreibt er eine Release-Datei auf die " -"Standardausgabe, die für jede Datei eine MD5-, SHA1- und SHA256-Prüfsumme " -"enthält." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:125 @@ -3137,39 +3147,46 @@ msgstr "" msgid "" "<option>--md5</option>, <option>--sha1</option>, <option>--sha256</option>" msgstr "" -"<option>--md5</option>, <option>--sha1</option>, <option>--sha256</option>" #. 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>." -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> " -"<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 +"<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 "" +"Werte für zusätzliche Metadatenfelder in der Release-Datei werden den " +"entsprechenden Variablen unter <literal>APT::FTPArchive::Release</literal> " +"entnommen, z.B. <literal>APT::FTPArchive::Release::Origin</literal>. Die " +"unterstützten Felder sind: <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: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>." @@ -3179,7 +3196,7 @@ msgstr "" "DB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3193,12 +3210,12 @@ msgstr "" "Konfigurationselement: <literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3212,12 +3229,12 @@ msgstr "" "DeLinkAct</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3233,12 +3250,12 @@ msgstr "" "Konfigurationselement: <literal>APT::FTPArchive::Contents</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3249,12 +3266,12 @@ msgstr "" "SourceOverride</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3263,12 +3280,12 @@ msgstr "" "<literal>APT::FTPArchive::ReadOnlyDB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -3282,12 +3299,12 @@ msgstr "" "Architecture</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>APT::FTPArchive::AlwaysStat</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3311,12 +3328,12 @@ msgstr "" "haben sollte und all diese zusätzlichen Prüfungen daher nutzlos sind." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3332,19 +3349,19 @@ msgstr "" "werden kann." #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 #: 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\"/>" @@ -3354,7 +3371,7 @@ msgstr "" ">" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3824,16 +3841,14 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:281 msgid "download" -msgstr "download" +msgstr "" #. 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-get.8.xml:288 @@ -3898,7 +3913,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:312 msgid "changelog" -msgstr "changelog" +msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:313 @@ -3912,14 +3927,6 @@ msgid "" "installed. However, you can specify the same options as for the " "<option>install</option> command." msgstr "" -"<literal>changelog</literal> lädt ein Changelog eines Pakets herunter und " -"zeigt es mit <command>sensible-pager</command> an. Der Servername und das " -"Basisverzeichnis sind in der Variable <literal>APT::Changelogs::Server</" -"literal> definiert (z.B. <ulink>http://packages.debian.org/changelogs</" -"ulink> für Debian oder <ulink>http://changelogs.ubuntu.com/changelogs</" -"ulink> für Ubuntu). Standardmäßig zeigt es das Changelog für die " -"installierte Version. Sie können jedoch die gleichen Optionen wie für den " -"Befehl <option>install</option> angeben." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:335 @@ -3937,17 +3944,23 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:340 +#, fuzzy +#| msgid "<option>--no-suggests</option>" msgid "<option>--install-suggests</option>" -msgstr "<option>--install-suggests</option>" +msgstr "<option>--no-suggests</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:341 +#, fuzzy +#| msgid "" +#| "Do not consider recommended packages as a dependency for installing. " +#| "Configuration Item: <literal>APT::Install-Recommends</literal>." msgid "" "Consider suggested packages as a dependency for installing. Configuration " "Item: <literal>APT::Install-Suggests</literal>." msgstr "" -"Empfohlene Pakete als Abhängigkeit für die Installation betrachten. " -"Konfigurationselement: <literal>APT::Install-Suggests</literal>." +"Empfohlene Pakete nicht als Abhängigkeit für die Installation betrachten. " +"Konfigurationselement: <literal>APT::Install-Recommends</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-get.8.xml:345 @@ -4723,24 +4736,8 @@ msgstr "" "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:140 -#, fuzzy -#| msgid "update" -msgid "net-update" -msgstr "update" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4749,12 +4746,12 @@ msgstr "" "Befehlen definiert sein müssen." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:161 +#: apt-key.8.xml:145 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>Dateiname</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:146 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 " @@ -4771,58 +4768,54 @@ msgstr "" "Schlüssel werden zu diesem hinzugefügt." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 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:178 +#: apt-key.8.xml:162 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:181 +#: apt-key.8.xml:165 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:182 +#: apt-key.8.xml:166 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:185 +#: apt-key.8.xml:169 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:186 +#: apt-key.8.xml:170 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:195 +#: apt-key.8.xml:179 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" #. The last update date #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 -#, fuzzy -#| msgid "" -#| "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " -#| "August 2009</date>" msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9. " "August 2009</date>" @@ -4841,22 +4834,13 @@ msgstr "" #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: apt-mark.8.xml:39 -#, fuzzy -#| msgid "" -#| " <command>apt-mark</command> <arg><option>-hv</option></arg> " -#| "<arg><option>-f=<replaceable>FILENAME</replaceable></option></arg> <group " -#| "choice=\"plain\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg " -#| "choice=\"plain\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </" -#| "group> <arg choice=\"plain\" rep=\"repeat\"><replaceable>package</" -#| "replaceable></arg> </arg> <arg choice=\"plain\">showauto</arg> </group>" msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" "\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg choice=\"plain" -"\">auto</arg> <arg choice=\"plain\">manual</arg> <arg choice=\"plain" -"\">showauto</arg> <arg choice=\"plain\">showmanual</arg> </group> <arg " +"\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </group> <arg " "choice=\"plain\" rep=\"repeat\"><replaceable>package</replaceable></arg> </" -"arg> </group>" +"arg> <arg choice=\"plain\">showauto</arg> </group>" msgstr "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>DATEINAME</replaceable></option></arg> <group choice=\"plain" @@ -4866,7 +4850,7 @@ msgstr "" "arg> <arg choice=\"plain\">showauto</arg> </group>" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." @@ -4875,7 +4859,7 @@ msgstr "" "installiert markiert ist." #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -4891,21 +4875,14 @@ msgstr "" "<command>aptitude</command> entfernt." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -#, fuzzy -#| msgid "markauto" -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "markauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 -#, fuzzy -#| msgid "" -#| "<literal>markauto</literal> is used to mark a package as being " -#| "automatically installed, which will cause the package to be removed when " -#| "no more manually installed packages depend on this package." +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" @@ -4914,19 +4891,14 @@ msgstr "" "keine manuell installierten Pakete von ihm abhängen." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" -msgstr "" +#: apt-mark.8.xml:76 +msgid "unmarkauto" +msgstr "unmarkauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 -#, fuzzy -#| msgid "" -#| "<literal>unmarkauto</literal> is used to mark a package as being manually " -#| "installed, which will prevent the package from being automatically " -#| "removed if no other packages depend on it." +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" @@ -4935,102 +4907,28 @@ msgstr "" "entfernt wird, wenn kein anderes Paket von ihm abhängt." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 -msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg --set-" -"selections</command> and the state is therefore maintained by &dpkg; and not " -"effected by the <option>--filename</option> option." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:96 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." -msgstr "" -"<literal>showauto</literal> wird benutzt, um eine Liste automatisch " -"installierter Pakete mit einem Paket in jeder neuen Zeile, auszugeben." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 +#: apt-mark.8.xml:84 msgid "showauto" msgstr "showauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." +#: apt-mark.8.xml:85 msgid "" "<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." -msgstr "" -"<literal>showauto</literal> wird benutzt, um eine Liste automatisch " -"installierter Pakete mit einem Paket in jeder neuen Zeile, auszugeben." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -#, fuzzy -#| msgid "showauto" -msgid "showmanual" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -#, fuzzy -#| msgid "showauto" -msgid "showhold" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." +"installed packages with each package on a new line." msgstr "" "<literal>showauto</literal> wird benutzt, um eine Liste automatisch " "installierter Pakete mit einem Paket in jeder neuen Zeile, auszugeben." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 +#: apt-mark.8.xml:96 msgid "" "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" "<option>-f=<filename><replaceable>DATEINAME</replaceable></filename></option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 +#: apt-mark.8.xml:97 msgid "" "<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" "option>" @@ -5039,7 +4937,7 @@ msgstr "" "option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 +#: apt-mark.8.xml:100 msgid "" "Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" "filename> instead of the default location, which is " @@ -5051,18 +4949,48 @@ msgstr "" "filename> im von Konfigurationselement <literal>Dir::State</literal> " "definierten Verzeichnis, ist." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" +msgstr "<option>-h</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" +msgstr "<option>--help</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." +msgstr "Eine kurze Zusammenfassung anzeigen." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" +msgstr "<option>-v</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" +msgstr "<option>--version</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:116 +msgid "Show the program version." +msgstr "Die Programmversion anzeigen." + #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr " &file-extended_states;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "&apt-get;,&aptitude;,&apt-conf;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -5277,6 +5205,14 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt-secure.8.xml:147 +#, fuzzy +#| msgid "" +#| "In order to add a new key you need to first download it (you should make " +#| "sure you are using a trusted communication channel when retrieving it), " +#| "add it with <command>apt-key</command> and then run <command>apt-get " +#| "update</command> so that apt can download and verify the " +#| "<filename>Release.gpg</filename> files from the archives you have " +#| "configured." msgid "" "In order to add a new key you need to first download it (you should make " "sure you are using a trusted communication channel when retrieving it), add " @@ -5289,9 +5225,8 @@ msgstr "" "(Sie sollten sicherstellen, dass Sie einen vertrauenswürdigen " "Kommunikationskanal benutzen, wenn Sie ihn herunterladen), ihn mit " "<command>apt-key</command> hinzufügen und dann <command>apt-get update</" -"command> ausführen, so dass APT die Dateien <filename>InRelease</filename> " -"oder <filename>Release.gpg</filename> der von Ihnen konfigurierten Archive " -"herunterladen und prüfen kann." +"command> ausführen, so dass APT die <filename>Release.gpg</filename>-Dateien " +"der von Ihnen konfigurierten Archive herunterladen und prüfen kann." #. type: Content of: <refentry><refsect1><title> #: apt-secure.8.xml:156 @@ -5320,14 +5255,17 @@ msgstr "" #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #: apt-secure.8.xml:168 +#, fuzzy +#| msgid "" +#| "<emphasis>Sign it</emphasis>. You can do this by running <command>gpg -" +#| "abs -o Release.gpg Release</command>." msgid "" "<emphasis>Sign it</emphasis>. You can do this by running <command>gpg --" "clearsign -o InRelease Release</command> and <command>gpg -abs -o Release." "gpg Release</command>." msgstr "" "<emphasis>Es signieren</emphasis>. Sie können dies tun, indem Sie " -"<command>gpg --clearsign -o InRelease Release</command> und <command>gpg -" -"abs -o Release.gpg Release</command> ausführen." +"<command>gpg -abs -o Release.gpg Release</command> ausführen." #. type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #: apt-secure.8.xml:172 @@ -5525,27 +5463,20 @@ msgstr "" #| "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." +#| "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 "" "alle Dateien in <literal>Dir::Etc::Parts</literal> in aufsteigender " "alphanumerischer Reihenfolge, die kein »<literal>conf</literal>« als " -"Dateinamenserweiterung haben und die nur alphanumerische Zeichen, " -"Bindestriche (-), Unterstriche (_) und Punkte (.) enthalten. Andernfalls " -"wird APT einen Hinweis ausgeben, dass es eine Datei ignoriert hat, falls die " -"Datei nicht auf ein Muster in der Konfigurationsliste <literal>Dir::Ignore-" -"Files-Silently</literal> passt – in diesem Fall wird sie stillschweigend " -"ignoriert." +"Dateinamenserweiterung haben und die alphanumerische Zeichen, Bindestriche " +"(-), Unterstriche (_) und Punkte (.) enthalten – andernfalls werden sie " +"stillschweigend ignoriert." #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml:59 @@ -6585,16 +6516,16 @@ msgstr "Dir::Bin::bzip2 \"/bin/bzip2\";" #| "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 " +#| "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 " @@ -6604,25 +6535,21 @@ msgstr "" "replaceable></literal> zur Laufzeit geprüft wird: Falls diese Einstellung " "existiert, wird die Methode nur benutzt, wenn die Datei existiert, z.B. für " "die (integrierte) bzip2-Methode ist die Einstellung <placeholder type=" -"\"literallayout\" id=\"0\"/>. Beachten Sie auch, dass auf der Befehlszeile " +"\"literallayout\" id=\"0\"/>. Beachten Sie, dass diese auf der Befehlszeile " "eingegebenen Einträge an das Ende der Liste angehängt werden, die in den " "Konfigurationsdateien angegeben wurde, aber vor den Vorgabeeinträgen. Um " -"einen Typ in diesem Fall gegenüber einem, der über die Konfigurationsdatei " -"angegebenen wurde, zu bevorzugen, können Sie diese Option direkt setzen – " -"nicht im Listenstil. Dies wird die definierte Liste nicht überschreiben, es " -"wird diesen Typ nur vor die Liste setzen." +"einen Eintrag in diesem Fall vor einem, über die in der Konfigurationsdatei " +"angegebenen, zu bevorzugen, können Sie diese Option direkt setzen – nicht im " +"Listenstil. Dies wird die definierte Liste nicht überschreiben, es wird " +"diesen Typ nur vor die Liste setzen." #. 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 " -"unkomprimierten Dateien einen Vorrang zu geben, beachten Sie jedoch, dass " -"die meisten Archive keine unkomprimierten Dateien bereitstellen, so dass " -"dies meist nur für lokale Spiegel benutzt werden kann." #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term> #: apt.conf.5.xml:454 @@ -7058,6 +6985,19 @@ msgstr "Dpkd-Trigger-Benutzung (und zugehöriger Optionen)" #. type: Content of: <refentry><refsect1><refsect2><para> #: apt.conf.5.xml:621 +#, fuzzy +#| msgid "" +#| "APT can call dpkg in a way so it can make aggressive use of triggers over " +#| "multiply calls of dpkg. Without further options dpkg will use triggers " +#| "only in between his own run. Activating these options can therefore " +#| "decrease the time needed to perform the install / upgrade. Note that it " +#| "is intended to activate these options per default in the future, but as " +#| "it changes the way APT calling dpkg drastically it needs a lot more " +#| "testing. <emphasis>These options are therefore currently experimental " +#| "and should not be used in productive environments.</emphasis> Also it " +#| "breaks the progress reporting so all frontends will currently stay around " +#| "half (or more) of the time in the 100% state while it actually configures " +#| "all packages." msgid "" "APT can call dpkg in a way so it can make aggressive use of triggers over " "multiple calls of dpkg. Without further options dpkg will use triggers only " @@ -7070,18 +7010,17 @@ msgid "" "all frontends will currently stay around half (or more) of the time in the " "100% state while it actually configures all packages." msgstr "" -"APT kann Dpkg auf eine Art aufrufen, in der aggressiv Gebrauch von Triggern " -"über mehrere Dpkg-Aufrufe hinweg gemacht wird. Ohne weitere Optionen wird " -"Dpkg Trigger nur während seiner eigenen Ausführung benutzen. Diese Optionen " -"zu benutzen, kann daher die zum Installieren/Upgrade benötigte Zeit " -"verkürzen. Beachten Sie, dass geplant ist, diese Optionen in Zukunft " -"standardmäßig zu aktivieren, aber da es die Art, wie APT Dpkg aufruft, " -"drastisch ändert, benötigt es noch viele weitere Tests. <emphasis>Diese " -"Optionen sind daher aktuell noch experimentell und sollten nicht in " -"produktiven Umgebungen benutzt werden.</emphasis> Außerdem unterbricht es " -"die Fortschrittsanzeige, so dass alle Oberflächen derzeit die halbe (oder " -"mehr) Zeit auf dem Status 100% stehen, während tatsächlich alle Pakete " -"konfiguriert werden." +"APT kann Dpkg auf eine Art aufrufen, auf die aggressiv Gebrauch von Triggern " +"über mehrere Dpkg-Aufrufe gemacht wird. Ohne weitere Optionen wird Dpkg " +"Trigger nur während seiner eigenen Ausführung benutzen. Diese Optionen zu " +"benutzen, kann daher die zum Installieren/Upgrade benötigte Zeit verkürzen. " +"Beachten Sie, dass geplant ist, diese Optionen in Zukunft standardmäßig zu " +"aktivieren, aber da es die Art, wie APT Dpkg aufruft, drastisch ändert, " +"benötigt es noch viele weitere Tests. <emphasis>Diese Optionen sind daher " +"aktuell noch experimentell und sollten nicht in produktiven Umgebungen " +"benutzt werden.</emphasis> Außerdem unterbricht es die Fortschrittsanzeige, " +"so dass alle Oberflächen aktuell in der halben (oder mehr) Zeit auf dem " +"Status 100% stehen, während es aktuell alle Pakete konfiguriert." #. type: Content of: <refentry><refsect1><refsect2><para><literallayout> #: apt.conf.5.xml:636 @@ -7907,28 +7846,23 @@ msgstr "" #| "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." +#| "hyphen (-), underscore (_) 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 "" -"Beachten Sie, dass die Dateien im Verzeichnis <filename>/etc/apt/preferences." -"d</filename> in alphanumerisch aufsteigender Reihenfolge ausgewertet werden " -"und der folgenden Namenskonvention unterliegen: Die Dateien haben keine oder " -"<literal>»pref«</literal> als Dateierweiterung und sie enthalten nur " -"alphanumerische Zeichen, Bindestriche (-), Unterstriche (_) oder Punkte (.). " -"Andernfalls wird APT einen Hinweis ausgeben, dass es eine Datei ignoriert " -"hat, falls die Datei nicht auf ein Muster in der Konfigurationsliste " -"<literal>Dir::Ignore-Files-Silently</literal> passt – in diesem Fall wird " +"Beachten Sie, dass die Dateien im Verzeichnis /etc/apt/preferences.d in " +"alphanumerisch aufsteigender Richtung ausgewertet werden und der folgenden " +"Namenskonvention unterliegen: Die Dateien haben keine oder »pref« als " +"Dateierweiterung und sie enthalten nur alphanumerische Zeichen, Bindestriche " +"(-), Unterstriche (_) oder Punkte (.). Wenn dies nicht der Fall ist, werden " "sie stillschweigend ignoriert." #. type: Content of: <refentry><refsect1><refsect2><title> @@ -7986,19 +7920,17 @@ msgstr "Priorität 1" #, fuzzy #| msgid "" #| "to the versions coming from archives which in their <filename>Release</" -#| "filename> files are marked as \"NotAutomatic: yes\" but <emphasis>not</" -#| "emphasis> as \"ButAutomaticUpgrades: yes\" like the debian " -#| "<literal>experimental</literal> archive." +#| "filename> files are marked as \"NotAutomatic: yes\" like the debian " +#| "experimental archive." msgid "" "to the versions coming from archives which in their <filename>Release</" "filename> files are marked as \"NotAutomatic: yes\" but <emphasis>not</" "emphasis> as \"ButAutomaticUpgrades: yes\" like the debian " "<literal>experimental</literal> archive." msgstr "" -"zu den Versionen, die von Archiven kommen, die in deren <filename>Release</" -"filename>-Dateien als »NotAutomatic: yes« markiert sind, aber " -"<emphasis>nicht</emphasis> als »ButAutomaticUpgrades: yes« wie das Archiv " -"<literal>experimental</literal> von Debian." +"zu den Versionen, die von Archiven kommen, deren <filename>Release</" +"filename>-Dateien als »NotAutomatic: yes« markiert sind, wie das Debian-" +"Experimental-Archiv." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> #: apt_preferences.5.xml:113 @@ -8007,17 +7939,20 @@ msgstr "Priorität 100" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #: apt_preferences.5.xml:114 +#, fuzzy +#| msgid "" +#| "to the versions coming from archives which in their <filename>Release</" +#| "filename> files are marked as \"NotAutomatic: yes\" like the debian " +#| "experimental archive." msgid "" "to the version that is already installed (if any) and to the versions coming " "from archives which in their <filename>Release</filename> files are marked " "as \"NotAutomatic: yes\" and \"ButAutomaticUpgrades: yes\" like the debian " "backports archive since <literal>squeeze-backports</literal>." msgstr "" -"zu der Version, die bereits installiert ist (wenn dies der Fall ist) und zu " -"Versionen, die von Archiven kommen, die in deren <filename>Release</" -"filename>-Dateien als »NotAutomatic: yes« und »ButAutomaticUpgrades: yes« " -"markiert sind, wie das Debian-Backports-Archiv seit <literal>squeeze-" -"backports</literal>." +"zu den Versionen, die von Archiven kommen, deren <filename>Release</" +"filename>-Dateien als »NotAutomatic: yes« markiert sind, wie das Debian-" +"Experimental-Archiv." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> #: apt_preferences.5.xml:121 @@ -8062,10 +7997,9 @@ msgstr "" #| msgid "" #| "If the target release has not been specified then APT simply assigns " #| "priority 100 to all installed package versions and priority 500 to all " -#| "uninstalled package versions, except versions coming from archives which " +#| "uninstalled package versions, expect versions coming from archives which " #| "in their <filename>Release</filename> files are marked as \"NotAutomatic: " -#| "yes\" - these versions get the priority 1 or priority 100 if it is " -#| "additionally marked as \"ButAutomaticUpgrades: yes\"." +#| "yes\" - these versions get the priority 1." msgid "" "If the target release has not been specified then APT simply assigns " "priority 100 to all installed package versions and priority 500 to all " @@ -8077,10 +8011,8 @@ msgstr "" "Wenn das Ziel-Release nicht angegeben wurde, dann weist APT einfach allen " "installierten Paketversionen eine Priorität von 100 und allen nicht " "installierten Paketversionen eine Priorität von 500 zu, außer wenn Versionen " -"aus Archiven kommen, die in deren <filename>Release<filename>-Dateien " -"»NotAutomatic: yes« markiert sind – diese Versionen erhalten die Priorität 1 " -"oder die Priorität 100, falls sie zusätzlich als »ButAutomaticUpgrades: yes« " -"markiert sind." +"aus Archiven kommen, in deren Release-Dateien »NotAutomatic: yes« markiert " +"ist – diese Versionen erhalten die Prirität 1." #. type: Content of: <refentry><refsect1><refsect2><para> #: apt_preferences.5.xml:139 @@ -8380,83 +8312,17 @@ msgstr "" "Pin-Priority: 500\n" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "Reguläre Ausdrücke und glob()-Syntax" - -#. 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 " -"expression surrounded by slashes)." -msgstr "" -"APT unterstützt außerdem Pinning mittels glob()-Ausdrücken und regulären " -"Ausdrücken, die von »/« umschlossen sind. Das folgende Beispiel weist " -"beispielsweise allen Paketen aus Experimental die Priorität 500 zu, bei " -"denen der Name mit »gnome« beginnt (wie ein glob()-artiger Ausdruck) oder " -"das Wort »kde« enthält (wie ein erweiterter regulärer POSIX-Ausdruck, der " -"von Schrägstrichen umschlossen wird)." - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, no-wrap -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" -"Die Regel für diese Ausdrücke ist, dass sie überall dort auftreten können, " -"wo eine Zeichenkette auftreten kann. Somit weist die folgende Pin allen " -"Paketen von einem Release seit Karmic die Priorität 900 zu." - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, no-wrap -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -msgid "Package" -msgstr "Package" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "*" - -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 msgid "How APT Interprets Priorities" msgstr "Wie APT Prioritäten interpretiert" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 msgid "P > 1000" msgstr "P > 1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 msgid "" "causes a version to be installed even if this constitutes a downgrade of the " "package" @@ -8465,12 +8331,12 @@ msgstr "" "des Pakets durchführt" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 msgid "990 < P <=1000" msgstr "990 < P <=1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 msgid "" "causes a version to be installed even if it does not come from the target " "release, unless the installed version is more recent" @@ -8479,12 +8345,12 @@ msgstr "" "Ziel-Release kommt, außer wenn die installierte Version aktueller ist" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 msgid "500 < P <=990" msgstr "500 < P <=990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 msgid "" "causes a version to be installed unless there is a version available " "belonging to the target release or the installed version is more recent" @@ -8494,12 +8360,12 @@ msgstr "" "neuer ist" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 msgid "100 < P <=500" msgstr "100 < P <=500" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 msgid "" "causes a version to be installed unless there is a version available " "belonging to some other distribution or the installed version is more recent" @@ -8509,12 +8375,12 @@ msgstr "" "installierte Version neuer ist" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 msgid "0 < P <=100" msgstr "0 < P <=100" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 msgid "" "causes a version to be installed only if there is no installed version of " "the package" @@ -8523,17 +8389,17 @@ msgstr "" "installierte Version des Pakets gibt" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 msgid "P < 0" msgstr "P < 0" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 msgid "prevents the version from being installed" msgstr "verhindert das Installieren der Version" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " "negative integers. They are interpreted as follows (roughly speaking): " @@ -8544,7 +8410,7 @@ msgstr "" "(grob gesagt): <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 msgid "" "If any specific-form records match an available package version then the " "first such record determines the priority of the package version. Failing " @@ -8558,7 +8424,7 @@ msgstr "" "erste dieser Datensätze die Priorität der Paketversion fest." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 msgid "" "For example, suppose the APT preferences file contains the three records " "presented earlier:" @@ -8567,7 +8433,7 @@ msgstr "" "bereits gezeigten Datensätze:" #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, no-wrap msgid "" "Package: perl\n" @@ -8595,12 +8461,12 @@ msgstr "" "Pin-Priority: 50\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "Dann:" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 msgid "" "The most recent available version of the <literal>perl</literal> package " "will be installed, so long as that version's version number begins with " @@ -8615,7 +8481,7 @@ msgstr "" "dann wird von <literal>perl</literal> ein Downgrade durchgeführt." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 msgid "" "A version of any package other than <literal>perl</literal> that is " "available from the local system has priority over other versions, even " @@ -8626,7 +8492,7 @@ msgstr "" "sogar wenn diese Versionen zum Ziel-Release gehören." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 msgid "" "A version of a package whose origin is not the local system but some other " "site listed in &sources-list; and which belongs to an <literal>unstable</" @@ -8640,12 +8506,12 @@ msgstr "" "Pakets installiert ist." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 msgid "Determination of Package Version and Distribution Properties" msgstr "Festlegung von Paketversion und Distributions-Eigenschaften" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 msgid "" "The locations listed in the &sources-list; file should provide " "<filename>Packages</filename> and <filename>Release</filename> files to " @@ -8656,27 +8522,27 @@ msgstr "" "bereitstellen, um die an diesem Ort verfügbaren Pakete zu beschreiben." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 msgid "the <literal>Package:</literal> line" msgstr "die <literal>Package:</literal>-Zeile" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 msgid "gives the package name" msgstr "gibt den Paketnamen an" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 msgid "the <literal>Version:</literal> line" msgstr "die <literal>Version:</literal>-Zeile" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 msgid "gives the version number for the named package" msgstr "gibt die Versionsnummer für das genannte Paket an" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 msgid "" "The <filename>Packages</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable>/" @@ -8697,12 +8563,12 @@ msgstr "" "Prioritäten relevant: <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "die <literal>Archive:</literal>- oder <literal>Suite:</literal>-Zeile" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 msgid "" "names the archive to which all the packages in the directory tree belong. " "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies " @@ -8719,18 +8585,18 @@ msgstr "" "die folgende Zeile benötigen:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, no-wrap msgid "Pin: release a=stable\n" msgstr "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 msgid "the <literal>Codename:</literal> line" msgstr "die <literal>Codename:</literal>-Zeile" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 msgid "" "names the codename to which all the packages in the directory tree belong. " "For example, the line \"Codename: &testing-codename;\" specifies that all of " @@ -8747,13 +8613,13 @@ msgstr "" "anzugeben würde die folgende Zeile benötigen:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, no-wrap msgid "Pin: release n=&testing-codename;\n" msgstr "Pin: release n=&testing-codename;\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 msgid "" "names the release version. For example, the packages in the tree might " "belong to Debian GNU/Linux release version 3.0. Note that there is normally " @@ -8769,7 +8635,7 @@ msgstr "" "eine der folgenden Zeilen benötigen:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, no-wrap msgid "" "Pin: release v=3.0\n" @@ -8781,12 +8647,12 @@ msgstr "" "Pin: release 3.0\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 msgid "the <literal>Component:</literal> line" msgstr "die <literal>Component:</literal>-Zeile" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 msgid "" "names the licensing component associated with the packages in the directory " "tree of the <filename>Release</filename> file. For example, the line " @@ -8804,18 +8670,18 @@ msgstr "" "Zeilen benötigen:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, no-wrap msgid "Pin: release c=main\n" msgstr "Pin: release c=main\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 msgid "the <literal>Origin:</literal> line" msgstr "die <literal>Origin:</literal>-Zeile" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 msgid "" "names the originator of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8827,18 +8693,18 @@ msgstr "" "in der APT-Einstellungsdatei anzugeben würde die folgende Zeile benötigen:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, no-wrap msgid "Pin: release o=Debian\n" msgstr "Pin: release o=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 msgid "the <literal>Label:</literal> line" msgstr "die <literal>Label:</literal>-Zeile" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 msgid "" "names the label of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8851,13 +8717,13 @@ msgstr "" "die folgende Zeile benötigen:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, no-wrap msgid "Pin: release l=Debian\n" msgstr "Pin: release l=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 msgid "" "The <filename>Release</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable></filename>: for " @@ -8880,7 +8746,7 @@ msgstr "" "APT-Prioritäten relevant: <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " "files retrieved from locations listed in the &sources-list; file are stored " @@ -8906,12 +8772,12 @@ msgstr "" "Distribution heruntergeladen wurde." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 msgid "Optional Lines in an APT Preferences Record" msgstr "Optionale Zeilen in einem APT-Einstellungsdatensatz" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 msgid "" "Each record in the APT preferences file can optionally begin with one or " "more lines beginning with the word <literal>Explanation:</literal>. This " @@ -8922,12 +8788,12 @@ msgstr "" "anfangen. Dieses stellt einen Platz für Kommentare bereit." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 msgid "Tracking Stable" msgstr "Stable verfolgen" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -8951,7 +8817,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -8966,8 +8832,8 @@ msgstr "" "Distributionen gehören. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 -#: apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 +#: apt_preferences.5.xml:632 #, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -8979,7 +8845,7 @@ msgstr "" "apt-get dist-upgrade\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -8992,13 +8858,13 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "apt-get install <replaceable>Paket</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>testing</literal> distribution; the package " @@ -9012,12 +8878,12 @@ msgstr "" "\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 msgid "Tracking Testing or Unstable" msgstr "Testing oder Unstable verfolgen" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, no-wrap msgid "" "Package: *\n" @@ -9045,7 +8911,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 msgid "" "The following APT preferences file will cause APT to assign a high priority " "to package versions from the <literal>testing</literal> distribution, a " @@ -9062,7 +8928,7 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -9075,13 +8941,13 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "apt-get install <replaceable>Paket</replaceable>/unstable\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>unstable</literal> distribution. " @@ -9101,12 +8967,12 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "Die Entwicklung eines Codename-Releases verfolgen" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package versions\n" @@ -9141,7 +9007,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -9167,7 +9033,7 @@ msgstr "" "benutzen. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest version(s) in " @@ -9180,13 +9046,13 @@ msgstr "" "literal> durchzuführen. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "apt-get install <replaceable>Paket</replaceable>/sid\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>sid</literal> distribution. Thereafter, " @@ -9206,12 +9072,12 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 msgid "&file-preferences;" msgstr "&file-preferences;" #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" @@ -9269,6 +9135,14 @@ msgstr "sources.list.d" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:54 +#, 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 "" "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 " @@ -9284,10 +9158,8 @@ msgstr "" "Das Format ist das gleiche wie für die normale <filename>sources.list</" "filename>-Datei. Dateinamen müssen mit <filename>.list</filename> enden und " "können nur Buchstaben (a-z und A-Z), Ziffern (0-9), Unterstriche (_), " -"Bindestriche (-) und Punkte (.) enthalten. Andernfalls wird APT einen " -"Hinweis ausgeben, dass es eine Datei ignoriert hat, falls die Datei nicht " -"auf ein Muster in der Konfigurationsliste <literal>Dir::Ignore-Files-" -"Silently</literal> passt – in diesem Fall wird sie stillschweigend ignoriert." +"Bindestriche (-) und Punkte (.) enthalten. Ansonsten werden sie " +"stillschweigend ignoriert." #. type: Content of: <refentry><refsect1><title> #: sources.list.5.xml:65 @@ -9296,6 +9168,17 @@ msgstr "Die Typen deb und deb-src" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:66 +#, fuzzy +#| msgid "" +#| "The <literal>deb</literal> type describes a typical two-level Debian " +#| "archive, <filename>distribution/component</filename>. Typically, " +#| "<literal>distribution</literal> is generally one of <literal>stable</" +#| "literal> <literal>unstable</literal> or <literal>testing</literal> while " +#| "component is one of <literal>main</literal> <literal>contrib</literal> " +#| "<literal>non-free</literal> or <literal>non-us</literal>. The " +#| "<literal>deb-src</literal> type describes a debian distribution's source " +#| "code in the same form as the <literal>deb</literal> type. A <literal>deb-" +#| "src</literal> line is required to fetch source indexes." msgid "" "The <literal>deb</literal> type describes a typical two-level Debian " "archive, <filename>distribution/component</filename>. Typically, " @@ -9310,14 +9193,14 @@ msgid "" msgstr "" "Der <literal>deb</literal>-Typ beschreibt ein typisches zweistufiges Debian-" "Archiv, <filename>Distribution/Komponente</filename>. <literal>Distribution</" -"literal> ist typischerweise ein Archivname wie <literal>stable</literal> " -"oder <literal>testing</literal> oder ein Kodename wie <literal>&stable-" -"codename;</literal> oder <literal>&testing-codename;</literal> während " -"Komponente entweder <literal>main</literal>, <literal>contrib</literal> oder " -"<literal>non-free</literal> ist. Der <literal>deb-src</literal>-Typ " -"beschreibt den Quellcode einer Debian-Distribution in der gleichen Form wie " -"den <literal>deb</literal>-Typ. Eine <literal>deb-src</literal>-Zeile wird " -"benötigt, um Quellindizes herunterzuladen." +"literal> ist typischerweise entweder <literal>stable</literal>, " +"<literal>unstable</literal> oder <literal>testing</literal>, während " +"Komponente entweder <literal>main</literal>, <literal>contrib</literal>, " +"<literal>non-free</literal> oder <literal>non-us</literal> ist. Der " +"<literal>deb-src</literal>-Typ beschreibt einen Quellcode einer Debian-" +"Distribution in der gleichen Form wie den <literal>deb</literal>-Typ. Eine " +"<literal>deb-src</literal>-Zeile wird benötigt, um Quellindizes " +"herunterzuladen." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:78 @@ -9670,12 +9553,22 @@ msgstr "deb ftp://ftp.debian.org/debian unstable contrib" #. type: Content of: <refentry><refsect1><para><literallayout> #: sources.list.5.xml:230 -#, no-wrap +#, fuzzy, no-wrap +#| msgid "deb http://ftp.de.debian.org/debian-non-US unstable/binary-$(ARCH)/" msgid "deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/" -msgstr "deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/" +msgstr "deb http://ftp.de.debian.org/debian-non-US unstable/binary-$(ARCH)/" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:223 +#, fuzzy +#| msgid "" +#| "Uses HTTP to access the archive at nonus.debian.org, under the debian-non-" +#| "US directory, and uses only files found under <filename>unstable/binary-" +#| "i386</filename> on i386 machines, <filename>unstable/binary-m68k</" +#| "filename> on m68k, and so forth for other supported architectures. [Note " +#| "this example only illustrates how to use the substitution variable; non-" +#| "us is no longer structured like this] <placeholder type=\"literallayout\" " +#| "id=\"0\"/>" msgid "" "Uses HTTP to access the archive at ftp.tlh.debian.org, under the universe " "directory, and uses only files found under <filename>unstable/binary-i386</" @@ -9685,14 +9578,14 @@ msgid "" "archives are not structured like this] <placeholder type=\"literallayout\" " "id=\"0\"/>" msgstr "" -"Benutzt HTTP, um auf das Archiv auf ftp.tlh.debian.org unter dem universe-" +"Benutzt HTTP, um auf das Archiv auf nonus.debian.org unter dem debian-non-US-" "Verzeichnis zuzugreifen und benutzt nur Dateien, die unter " "<filename>unstable/binary-i386</filename> auf i386-Maschinen, " -"<filename>unstable/binary-amd64</filename> auf amd64 und so weiter für " -"andere unterstützte Architekturen, gefunden werden. [Beachten Sie, dass " -"dieses Beispiel nur anschaulich macht, wie die Platzhaltervariable benutzt " -"wird. Offizielle Debian-Archive sind nicht so strukturiert.] <placeholder " -"type=\"literallayout\" id=\"0\"/>" +"<filename>unstable/binary-m68k</filename> auf m68k und so weiter für andere " +"unterstützte Architekturen, gefunden werden. [Beachten Sie, dass dieses " +"Beispiel nur anschaulich macht, wie die Platzhaltervariable benutzt wird. " +"»non-us« ist nicht länger so strukturiert] <placeholder type=\"literallayout" +"\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:235 @@ -11265,27 +11158,6 @@ msgstr "Es wird die bereits auf die Platte heruntergeladenen Archive benutzen." #~ "möglich ist. Konfigurationselement: <literal>APT::FTPArchive::MD5</" #~ "literal>" -#~ msgid "unmarkauto" -#~ msgstr "unmarkauto" - -#~ msgid "<option>-h</option>" -#~ msgstr "<option>-h</option>" - -#~ msgid "<option>--help</option>" -#~ msgstr "<option>--help</option>" - -#~ msgid "Show a short usage summary." -#~ msgstr "Eine kurze Zusammenfassung anzeigen." - -#~ msgid "<option>-v</option>" -#~ msgstr "<option>-v</option>" - -#~ msgid "<option>--version</option>" -#~ msgstr "<option>--version</option>" - -#~ msgid "Show the program version." -#~ msgstr "Die Programmversion anzeigen." - #~ msgid "to the version that is already installed (if any)." #~ msgstr "zu der Version, die bereits installiert ist (wenn vorhanden)." diff --git a/doc/po/es.po b/doc/po/es.po index ad7d02109..6b9b667e2 100644 --- a/doc/po/es.po +++ b/doc/po/es.po @@ -36,7 +36,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.25\n" -"POT-Creation-Date: 2011-06-28 16:42+0200\n" +"POT-Creation-Date: 2011-04-05 10:22+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" @@ -810,7 +810,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 #: apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 -#: apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 +#: apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 #: apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 #: sources.list.5.xml:36 msgid "Description" @@ -1327,7 +1327,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 -#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 +#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 #: apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "Opciones" @@ -1354,7 +1354,7 @@ msgstr "" "configuración: <literal>Dir::Cache::pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1380,12 +1380,12 @@ msgstr "" "Opción de configuración: <literal>Dir::Cache::srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1466,16 +1466,9 @@ msgstr "<option>--no-enhances</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:317 -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be twicked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1507,7 +1500,7 @@ msgstr "" "Opción de configuración: <literal>APT::Cache::ShowFull</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1624,14 +1617,14 @@ 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-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 +#: 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:172 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:156 apt-mark.8.xml:125 +#: apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "Ficheros" @@ -1642,9 +1635,9 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml: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 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:177 apt-mark.8.xml:131 apt-secure.8.xml:185 +#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 #: sources.list.5.xml:234 msgid "See Also" msgstr "Véase también" @@ -1656,8 +1649,8 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 -#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 +#: apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnósticos" @@ -1786,12 +1779,12 @@ msgstr "" "option>. <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 msgid "Options" msgstr "Opciones" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -2048,7 +2041,7 @@ msgid "Just show the contents of the configuration space." msgstr "Sólo muestra el contenido del espacio de configuración." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3205,25 +3198,43 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 +#, fuzzy +#| msgid "" +#| "Values for the additional metadata fields in the Release file are taken " +#| "from the corresponding variables under <literal>APT::FTPArchive::Release</" +#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The " +#| "supported fields are: <literal>Origin</literal>, <literal>Label</" +#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, " +#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-" +#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</" +#| "literal>, <literal>Description</literal>." msgid "" "Generate the given checksum. These options default to on, when turned off " "the generated index files will not have the checksum fields where possible. " "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" +"Los valores para los campos de metadatos adicionales en el fichero «Release» " +"se toman de las variables correspondientes en <literal>APT::FTPArchive::" +"Release</literal>, por ejemplo <literal>APT::FTPArchive::Release::Origin</" +"literal>. Los campos permitidos son: <literal>Origin</literal>, " +"<literal>Label</literal>, <literal>Suite</literal>, <literal>Version</" +"literal>, <literal>Codename</literal>, <literal>Date</literal>, " +"<literal>Valid-Until</literal>, <literal>Architectures</literal>, " +"<literal>Components</literal> y <literal>Description</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3232,7 +3243,7 @@ msgstr "" "«generate». Opción de configuración: <literal>APT::FTPArchive::DB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3246,12 +3257,12 @@ msgstr "" "configuración. Opción de configuración: <literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3264,12 +3275,12 @@ msgstr "" "Opción de configuración: <literal>APT::FTPArchive::DeLinkAct</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3286,12 +3297,12 @@ msgstr "" "Contents</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3302,12 +3313,12 @@ msgstr "" "FTPArchive::SourceOverride</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3316,12 +3327,12 @@ msgstr "" "Opción de configuración: <literal>APT::FTPArchive::ReadOnlyDB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -3335,12 +3346,12 @@ msgstr "" "FTPArchive::Architecture</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>APT::FTPArchive::AlwaysStat</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3364,12 +3375,12 @@ msgstr "" "comprobaciones adicionales son innecesarias." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3385,19 +3396,19 @@ msgstr "" "con la orden «generate»." #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 #: sources.list.5.xml:198 msgid "Examples" msgstr "Ejemplos" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> packages <replaceable>directorio</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3406,7 +3417,7 @@ msgstr "" "paquetes binarios («.deb»): <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3879,7 +3890,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -4760,24 +4771,8 @@ 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:140 -#, fuzzy -#| msgid "update" -msgid "net-update" -msgstr "update" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4786,12 +4781,12 @@ msgstr "" "descritas en el sección anterior." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:161 +#: apt-key.8.xml:145 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:162 +#: apt-key.8.xml:146 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 " @@ -4808,57 +4803,53 @@ msgstr "" "esto es, por ejemplo, que las claves nuevas se añaden a este fichero." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 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:178 +#: apt-key.8.xml:162 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:181 +#: apt-key.8.xml:165 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:182 +#: apt-key.8.xml:166 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:185 +#: apt-key.8.xml:169 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:186 +#: apt-key.8.xml:170 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:195 +#: apt-key.8.xml:179 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" #. The last update date #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 -#, fuzzy -#| msgid "" -#| "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " -#| "August 2009</date>" msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 de " "Agosto de 2009</date>" @@ -4875,22 +4866,13 @@ msgstr "Marca o desmarca un paquete como instalado automáticamente" #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: apt-mark.8.xml:39 -#, fuzzy -#| msgid "" -#| " <command>apt-mark</command> <arg><option>-hv</option></arg> " -#| "<arg><option>-f=<replaceable>FILENAME</replaceable></option></arg> <group " -#| "choice=\"plain\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg " -#| "choice=\"plain\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </" -#| "group> <arg choice=\"plain\" rep=\"repeat\"><replaceable>package</" -#| "replaceable></arg> </arg> <arg choice=\"plain\">showauto</arg> </group>" msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" "\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg choice=\"plain" -"\">auto</arg> <arg choice=\"plain\">manual</arg> <arg choice=\"plain" -"\">showauto</arg> <arg choice=\"plain\">showmanual</arg> </group> <arg " +"\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </group> <arg " "choice=\"plain\" rep=\"repeat\"><replaceable>package</replaceable></arg> </" -"arg> </group>" +"arg> <arg choice=\"plain\">showauto</arg> </group>" msgstr "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>nombre-de-fichero</replaceable></option></arg> <group choice=" @@ -4900,7 +4882,7 @@ msgstr "" "arg> <arg choice=\"plain\">showauto</arg> </group>" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." @@ -4909,7 +4891,7 @@ msgstr "" "o no." #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -4925,21 +4907,14 @@ msgstr "" "eliminará." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -#, fuzzy -#| msgid "markauto" -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "markauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 -#, fuzzy -#| msgid "" -#| "<literal>markauto</literal> is used to mark a package as being " -#| "automatically installed, which will cause the package to be removed when " -#| "no more manually installed packages depend on this package." +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" @@ -4948,19 +4923,14 @@ msgstr "" "paquete instalado manualmente dependa de este paquete." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" -msgstr "" +#: apt-mark.8.xml:76 +msgid "unmarkauto" +msgstr "unmarkauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 -#, fuzzy -#| msgid "" -#| "<literal>unmarkauto</literal> is used to mark a package as being manually " -#| "installed, which will prevent the package from being automatically " -#| "removed if no other packages depend on it." +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" @@ -4969,95 +4939,21 @@ msgstr "" "ningún otro depende de él." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 -msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg --set-" -"selections</command> and the state is therefore maintained by &dpkg; and not " -"effected by the <option>--filename</option> option." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:96 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." -msgstr "" -"<literal>showauto</literal> se usa para mostrar una lista de paquetes " -"instalados automáticamente, un paquete por lÃnea." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 +#: apt-mark.8.xml:84 msgid "showauto" msgstr "showauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." +#: apt-mark.8.xml:85 msgid "" "<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." +"installed packages with each package on a new line." msgstr "" "<literal>showauto</literal> se usa para mostrar una lista de paquetes " "instalados automáticamente, un paquete por lÃnea." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -#, fuzzy -#| msgid "showauto" -msgid "showmanual" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -#, fuzzy -#| msgid "showauto" -msgid "showhold" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." -msgstr "" -"<literal>showauto</literal> se usa para mostrar una lista de paquetes " -"instalados automáticamente, un paquete por lÃnea." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 +#: apt-mark.8.xml:96 msgid "" "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" @@ -5065,7 +4961,7 @@ msgstr "" "filename></option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 +#: apt-mark.8.xml:97 msgid "" "<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" "option>" @@ -5074,7 +4970,7 @@ msgstr "" "filename></option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 +#: apt-mark.8.xml:100 msgid "" "Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" "filename> instead of the default location, which is " @@ -5087,18 +4983,48 @@ msgstr "" "en el directorio definido en la opción de configuración: <literal>Dir::" "State</literal>." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" +msgstr "<option>-h</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" +msgstr "<option>--help</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." +msgstr "Muestra un breve resumen de uso." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" +msgstr "<option>-v</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" +msgstr "<option>--version</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:116 +msgid "Show the program version." +msgstr "Muestra la versión del programa." + #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr " &file-extended_states;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "&apt-get;,&aptitude;,&apt-conf;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -5571,12 +5497,11 @@ msgstr "" #| "period (.) characters - otherwise they will be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "Todos los ficheros en <literal>Dir::Etc::Parts</literal> en orden " "alfanumérico ascendente que no tienen extensión o la extensión " @@ -6605,9 +6530,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6629,7 +6554,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -7922,8 +7847,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8381,84 +8306,17 @@ msgstr "" "Pin-Priority: 500\n" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "" - -#. 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 " -"expression surrounded by slashes)." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -#, fuzzy -#| msgid "Packages" -msgid "Package" -msgstr "Packages" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 msgid "How APT Interprets Priorities" msgstr "¿Cómo interpreta APT las prioridades?" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 msgid "P > 1000" msgstr "P > 1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 msgid "" "causes a version to be installed even if this constitutes a downgrade of the " "package" @@ -8467,12 +8325,12 @@ msgstr "" "el sistema." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 msgid "990 < P <=1000" msgstr "990 < P <=1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 msgid "" "causes a version to be installed even if it does not come from the target " "release, unless the installed version is more recent" @@ -8481,12 +8339,12 @@ msgstr "" "que la versión instalada sea más reciente." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 msgid "500 < P <=990" msgstr "500 < P <=990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 msgid "" "causes a version to be installed unless there is a version available " "belonging to the target release or the installed version is more recent" @@ -8496,12 +8354,12 @@ msgstr "" "más reciente." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 msgid "100 < P <=500" msgstr "100 < P <=500" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 msgid "" "causes a version to be installed unless there is a version available " "belonging to some other distribution or the installed version is more recent" @@ -8510,12 +8368,12 @@ msgstr "" "perteneciente a otra distribución, o si la versión instalada es más reciente." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 msgid "0 < P <=100" msgstr "0 < P <=100" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 msgid "" "causes a version to be installed only if there is no installed version of " "the package" @@ -8523,17 +8381,17 @@ msgstr "" "La versión sólo se instala si no hay ninguna versión del paquete instalada." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 msgid "P < 0" msgstr "P < 0" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 msgid "prevents the version from being installed" msgstr "Evita la instalación de la versión." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " "negative integers. They are interpreted as follows (roughly speaking): " @@ -8544,7 +8402,7 @@ msgstr "" "siguiente modo: <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 msgid "" "If any specific-form records match an available package version then the " "first such record determines the priority of the package version. Failing " @@ -8558,7 +8416,7 @@ msgstr "" "versión del paquete." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 msgid "" "For example, suppose the APT preferences file contains the three records " "presented earlier:" @@ -8567,7 +8425,7 @@ msgstr "" "registros antes mencionados:" #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, no-wrap msgid "" "Package: perl\n" @@ -8595,12 +8453,12 @@ msgstr "" "Pin-Priority: 50\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "Por ello:" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 msgid "" "The most recent available version of the <literal>perl</literal> package " "will be installed, so long as that version's version number begins with " @@ -8615,7 +8473,7 @@ msgstr "" "la versión 5.8*, desactualizando el paquete." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 msgid "" "A version of any package other than <literal>perl</literal> that is " "available from the local system has priority over other versions, even " @@ -8626,7 +8484,7 @@ msgstr "" "versiones, incluso sobre los pertenecientes a la distribución objetivo." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 msgid "" "A version of a package whose origin is not the local system but some other " "site listed in &sources-list; and which belongs to an <literal>unstable</" @@ -8639,12 +8497,12 @@ msgstr "" "hay ninguna versión del paquete ya instalado." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 msgid "Determination of Package Version and Distribution Properties" msgstr "Determinar la versión del paquete y las propiedades de la distribución" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 msgid "" "The locations listed in the &sources-list; file should provide " "<filename>Packages</filename> and <filename>Release</filename> files to " @@ -8655,27 +8513,27 @@ msgstr "" "describen los paquetes disponibles en cada uno de los sitios." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 msgid "the <literal>Package:</literal> line" msgstr "La lÃnea <literal>Package:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 msgid "gives the package name" msgstr "indica el nombre del paquete." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 msgid "the <literal>Version:</literal> line" msgstr "La lÃnea <literal>Version:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 msgid "gives the version number for the named package" msgstr "indica el número de versión del paquete." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 msgid "" "The <filename>Packages</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable>/" @@ -8696,12 +8554,12 @@ msgstr "" "de APT: <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "Las lÃneas <literal>Archive:</literal> o <literal>Suite:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 msgid "" "names the archive to which all the packages in the directory tree belong. " "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies " @@ -8719,18 +8577,18 @@ msgstr "" "lÃnea en el fichero de preferencias de APT:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, no-wrap msgid "Pin: release a=stable\n" msgstr "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 msgid "the <literal>Codename:</literal> line" msgstr "La lÃnea <literal>Codename:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 msgid "" "names the codename to which all the packages in the directory tree belong. " "For example, the line \"Codename: &testing-codename;\" specifies that all of " @@ -8749,13 +8607,13 @@ msgstr "" "de APT:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, no-wrap msgid "Pin: release n=&testing-codename;\n" msgstr "Pin: release n=&testing-codename;\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 msgid "" "names the release version. For example, the packages in the tree might " "belong to Debian GNU/Linux release version 3.0. Note that there is normally " @@ -8771,7 +8629,7 @@ msgstr "" "siguientes lÃnea en el fichero de preferencias de APT:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, no-wrap msgid "" "Pin: release v=3.0\n" @@ -8783,12 +8641,12 @@ msgstr "" "Pin: release 3.0\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 msgid "the <literal>Component:</literal> line" msgstr "La lÃnea <literal>Component:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 msgid "" "names the licensing component associated with the packages in the directory " "tree of the <filename>Release</filename> file. For example, the line " @@ -8807,18 +8665,18 @@ msgstr "" "de APT:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, no-wrap msgid "Pin: release c=main\n" msgstr "Pin: release c=main\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 msgid "the <literal>Origin:</literal> line" msgstr "La lÃnea <literal>Origin:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 msgid "" "names the originator of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8831,18 +8689,18 @@ msgstr "" "mediante la siguiente lÃnea:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, no-wrap msgid "Pin: release o=Debian\n" msgstr "Pin: release o=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 msgid "the <literal>Label:</literal> line" msgstr "La lÃnea <literal>Label:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 msgid "" "names the label of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8855,13 +8713,13 @@ msgstr "" "siguiente lÃnea:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, no-wrap msgid "Pin: release l=Debian\n" msgstr "Pin: release l=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 msgid "" "The <filename>Release</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable></filename>: for " @@ -8884,7 +8742,7 @@ msgstr "" "\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " "files retrieved from locations listed in the &sources-list; file are stored " @@ -8909,12 +8767,12 @@ msgstr "" "la distribución «<literal>unstable</literal>» (inestable)." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 msgid "Optional Lines in an APT Preferences Record" msgstr "LÃneas opcionales en el registro de preferencias de APT" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 msgid "" "Each record in the APT preferences file can optionally begin with one or " "more lines beginning with the word <literal>Explanation:</literal>. This " @@ -8925,12 +8783,12 @@ msgstr "" "Útil para comentarios." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 msgid "Tracking Stable" msgstr "Seguir la distribución «stable» (estable)" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -8954,7 +8812,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -8969,8 +8827,8 @@ msgstr "" "<literal>Debian</literal>. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 -#: apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 +#: apt_preferences.5.xml:632 #, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -8982,7 +8840,7 @@ msgstr "" "apt-get dist-upgrade\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -8996,13 +8854,13 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "apt-get install <replaceable>paquete</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>testing</literal> distribution; the package " @@ -9015,12 +8873,12 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 msgid "Tracking Testing or Unstable" msgstr "Seguir la distribución «testing» (en pruebas) o «unstable» (inestable)" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, no-wrap msgid "" "Package: *\n" @@ -9048,7 +8906,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 msgid "" "The following APT preferences file will cause APT to assign a high priority " "to package versions from the <literal>testing</literal> distribution, a " @@ -9065,7 +8923,7 @@ msgstr "" ">" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -9078,13 +8936,13 @@ msgstr "" "<placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "apt-get install <replaceable>paquete</replaceable>/unstable\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>unstable</literal> distribution. " @@ -9103,12 +8961,12 @@ msgstr "" "instalada. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "Seguir la evolución de una publicación por el nombre" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package versions\n" @@ -9142,7 +9000,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -9169,7 +9027,7 @@ msgstr "" "\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest version(s) in " @@ -9183,13 +9041,13 @@ msgstr "" "id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "apt-get install <replaceable>paquete</replaceable>/sid\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>sid</literal> distribution. Thereafter, " @@ -9208,12 +9066,12 @@ msgstr "" "instalada. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 msgid "&file-preferences;" msgstr "&file-preferences;" #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" @@ -11250,27 +11108,6 @@ msgstr "Ésto usará los archivos del disco previamente obtenidos." #~ "campos MD5Sum cuando sea posible. Opción de configuración: <literal>APT::" #~ "FTPArchive::MD5</literal>" -#~ msgid "unmarkauto" -#~ msgstr "unmarkauto" - -#~ msgid "<option>-h</option>" -#~ msgstr "<option>-h</option>" - -#~ msgid "<option>--help</option>" -#~ msgstr "<option>--help</option>" - -#~ msgid "Show a short usage summary." -#~ msgstr "Muestra un breve resumen de uso." - -#~ msgid "<option>-v</option>" -#~ msgstr "<option>-v</option>" - -#~ msgid "<option>--version</option>" -#~ msgstr "<option>--version</option>" - -#~ msgid "Show the program version." -#~ msgstr "Muestra la versión del programa." - #~ msgid "to the version that is already installed (if any)." #~ msgstr "a la versión instalada (de existir)." diff --git a/doc/po/fr.po b/doc/po/fr.po index f5273f639..c3648fc88 100644 --- a/doc/po/fr.po +++ b/doc/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-06-28 16:42+0200\n" +"POT-Creation-Date: 2011-04-05 10:22+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" @@ -731,7 +731,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 #: apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 -#: apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 +#: apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 #: apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 #: sources.list.5.xml:36 msgid "Description" @@ -1250,7 +1250,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 -#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 +#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 #: apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "options" @@ -1277,7 +1277,7 @@ msgstr "" "<literal>Dir::Cache::pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1304,12 +1304,12 @@ msgstr "" "<literal>Dir::Cache::srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1391,16 +1391,9 @@ msgstr "<option>--no-enhances</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:317 -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be twicked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1432,7 +1425,7 @@ msgstr "" "literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1552,14 +1545,14 @@ 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-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 +#: 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:172 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:156 apt-mark.8.xml:125 +#: apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "Fichiers" @@ -1570,9 +1563,9 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml: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 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:177 apt-mark.8.xml:131 apt-secure.8.xml:185 +#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 #: sources.list.5.xml:234 msgid "See Also" msgstr "Voir aussi" @@ -1584,8 +1577,8 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;." #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 -#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 +#: apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnostics" @@ -1714,12 +1707,12 @@ msgstr "" "\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 msgid "Options" msgstr "Options" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -1976,7 +1969,7 @@ msgid "Just show the contents of the configuration space." msgstr "Affiche seulement le contenu de l'espace de configuration." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3133,25 +3126,43 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 +#, fuzzy +#| msgid "" +#| "Values for the additional metadata fields in the Release file are taken " +#| "from the corresponding variables under <literal>APT::FTPArchive::Release</" +#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The " +#| "supported fields are: <literal>Origin</literal>, <literal>Label</" +#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, " +#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-" +#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</" +#| "literal>, <literal>Description</literal>." msgid "" "Generate the given checksum. These options default to on, when turned off " "the generated index files will not have the checksum fields where possible. " "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" +"La valeur des autres champs de métadonnées du fichier Release sont tirées de " +"la valeur correspondante dans <literal>APT::FTPArchive::Release</literal>, " +"p. ex. <literal>APT::FTPArchive::Release::Origin</literal>. Les champs " +"reconnus sont : <literal>Origin</literal>, <literal>Label</literal>, " +"<literal>Suite</literal>, <literal>Version</literal>, <literal>Codename</" +"literal>, <literal>Date</literal>, <literal>Valid-Until</literal>, " +"<literal>Architectures</literal>, <literal>Components</literal>, " +"<literal>Description</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3161,7 +3172,7 @@ msgstr "" "literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3176,12 +3187,12 @@ msgstr "" "configuration : <literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3195,12 +3206,12 @@ msgstr "" "literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3216,12 +3227,12 @@ msgstr "" "de configuration : <literal>APT::FTPArchive::Contents</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3232,12 +3243,12 @@ msgstr "" "FTPArchive::SourceOverride</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3246,12 +3257,12 @@ msgstr "" "configuration : <literal>APT::FTPArchive::ReadOnlyDB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -3265,12 +3276,12 @@ msgstr "" "<literal>APT::FTPArchive::Architecture</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>APT::FTPArchive::AlwaysStat</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3293,12 +3304,12 @@ msgstr "" "survenir et l'ensemble de ces contrôles devient inutile." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3314,19 +3325,19 @@ msgstr "" "generate." #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 #: sources.list.5.xml:198 msgid "Examples" msgstr "Exemples" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> packages <replaceable>répertoire</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3335,7 +3346,7 @@ msgstr "" "des paquets binaires (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3811,7 +3822,7 @@ msgstr "download" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" "<literal>download</literal> télécharge le fichier binaire indiqué dans le " "répertoire courant." @@ -4698,24 +4709,8 @@ 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:140 -#, fuzzy -#| msgid "update" -msgid "net-update" -msgstr "update" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4724,12 +4719,12 @@ msgstr "" "décrites dans la section suivante." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:161 +#: apt-key.8.xml:145 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>fichier</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:146 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 " @@ -4746,57 +4741,53 @@ msgstr "" "les nouvelles clés y seront ajoutées." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 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:178 +#: apt-key.8.xml:162 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:181 +#: apt-key.8.xml:165 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:182 +#: apt-key.8.xml:166 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:185 +#: apt-key.8.xml:169 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:186 +#: apt-key.8.xml:170 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:195 +#: apt-key.8.xml:179 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" #. The last update date #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 -#, fuzzy -#| msgid "" -#| "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " -#| "August 2009</date>" msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " "août 2009</date>" @@ -4813,22 +4804,13 @@ msgstr "Indiquer si un paquet a été installé automatiquement ou non" #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: apt-mark.8.xml:39 -#, fuzzy -#| msgid "" -#| " <command>apt-mark</command> <arg><option>-hv</option></arg> " -#| "<arg><option>-f=<replaceable>FILENAME</replaceable></option></arg> <group " -#| "choice=\"plain\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg " -#| "choice=\"plain\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </" -#| "group> <arg choice=\"plain\" rep=\"repeat\"><replaceable>package</" -#| "replaceable></arg> </arg> <arg choice=\"plain\">showauto</arg> </group>" msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" "\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg choice=\"plain" -"\">auto</arg> <arg choice=\"plain\">manual</arg> <arg choice=\"plain" -"\">showauto</arg> <arg choice=\"plain\">showmanual</arg> </group> <arg " +"\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </group> <arg " "choice=\"plain\" rep=\"repeat\"><replaceable>package</replaceable></arg> </" -"arg> </group>" +"arg> <arg choice=\"plain\">showauto</arg> </group>" msgstr "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FICHIER</replaceable></option></arg> <group choice=\"plain\"> " @@ -4838,7 +4820,7 @@ msgstr "" "arg> <arg choice=\"plain\">showauto</arg> </group>" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." @@ -4847,7 +4829,7 @@ msgstr "" "a été automatiquement installé ou pas." #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -4863,21 +4845,14 @@ msgstr "" "command>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -#, fuzzy -#| msgid "markauto" -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "markauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 -#, fuzzy -#| msgid "" -#| "<literal>markauto</literal> is used to mark a package as being " -#| "automatically installed, which will cause the package to be removed when " -#| "no more manually installed packages depend on this package." +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" @@ -4886,19 +4861,14 @@ msgstr "" "que plus aucun paquet installé manuellement ne dépend de lui." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" -msgstr "" +#: apt-mark.8.xml:76 +msgid "unmarkauto" +msgstr "unmarkauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 -#, fuzzy -#| msgid "" -#| "<literal>unmarkauto</literal> is used to mark a package as being manually " -#| "installed, which will prevent the package from being automatically " -#| "removed if no other packages depend on it." +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" @@ -4907,102 +4877,28 @@ msgstr "" "aucun autre paquet n'en dépend." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 -msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg --set-" -"selections</command> and the state is therefore maintained by &dpkg; and not " -"effected by the <option>--filename</option> option." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:96 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." -msgstr "" -"<literal>showauto</literal>, affiche les paquets installés automatiquement, " -"un paquet par ligne." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 +#: apt-mark.8.xml:84 msgid "showauto" msgstr "showauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." +#: apt-mark.8.xml:85 msgid "" "<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." -msgstr "" -"<literal>showauto</literal>, affiche les paquets installés automatiquement, " -"un paquet par ligne." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -#, fuzzy -#| msgid "showauto" -msgid "showmanual" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -#, fuzzy -#| msgid "showauto" -msgid "showhold" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." +"installed packages with each package on a new line." msgstr "" "<literal>showauto</literal>, affiche les paquets installés automatiquement, " "un paquet par ligne." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 +#: apt-mark.8.xml:96 msgid "" "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" "<option>-f=<filename><replaceable>FICHIER</replaceable></filename></option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 +#: apt-mark.8.xml:97 msgid "" "<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" "option>" @@ -5011,7 +4907,7 @@ msgstr "" "option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 +#: apt-mark.8.xml:100 msgid "" "Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" "filename> instead of the default location, which is " @@ -5023,18 +4919,48 @@ msgstr "" "par défaut (<filename>extended_status</filename> dans le répertoire défini " "par l'élément de configuration <literal>Dir::State</literal>)." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" +msgstr "<option>-h</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" +msgstr "<option>--help</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." +msgstr "Affiche un résumé de l'aide" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" +msgstr "<option>-v</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" +msgstr "<option>--version</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:116 +msgid "Show the program version." +msgstr "Affiche la version du programme." + #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr " &file-extended_states;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "&apt-get;,&aptitude;,&apt-conf;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -5486,23 +5412,13 @@ msgstr "" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml:52 -#, fuzzy -#| msgid "" -#| "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -#| "order which have no or \"<literal>conf</literal>\" as filename extension " -#| "and which only contain alphanumeric, hyphen (-), underscore (_) and " -#| "period (.) characters. Otherwise APT will print a notice that it has " -#| "ignored a file if the file doesn't match a pattern in the <literal>Dir::" -#| "Ignore-Files-Silently</literal> configuration list - in this case it will " -#| "be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "tous les fichiers de <literal>Dir::Etc::Parts</literal> dans l'ordre " "alphanumérique ascendant qui ont soit l'extension \"<literal>conf</literal>" @@ -6538,25 +6454,13 @@ msgstr "Dir::Bin::bzip2 \"/bin/bzip2\";" #. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:442 -#, fuzzy -#| msgid "" -#| "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" -#| "replaceable></literal> will be checked: If this setting exists the method " -#| "will only be used if this file exists, e.g. for the bzip2 method (the " -#| "inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note " -#| "also that list entries specified on the command line will be added at the " -#| "end of the list specified in the configuration files, but before the " -#| "default entries. To prefer a type in this case over the ones specified in " -#| "the configuration files you can set the option direct - not in list " -#| "style. This will not override the defined list, it will only prefix the " -#| "list with this type." msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6578,7 +6482,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" "Le type spécial <literal>uncompressed</literal> peut servir à donner la " @@ -7866,21 +7770,11 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt_preferences.5.xml:70 -#, fuzzy -#| msgid "" -#| "Note that the files in the <filename>/etc/apt/preferences.d</filename> " -#| "directory are parsed in alphanumeric ascending order and need to obey the " -#| "following naming convention: The files have no or \"<literal>pref</" -#| "literal>\" as filename extension and which only contain alphanumeric, " -#| "hyphen (-), underscore (_) and period (.) characters. Otherwise APT will " -#| "print a notice that it has ignored a file if the file doesn't match a " -#| "pattern in the <literal>Dir::Ignore-Files-Silently</literal> " -#| "configuration list - in this case it will be silently ignored." msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8336,84 +8230,17 @@ msgstr "" "Pin-Priority: 500\n" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "" - -#. 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 " -"expression surrounded by slashes)." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -#, fuzzy -#| msgid "Packages" -msgid "Package" -msgstr "Packages" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 msgid "How APT Interprets Priorities" msgstr "Méthode d'interprétation des priorités par APT" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 msgid "P > 1000" msgstr "P > 1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 msgid "" "causes a version to be installed even if this constitutes a downgrade of the " "package" @@ -8422,12 +8249,12 @@ msgstr "" "retour en arrière." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 msgid "990 < P <=1000" msgstr "990 < P <=1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 msgid "" "causes a version to be installed even if it does not come from the target " "release, unless the installed version is more recent" @@ -8437,12 +8264,12 @@ msgstr "" "plus récente." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 msgid "500 < P <=990" msgstr "500 < P <=990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 msgid "" "causes a version to be installed unless there is a version available " "belonging to the target release or the installed version is more recent" @@ -8451,12 +8278,12 @@ msgstr "" "distribution par défaut ou si la version installée est plus récente." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 msgid "100 < P <=500" msgstr "100 < P <=500" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 msgid "" "causes a version to be installed unless there is a version available " "belonging to some other distribution or the installed version is more recent" @@ -8465,29 +8292,29 @@ msgstr "" "autre distribution ou si la version installée est plus récente." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 msgid "0 < P <=100" msgstr "0 < P <=100" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 msgid "" "causes a version to be installed only if there is no installed version of " "the package" msgstr "la version sera installée si aucune version du paquet n'est installée." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 msgid "P < 0" msgstr "P < 0" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 msgid "prevents the version from being installed" msgstr "cette priorité empêche l'installation de la version." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " "negative integers. They are interpreted as follows (roughly speaking): " @@ -8498,7 +8325,7 @@ msgstr "" "<placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 msgid "" "If any specific-form records match an available package version then the " "first such record determines the priority of the package version. Failing " @@ -8512,7 +8339,7 @@ msgstr "" "trouvée détermine la priorité." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 msgid "" "For example, suppose the APT preferences file contains the three records " "presented earlier:" @@ -8521,7 +8348,7 @@ msgstr "" "entrées décrites ci-dessous :" #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, no-wrap msgid "" "Package: perl\n" @@ -8549,12 +8376,12 @@ msgstr "" "Pin-Priority: 50\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "Alors :" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 msgid "" "The most recent available version of the <literal>perl</literal> package " "will be installed, so long as that version's version number begins with " @@ -8568,7 +8395,7 @@ msgstr "" "installée est une version 5.9*, il y aura un retour en arrière." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 msgid "" "A version of any package other than <literal>perl</literal> that is " "available from the local system has priority over other versions, even " @@ -8579,7 +8406,7 @@ msgstr "" "appartenant à la distribution par défaut." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 msgid "" "A version of a package whose origin is not the local system but some other " "site listed in &sources-list; and which belongs to an <literal>unstable</" @@ -8592,13 +8419,13 @@ msgstr "" "paquet n'est déjà installée." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 msgid "Determination of Package Version and Distribution Properties" msgstr "" "Détermination de la version des paquets et des propriétés des distributions" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 msgid "" "The locations listed in the &sources-list; file should provide " "<filename>Packages</filename> and <filename>Release</filename> files to " @@ -8609,27 +8436,27 @@ msgstr "" "décrivent les paquets disponibles à cet endroit." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 msgid "the <literal>Package:</literal> line" msgstr "la ligne <literal>Package:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 msgid "gives the package name" msgstr "donne le nom du paquet" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 msgid "the <literal>Version:</literal> line" msgstr "la ligne <literal>Version:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 msgid "gives the version number for the named package" msgstr "donne le numéro de version du paquet" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 msgid "" "The <filename>Packages</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable>/" @@ -8650,12 +8477,12 @@ msgstr "" "\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "La ligne <literal>Archive:</literal> ou <literal>Suite:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 msgid "" "names the archive to which all the packages in the directory tree belong. " "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies " @@ -8672,18 +8499,18 @@ msgstr "" "préférences demanderait cette ligne :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, no-wrap msgid "Pin: release a=stable\n" msgstr "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 msgid "the <literal>Codename:</literal> line" msgstr "la ligne <literal>Codename:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 msgid "" "names the codename to which all the packages in the directory tree belong. " "For example, the line \"Codename: &testing-codename;\" specifies that all of " @@ -8701,13 +8528,13 @@ msgstr "" "ligne :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, no-wrap msgid "Pin: release n=&testing-codename;\n" msgstr "Pin: release n=&testing-codename;\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 msgid "" "names the release version. For example, the packages in the tree might " "belong to Debian GNU/Linux release version 3.0. Note that there is normally " @@ -8723,7 +8550,7 @@ msgstr "" "préférences demanderait ces lignes :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, no-wrap msgid "" "Pin: release v=3.0\n" @@ -8735,12 +8562,12 @@ msgstr "" "Pin: release 3.0\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 msgid "the <literal>Component:</literal> line" msgstr "La ligne <literal>Component:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 msgid "" "names the licensing component associated with the packages in the directory " "tree of the <filename>Release</filename> file. For example, the line " @@ -8758,18 +8585,18 @@ msgstr "" "fichier des préférences demanderait cette ligne :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, no-wrap msgid "Pin: release c=main\n" msgstr "Pin: release c=main\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 msgid "the <literal>Origin:</literal> line" msgstr "La ligne <literal>Origin:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 msgid "" "names the originator of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8782,18 +8609,18 @@ msgstr "" "ligne :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, no-wrap msgid "Pin: release o=Debian\n" msgstr "Pin: release o=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 msgid "the <literal>Label:</literal> line" msgstr "La ligne <literal>Label:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 msgid "" "names the label of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8806,13 +8633,13 @@ msgstr "" "préférences demanderait cette ligne :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, no-wrap msgid "Pin: release l=Debian\n" msgstr "Pin: release l=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 msgid "" "The <filename>Release</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable></filename>: for " @@ -8836,7 +8663,7 @@ msgstr "" "\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " "files retrieved from locations listed in the &sources-list; file are stored " @@ -8861,12 +8688,12 @@ msgstr "" "<literal>unstable</literal>." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 msgid "Optional Lines in an APT Preferences Record" msgstr "Lignes facultatives dans le fichier des préférences" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 msgid "" "Each record in the APT preferences file can optionally begin with one or " "more lines beginning with the word <literal>Explanation:</literal>. This " @@ -8877,12 +8704,12 @@ msgstr "" "commentaires." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 msgid "Tracking Stable" msgstr "Méthode pour suivre Stable" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -8906,7 +8733,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -8921,8 +8748,8 @@ msgstr "" "literal>. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 -#: apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 +#: apt_preferences.5.xml:632 #, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -8934,7 +8761,7 @@ msgstr "" "apt-get dist-upgrade\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -8947,13 +8774,13 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "apt-get install <replaceable>paquet</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>testing</literal> distribution; the package " @@ -8966,12 +8793,12 @@ msgstr "" "de relancer la commande. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 msgid "Tracking Testing or Unstable" msgstr "Méthode pour suivre Testing ou Unstable" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, no-wrap msgid "" "Package: *\n" @@ -8999,7 +8826,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 msgid "" "The following APT preferences file will cause APT to assign a high priority " "to package versions from the <literal>testing</literal> distribution, a " @@ -9016,7 +8843,7 @@ msgstr "" "<placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -9029,13 +8856,13 @@ msgstr "" "type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "apt-get install <replaceable>paquet</replaceable>/unstable\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>unstable</literal> distribution. " @@ -9054,12 +8881,12 @@ msgstr "" "installée. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "Suivre l'évolution d'une version par son nom de code" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package versions\n" @@ -9093,7 +8920,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -9117,7 +8944,7 @@ msgstr "" "exemples précédents. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest version(s) in " @@ -9130,13 +8957,13 @@ msgstr "" "<placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "apt-get install <replaceable>paquet</replaceable>/sid\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>sid</literal> distribution. Thereafter, " @@ -9155,12 +8982,12 @@ msgstr "" "<placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 msgid "&file-preferences;" msgstr "&file-preferences;" #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" @@ -11206,6 +11033,9 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade" msgid "Which will use the already fetched archives on the disc." msgstr "Cette commande utilisera les fichiers récupérés sur le disque." +#~ msgid "to the version that is already installed (if any)." +#~ msgstr "est affectée à la version déjà installée (si elle existe)." + #~ msgid "<option>--md5</option>" #~ msgstr "<option>--md5</option>" @@ -11219,30 +11049,6 @@ msgstr "Cette commande utilisera les fichiers récupérés sur le disque." #~ "MD5Sum là où c'est possible. Élément de configuration : <literal>APT::" #~ "FTPArchive::MD5</literal>." -#~ msgid "unmarkauto" -#~ msgstr "unmarkauto" - -#~ msgid "<option>-h</option>" -#~ msgstr "<option>-h</option>" - -#~ msgid "<option>--help</option>" -#~ msgstr "<option>--help</option>" - -#~ msgid "Show a short usage summary." -#~ msgstr "Affiche un résumé de l'aide" - -#~ msgid "<option>-v</option>" -#~ msgstr "<option>-v</option>" - -#~ msgid "<option>--version</option>" -#~ msgstr "<option>--version</option>" - -#~ msgid "Show the program version." -#~ msgstr "Affiche la version du programme." - -#~ msgid "to the version that is already installed (if any)." -#~ msgstr "est affectée à la version déjà installée (si elle existe)." - #~ msgid "APT package handling utility -- cache manipulator" #~ msgstr "Gestionnaire de paquets APT - manipulation du cache" diff --git a/doc/po/it.po b/doc/po/it.po index 4535a794f..dec77747d 100644 --- a/doc/po/it.po +++ b/doc/po/it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2011-06-28 16:42+0200\n" +"POT-Creation-Date: 2011-04-05 10:22+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" @@ -532,7 +532,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 #: apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 -#: apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 +#: apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 #: apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 #: sources.list.5.xml:36 msgid "Description" @@ -910,7 +910,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 -#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 +#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 #: apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "" @@ -934,7 +934,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "" @@ -955,12 +955,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "" @@ -1035,7 +1035,7 @@ msgstr "" #: apt-cache.8.xml:317 msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1059,7 +1059,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "" @@ -1155,14 +1155,14 @@ 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-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 +#: 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:172 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:156 apt-mark.8.xml:125 +#: apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "" @@ -1173,9 +1173,9 @@ 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: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 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:177 apt-mark.8.xml:131 apt-secure.8.xml:185 +#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 #: sources.list.5.xml:234 msgid "See Also" msgstr "" @@ -1187,8 +1187,8 @@ 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-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 +#: apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "" @@ -1287,12 +1287,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 msgid "Options" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "" @@ -1496,7 +1496,7 @@ msgid "Just show the contents of the configuration space." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "" @@ -2419,26 +2419,26 @@ msgid "" "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -2447,12 +2447,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -2461,12 +2461,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -2476,12 +2476,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -2489,24 +2489,24 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -2515,12 +2515,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -2534,12 +2534,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -2549,26 +2549,26 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 #: sources.list.5.xml:198 msgid "Examples" msgstr "" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -2897,7 +2897,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -3586,35 +3586,20 @@ msgid "" "from the keyring the archive keys which are no longer valid." msgstr "" -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:140 -#, fuzzy -msgid "net-update" -msgstr "upgrade" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 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:161 +#: apt-key.8.xml:145 msgid "--keyring <replaceable>filename</replaceable>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:146 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 " @@ -3625,43 +3610,43 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 msgid "<filename>/etc/apt/trustdb.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:178 +#: apt-key.8.xml:162 msgid "Local trust database of archive keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:181 +#: apt-key.8.xml:165 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:182 +#: apt-key.8.xml:166 msgid "Keyring of Debian archive trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:185 +#: apt-key.8.xml:169 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:186 +#: apt-key.8.xml:170 msgid "Keyring of Debian archive removed trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:195 +#: apt-key.8.xml:179 msgid "&apt-get;, &apt-secure;" msgstr "" @@ -3669,8 +3654,8 @@ msgstr "" #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" #. type: Content of: <refentry><refnamediv><refname> @@ -3689,21 +3674,20 @@ msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" "\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg choice=\"plain" -"\">auto</arg> <arg choice=\"plain\">manual</arg> <arg choice=\"plain" -"\">showauto</arg> <arg choice=\"plain\">showmanual</arg> </group> <arg " +"\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </group> <arg " "choice=\"plain\" rep=\"repeat\"><replaceable>package</replaceable></arg> </" -"arg> </group>" +"arg> <arg choice=\"plain\">showauto</arg> </group>" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -3713,131 +3697,107 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" +#: apt-mark.8.xml:76 +msgid "unmarkauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" +#: apt-mark.8.xml:84 +msgid "showauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 +#: apt-mark.8.xml:85 msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg --set-" -"selections</command> and the state is therefore maintained by &dpkg; and not " -"effected by the <option>--filename</option> option." +"<literal>showauto</literal> is used to print a list of automatically " +"installed packages with each package on a new line." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml:96 msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." +"<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 -msgid "showauto" +#: apt-mark.8.xml:97 +msgid "" +"<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" +"option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 +#: apt-mark.8.xml:100 msgid "" -"<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." +"Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" +"filename> instead of the default location, which is " +"<filename>extended_status</filename> in the directory defined by the " +"Configuration Item: <literal>Dir::State</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -msgid "showmanual" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -msgid "showhold" +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 -msgid "" -"<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 -msgid "" -"<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" -"option>" +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 -msgid "" -"Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" -"filename> instead of the default location, which is " -"<filename>extended_status</filename> in the directory defined by the " -"Configuration Item: <literal>Dir::State</literal>." +#: apt-mark.8.xml:116 +msgid "Show the program version." msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -4174,12 +4134,11 @@ msgstr "" #: apt.conf.5.xml:52 msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> @@ -4877,9 +4836,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -4890,7 +4849,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -5831,8 +5790,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -6150,133 +6109,82 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "" - -#. 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 " -"expression surrounded by slashes)." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, no-wrap -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, no-wrap -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -msgid "Package" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 msgid "How APT Interprets Priorities" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 msgid "P > 1000" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 msgid "" "causes a version to be installed even if this constitutes a downgrade of the " "package" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 msgid "990 < P <=1000" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 msgid "" "causes a version to be installed even if it does not come from the target " "release, unless the installed version is more recent" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 msgid "500 < P <=990" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 msgid "" "causes a version to be installed unless there is a version available " "belonging to the target release or the installed version is more recent" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 msgid "100 < P <=500" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 msgid "" "causes a version to be installed unless there is a version available " "belonging to some other distribution or the installed version is more recent" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 msgid "0 < P <=100" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 msgid "" "causes a version to be installed only if there is no installed version of " "the package" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 msgid "P < 0" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 msgid "prevents the version from being installed" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " "negative integers. They are interpreted as follows (roughly speaking): " @@ -6284,7 +6192,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 msgid "" "If any specific-form records match an available package version then the " "first such record determines the priority of the package version. Failing " @@ -6293,14 +6201,14 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 msgid "" "For example, suppose the APT preferences file contains the three records " "presented earlier:" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, no-wrap msgid "" "Package: perl\n" @@ -6317,12 +6225,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 msgid "" "The most recent available version of the <literal>perl</literal> package " "will be installed, so long as that version's version number begins with " @@ -6332,7 +6240,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 msgid "" "A version of any package other than <literal>perl</literal> that is " "available from the local system has priority over other versions, even " @@ -6340,7 +6248,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 msgid "" "A version of a package whose origin is not the local system but some other " "site listed in &sources-list; and which belongs to an <literal>unstable</" @@ -6349,12 +6257,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 msgid "Determination of Package Version and Distribution Properties" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 msgid "" "The locations listed in the &sources-list; file should provide " "<filename>Packages</filename> and <filename>Release</filename> files to " @@ -6362,27 +6270,27 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 msgid "the <literal>Package:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 msgid "gives the package name" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 msgid "the <literal>Version:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 msgid "gives the version number for the named package" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 msgid "" "The <filename>Packages</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable>/" @@ -6395,12 +6303,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 msgid "" "names the archive to which all the packages in the directory tree belong. " "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies " @@ -6411,18 +6319,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, no-wrap msgid "Pin: release a=stable\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 msgid "the <literal>Codename:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 msgid "" "names the codename to which all the packages in the directory tree belong. " "For example, the line \"Codename: &testing-codename;\" specifies that all of " @@ -6433,13 +6341,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, no-wrap msgid "Pin: release n=&testing-codename;\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 msgid "" "names the release version. For example, the packages in the tree might " "belong to Debian GNU/Linux release version 3.0. Note that there is normally " @@ -6449,7 +6357,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, no-wrap msgid "" "Pin: release v=3.0\n" @@ -6458,12 +6366,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 msgid "the <literal>Component:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 msgid "" "names the licensing component associated with the packages in the directory " "tree of the <filename>Release</filename> file. For example, the line " @@ -6474,18 +6382,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, no-wrap msgid "Pin: release c=main\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 msgid "the <literal>Origin:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 msgid "" "names the originator of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -6494,18 +6402,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, no-wrap msgid "Pin: release o=Debian\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 msgid "the <literal>Label:</literal> line" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 msgid "" "names the label of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -6514,13 +6422,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, no-wrap msgid "Pin: release l=Debian\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 msgid "" "The <filename>Release</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable></filename>: for " @@ -6534,7 +6442,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " "files retrieved from locations listed in the &sources-list; file are stored " @@ -6549,12 +6457,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 msgid "Optional Lines in an APT Preferences Record" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 msgid "" "Each record in the APT preferences file can optionally begin with one or " "more lines beginning with the word <literal>Explanation:</literal>. This " @@ -6562,12 +6470,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 msgid "Tracking Stable" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -6582,7 +6490,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -6592,8 +6500,8 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 -#: apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 +#: apt_preferences.5.xml:632 #, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -6602,7 +6510,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -6611,13 +6519,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>testing</literal> distribution; the package " @@ -6626,12 +6534,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 msgid "Tracking Testing or Unstable" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, no-wrap msgid "" "Package: *\n" @@ -6648,7 +6556,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 msgid "" "The following APT preferences file will cause APT to assign a high priority " "to package versions from the <literal>testing</literal> distribution, a " @@ -6659,7 +6567,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -6668,13 +6576,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>unstable</literal> distribution. " @@ -6686,12 +6594,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package versions\n" @@ -6711,7 +6619,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -6726,7 +6634,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest version(s) in " @@ -6735,13 +6643,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>sid</literal> distribution. Thereafter, " @@ -6753,12 +6661,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 msgid "&file-preferences;" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "" diff --git a/doc/po/ja.po b/doc/po/ja.po index d27bc1b64..d0d2ef275 100644 --- a/doc/po/ja.po +++ b/doc/po/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.25.3\n" -"POT-Creation-Date: 2011-06-28 16:42+0200\n" +"POT-Creation-Date: 2011-04-05 10:22+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" @@ -792,7 +792,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 #: apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 -#: apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 +#: apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 #: apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 #: sources.list.5.xml:36 msgid "Description" @@ -1329,7 +1329,7 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 -#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 +#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 #: apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "オプション" @@ -1357,7 +1357,7 @@ msgstr "" "pkgcache</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1384,12 +1384,12 @@ msgstr "" "<literal>Dir::Cache::srcpkgcache</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1475,7 +1475,7 @@ msgstr "<option>--no-enhances</option>" #, fuzzy msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1505,7 +1505,7 @@ msgstr "" "ShowFull</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1627,15 +1627,15 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><variablelist> #: apt-cache.8.xml:367 apt-cdrom.8.xml:153 apt-config.8.xml:101 -#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:612 apt-get.8.xml:570 -#: apt-mark.8.xml:140 apt-sortpkgs.1.xml:67 +#: apt-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 +#: 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:172 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:156 apt-mark.8.xml:125 +#: apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "ファイル" @@ -1647,9 +1647,9 @@ msgstr "&file-sourceslist; &file-statelists;" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml: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 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:177 apt-mark.8.xml:131 apt-secure.8.xml:185 +#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 #: sources.list.5.xml:234 msgid "See Also" msgstr "é–¢é€£é …ç›®" @@ -1663,8 +1663,8 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 -#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 +#: apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "診æ–メッセージ" @@ -1800,12 +1800,12 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 msgid "Options" msgstr "オプション" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -2075,7 +2075,7 @@ msgstr "è¨å®šç®‡æ‰€ã®å†…容を表示ã™ã‚‹ã ã‘ã§ã™ã€‚" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3292,26 +3292,43 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 +#, fuzzy +#| msgid "" +#| "Values for the additional metadata fields in the Release file are taken " +#| "from the corresponding variables under <literal>APT::FTPArchive::Release</" +#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The " +#| "supported fields are: <literal>Origin</literal>, <literal>Label</" +#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, " +#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-" +#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</" +#| "literal>, <literal>Description</literal>." msgid "" "Generate the given checksum. These options default to on, when turned off " "the generated index files will not have the checksum fields where possible. " "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" +"Release ファイルã®è¿½åŠ メタデータフィールドã®å€¤ã¯ã€<literal>APT::FTPArchive::" +"Release</literal> 以下ã®ç›¸å½“ã™ã‚‹å€¤ (例: <literal>APT::FTPArchive::Release::" +"Origin</literal>) ã‚’ã¨ã‚Šã¾ã™ã€‚サãƒãƒ¼ãƒˆã™ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯ã€<literal>Origin</" +"literal>, <literal>Label</literal>, <literal>Suite</literal>, " +"<literal>Version</literal>, <literal>Codename</literal>, <literal>Date</" +"literal>, <literal>Valid-Until</literal>, <literal>Architectures</literal>, " +"<literal>Components</literal>, <literal>Description</literal> ã§ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3321,7 +3338,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3334,13 +3351,13 @@ msgstr "" "<literal>quiet</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3353,13 +3370,13 @@ msgstr "" "<literal>APT::FTPArchive::DeLinkAct</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3374,13 +3391,13 @@ msgstr "" "<literal>APT::FTPArchive::Contents</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3390,13 +3407,13 @@ msgstr "" "é¸æŠžã—ã¾ã™ã€‚è¨å®šé …ç›® - <literal>APT::FTPArchive::SourceOverride</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3405,13 +3422,13 @@ msgstr "" "FTPArchive::ReadOnlyDB</literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 #, fuzzy msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " @@ -3425,12 +3442,12 @@ msgstr "" "literal>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>--version</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3444,12 +3461,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 #, fuzzy msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " @@ -3465,14 +3482,14 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 #: sources.list.5.xml:198 msgid "Examples" msgstr "サンプル" # type: Content of: <refentry><refsect1><para><programlisting> #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "" @@ -3481,7 +3498,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3491,7 +3508,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3967,7 +3984,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -4867,24 +4884,8 @@ msgstr "" "Debian アーカイブã‚ーã§ã€ãƒãƒ¼ã‚«ãƒ«ã‚ーリングを更新ã—ã€ã‚‚ã†æœ‰åŠ¹ã§ãªã„ã‚ーをã‚ー" "リングã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã€‚" -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: 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:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4894,12 +4895,12 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:161 +#: apt-key.8.xml:145 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>filename</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:146 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 " @@ -4915,35 +4916,35 @@ msgstr "" "åŠ ã•ã‚Œã¾ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 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:178 +#: apt-key.8.xml:162 msgid "Local trust database of archive keys." msgstr "アーカイブã‚ーã®ãƒãƒ¼ã‚«ãƒ«ä¿¡é ¼ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:181 +#: apt-key.8.xml:165 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:182 +#: apt-key.8.xml:166 msgid "Keyring of Debian archive trusted keys." msgstr "Debian ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ä¿¡é ¼ã‚ーã®ã‚ーリングã§ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:185 +#: apt-key.8.xml:169 msgid "" "<filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename>" msgstr "" @@ -4951,26 +4952,22 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:186 +#: apt-key.8.xml:170 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:195 +#: apt-key.8.xml:179 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" #. The last update date #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 -#, fuzzy -#| msgid "" -#| "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " -#| "August 2009</date>" msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " "August 2009</date>" @@ -4990,22 +4987,13 @@ msgstr "パッケージãŒè‡ªå‹•çš„ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸã‹ã©ã†ã‹ã® # type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: apt-mark.8.xml:39 -#, fuzzy -#| msgid "" -#| " <command>apt-mark</command> <arg><option>-hv</option></arg> " -#| "<arg><option>-f=<replaceable>FILENAME</replaceable></option></arg> <group " -#| "choice=\"plain\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg " -#| "choice=\"plain\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </" -#| "group> <arg choice=\"plain\" rep=\"repeat\"><replaceable>package</" -#| "replaceable></arg> </arg> <arg choice=\"plain\">showauto</arg> </group>" msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" "\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg choice=\"plain" -"\">auto</arg> <arg choice=\"plain\">manual</arg> <arg choice=\"plain" -"\">showauto</arg> <arg choice=\"plain\">showmanual</arg> </group> <arg " +"\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </group> <arg " "choice=\"plain\" rep=\"repeat\"><replaceable>package</replaceable></arg> </" -"arg> </group>" +"arg> <arg choice=\"plain\">showauto</arg> </group>" msgstr "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" @@ -5016,7 +5004,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." @@ -5026,7 +5014,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -5041,22 +5029,15 @@ msgstr "" "command> ã‚„ <command>aptitude</command> ã«ã‚ˆã‚Šå‰Šé™¤ã•ã‚Œã¾ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -#, fuzzy -#| msgid "markauto" -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "markauto" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 -#, fuzzy -#| msgid "" -#| "<literal>markauto</literal> is used to mark a package as being " -#| "automatically installed, which will cause the package to be removed when " -#| "no more manually installed packages depend on this package." +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" @@ -5065,20 +5046,15 @@ msgstr "" "ãªããªã‚‹ã¨ã€ã“ã®ãƒ‘ッケージを削除ã—ã¾ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" -msgstr "" +#: apt-mark.8.xml:76 +msgid "unmarkauto" +msgstr "unmarkauto" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 -#, fuzzy -#| msgid "" -#| "<literal>unmarkauto</literal> is used to mark a package as being manually " -#| "installed, which will prevent the package from being automatically " -#| "removed if no other packages depend on it." +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" @@ -5087,105 +5063,29 @@ msgstr "" "ケージを自動的ã«å‰Šé™¤ã™ã‚‹ã®ã‚’防ãŽã¾ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 -msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg --set-" -"selections</command> and the state is therefore maintained by &dpkg; and not " -"effected by the <option>--filename</option> option." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:96 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." -msgstr "" -"<literal>showauto</literal> ã¯ã€è‡ªå‹•çš„ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸãƒ‘ッケージをã€ãƒ‘ッ" -"ケージã”ã¨ã«æ”¹è¡Œã—ã¦è¡¨ç¤ºã—ã¾ã™ã€‚" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 +#: apt-mark.8.xml:84 msgid "showauto" msgstr "showauto" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." +#: apt-mark.8.xml:85 msgid "" "<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." +"installed packages with each package on a new line." msgstr "" "<literal>showauto</literal> ã¯ã€è‡ªå‹•çš„ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸãƒ‘ッケージをã€ãƒ‘ッ" "ケージã”ã¨ã«æ”¹è¡Œã—ã¦è¡¨ç¤ºã—ã¾ã™ã€‚" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -#, fuzzy -#| msgid "showauto" -msgid "showmanual" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -#, fuzzy -#| msgid "showauto" -msgid "showhold" -msgstr "showauto" - -# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." -msgstr "" -"<literal>showauto</literal> ã¯ã€è‡ªå‹•çš„ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚ŒãŸãƒ‘ッケージをã€ãƒ‘ッ" -"ケージã”ã¨ã«æ”¹è¡Œã—ã¦è¡¨ç¤ºã—ã¾ã™ã€‚" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 +#: apt-mark.8.xml:96 msgid "" "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 +#: apt-mark.8.xml:97 msgid "" "<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" "option>" @@ -5195,7 +5095,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 +#: apt-mark.8.xml:100 msgid "" "Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" "filename> instead of the default location, which is " @@ -5206,20 +5106,52 @@ msgstr "" "トリ㮠<filename>extended_status</filename>) ã«ä»£ãˆã¦ã€<filename>FILENAME</" "filename> ã‹ã‚‰ãƒ‘ッケージã®çµ±è¨ˆã‚’èªã¿æ›¸ãã—ã¾ã™ã€‚" +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" +msgstr "<option>-h</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" +msgstr "<option>--help</option>" + +# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." +msgstr "çŸã„使用方法を表示ã—ã¾ã™ã€‚" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" +msgstr "<option>-v</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" +msgstr "<option>--version</option>" + +# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:116 +msgid "Show the program version." +msgstr "プãƒã‚°ãƒ©ãƒ ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã‚’è¡¨ç¤ºã—ã¾ã™" + #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr " &file-extended_states;" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "&apt-get;,&aptitude;,&apt-conf;" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -5713,12 +5645,11 @@ msgstr "<envar>APT_CONFIG</envar> 環境変数ã§æŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ« (å˜åœ #| "period (.) characters - otherwise they will be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "<literal>Dir::Etc::Parts</literal> ã«ã‚ã‚‹ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’英数å—ã®æ˜‡é †ã«ã€‚" "ファイルåã«ã¯æ‹¡å¼µåãŒãªã„ã‹ã€\"<literal>conf</literal>\" ã¨ãªã£ã¦ãŠã‚Šã€è‹±æ•°" @@ -6713,9 +6644,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6735,7 +6666,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -7871,8 +7802,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8326,92 +8257,20 @@ msgstr "" "Pin-Priority: 500\n" "\n" -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "" - -#. 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 " -"expression surrounded by slashes)." -msgstr "" - -# type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting> -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" -"\n" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" - -# type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><programlisting> -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" -"\n" - -# type: <tag></tag> -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -#, fuzzy -#| msgid "Packages" -msgid "Package" -msgstr "Packages" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "" - # type: Content of: <refentry><refsect1><refsect2><title> #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 msgid "How APT Interprets Priorities" msgstr "APT ãŒå„ªå…ˆåº¦ã«å‰²ã‚Šè¾¼ã‚€æ–¹æ³•" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 msgid "P > 1000" msgstr "P > 1000" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 msgid "" "causes a version to be installed even if this constitutes a downgrade of the " "package" @@ -8419,13 +8278,13 @@ msgstr "" "パッケージãŒãƒ€ã‚¦ãƒ³ã‚°ãƒ¬ãƒ¼ãƒ‰ã—ã¦ã‚‚ã€ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ãƒ‘ッケージをインストール" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 msgid "990 < P <=1000" msgstr "990 < P <=1000" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 msgid "" "causes a version to be installed even if it does not come from the target " "release, unless the installed version is more recent" @@ -8434,13 +8293,13 @@ msgstr "" "å«ã¾ã‚Œãªãã¦ã‚‚ã€ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ãƒ‘ッケージをインストール" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 msgid "500 < P <=990" msgstr "500 < P <=990" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 msgid "" "causes a version to be installed unless there is a version available " "belonging to the target release or the installed version is more recent" @@ -8449,13 +8308,13 @@ msgstr "" "ジョンã®æ–¹ãŒæ–°ã—ã„ã®ã§ãªã‘ã‚Œã°ã€ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ãƒ‘ッケージをインストール" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 msgid "100 < P <=500" msgstr "100 < P <=500" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 msgid "" "causes a version to be installed unless there is a version available " "belonging to some other distribution or the installed version is more recent" @@ -8465,13 +8324,13 @@ msgstr "" "ル" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 msgid "0 < P <=100" msgstr "0 < P <=100" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 msgid "" "causes a version to be installed only if there is no installed version of " "the package" @@ -8480,19 +8339,19 @@ msgstr "" "ンストール" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 msgid "P < 0" msgstr "P < 0" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 msgid "prevents the version from being installed" msgstr "ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ç¦æ¢" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " "negative integers. They are interpreted as follows (roughly speaking): " @@ -8504,7 +8363,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 msgid "" "If any specific-form records match an available package version then the " "first such record determines the priority of the package version. Failing " @@ -8518,7 +8377,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 msgid "" "For example, suppose the APT preferences file contains the three records " "presented earlier:" @@ -8528,7 +8387,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><programlisting> #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, no-wrap msgid "" "Package: perl\n" @@ -8558,13 +8417,13 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "ã™ã‚‹ã¨ã€ä»¥ä¸‹ã®ã‚ˆã†ã«å‹•ä½œã—ã¾ã™ã€‚" # type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 msgid "" "The most recent available version of the <literal>perl</literal> package " "will be installed, so long as that version's version number begins with " @@ -8579,7 +8438,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 msgid "" "A version of any package other than <literal>perl</literal> that is " "available from the local system has priority over other versions, even " @@ -8591,7 +8450,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 msgid "" "A version of a package whose origin is not the local system but some other " "site listed in &sources-list; and which belongs to an <literal>unstable</" @@ -8605,13 +8464,13 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><title> #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 msgid "Determination of Package Version and Distribution Properties" msgstr "パッケージã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ューションプãƒãƒ‘ティã®æ±ºå®š" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 msgid "" "The locations listed in the &sources-list; file should provide " "<filename>Packages</filename> and <filename>Release</filename> files to " @@ -8622,30 +8481,30 @@ msgstr "" "filename> ファイルをæä¾›ã—ã¾ã™ã€‚" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 msgid "the <literal>Package:</literal> line" msgstr "<literal>Package:</literal> è¡Œ" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 msgid "gives the package name" msgstr "パッケージå" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 msgid "the <literal>Version:</literal> line" msgstr "<literal>Version:</literal> è¡Œ" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 msgid "gives the version number for the named package" msgstr "ãã®åå‰ã®ãƒ‘ッケージã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 msgid "" "The <filename>Packages</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable>/" @@ -8665,13 +8524,13 @@ msgstr "" "type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "<literal>Archive:</literal> 行や <literal>Suite:</literal> è¡Œ" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 msgid "" "names the archive to which all the packages in the directory tree belong. " "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies " @@ -8688,19 +8547,19 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, no-wrap msgid "Pin: release a=stable\n" msgstr "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 msgid "the <literal>Codename:</literal> line" msgstr "<literal>Codename:</literal> è¡Œ" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 #, fuzzy msgid "" "names the codename to which all the packages in the directory tree belong. " @@ -8718,14 +8577,14 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, no-wrap msgid "Pin: release n=&testing-codename;\n" msgstr "Pin: release n=&testing-codename;\n" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 msgid "" "names the release version. For example, the packages in the tree might " "belong to Debian GNU/Linux release version 3.0. Note that there is normally " @@ -8741,7 +8600,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, no-wrap msgid "" "Pin: release v=3.0\n" @@ -8754,13 +8613,13 @@ msgstr "" "\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 msgid "the <literal>Component:</literal> line" msgstr "<literal>Component:</literal> è¡Œ" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 msgid "" "names the licensing component associated with the packages in the directory " "tree of the <filename>Release</filename> file. For example, the line " @@ -8778,19 +8637,19 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, no-wrap msgid "Pin: release c=main\n" msgstr "Pin: release c=main\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 msgid "the <literal>Origin:</literal> line" msgstr "<literal>Origin:</literal> è¡Œ" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 msgid "" "names the originator of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8803,7 +8662,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, no-wrap msgid "Pin: release o=Debian\n" msgstr "" @@ -8811,13 +8670,13 @@ msgstr "" "\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 msgid "the <literal>Label:</literal> line" msgstr "<literal>Label:</literal> è¡Œ" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 msgid "" "names the label of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8830,7 +8689,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, no-wrap msgid "Pin: release l=Debian\n" msgstr "" @@ -8839,7 +8698,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 #, fuzzy msgid "" "The <filename>Release</filename> file is normally found in the directory " @@ -8863,7 +8722,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " "files retrieved from locations listed in the &sources-list; file are stored " @@ -8889,13 +8748,13 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><title> #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 msgid "Optional Lines in an APT Preferences Record" msgstr "APT è¨å®šãƒ¬ã‚³ãƒ¼ãƒ‰ã®ã‚ªãƒ—ション行" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 msgid "" "Each record in the APT preferences file can optionally begin with one or " "more lines beginning with the word <literal>Explanation:</literal>. This " @@ -8906,13 +8765,13 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><title> #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 msgid "Tracking Stable" msgstr "安定版ã®è¿½è·¡" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -8938,7 +8797,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -8954,8 +8813,8 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 -#: apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 +#: apt_preferences.5.xml:632 #, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -8968,7 +8827,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -8981,14 +8840,14 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "apt-get install <replaceable>package</replaceable>/testing\n" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>testing</literal> distribution; the package " @@ -9002,13 +8861,13 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><title> #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 msgid "Tracking Testing or Unstable" msgstr "テスト版やä¸å®‰å®šç‰ˆã®è¿½è·¡" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, no-wrap msgid "" "Package: *\n" @@ -9037,7 +8896,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 msgid "" "The following APT preferences file will cause APT to assign a high priority " "to package versions from the <literal>testing</literal> distribution, a " @@ -9055,7 +8914,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -9068,14 +8927,14 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "apt-get install <replaceable>package</replaceable>/unstable\n" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>unstable</literal> distribution. " @@ -9094,13 +8953,13 @@ msgstr "" "\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "コードåリリースã®é€²åŒ–ã®è¿½è·¡" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package versions\n" @@ -9134,7 +8993,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -9158,7 +9017,7 @@ msgstr "" "id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest version(s) in " @@ -9171,14 +9030,14 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para><programlisting> #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "apt-get install <replaceable>package</replaceable>/sid\n" # type: Content of: <refentry><refsect1><refsect2><para> #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 #, fuzzy msgid "" "The following command will cause APT to upgrade the specified package to the " @@ -9198,13 +9057,13 @@ msgstr "" # type: Content of: <refentry><refnamediv><refname> #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 msgid "&file-preferences;" msgstr "&file-preferences;" # type: Content of: <refentry><refsect1><para> #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" @@ -10921,29 +10780,6 @@ msgstr "ã“ã‚Œã§ã€disc ã«ã‚ã‚‹å–得済ã¿ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を使用ã™ã‚‹ã #~ "ンデックスファイル㫠MD5Sum フィールドãŒã‚ã‚Šã¾ã›ã‚“。è¨å®šé …ç›® - " #~ "<literal>APT::FTPArchive::MD5</literal>" -#~ msgid "unmarkauto" -#~ msgstr "unmarkauto" - -#~ msgid "<option>-h</option>" -#~ msgstr "<option>-h</option>" - -#~ msgid "<option>--help</option>" -#~ msgstr "<option>--help</option>" - -# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#~ msgid "Show a short usage summary." -#~ msgstr "çŸã„使用方法を表示ã—ã¾ã™ã€‚" - -#~ msgid "<option>-v</option>" -#~ msgstr "<option>-v</option>" - -#~ msgid "<option>--version</option>" -#~ msgstr "<option>--version</option>" - -# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#~ msgid "Show the program version." -#~ msgstr "プãƒã‚°ãƒ©ãƒ ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã‚’è¡¨ç¤ºã—ã¾ã™" - # type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> #~ msgid "to the version that is already installed (if any)." #~ msgstr "(ã‚ã‚‹ãªã‚‰ã°) æ—¢ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã€‚" diff --git a/doc/po/pl.po b/doc/po/pl.po index 6afced6cf..16b719978 100644 --- a/doc/po/pl.po +++ b/doc/po/pl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.7.25.3\n" -"POT-Creation-Date: 2011-06-28 16:42+0200\n" +"POT-Creation-Date: 2011-04-05 10:22+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" @@ -788,7 +788,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 #: apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 -#: apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 +#: apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 #: apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 #: sources.list.5.xml:36 msgid "Description" @@ -1335,7 +1335,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 -#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 +#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 #: apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "opcje" @@ -1363,7 +1363,7 @@ msgstr "" "<literal>Dir::Cache::pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1391,12 +1391,12 @@ msgstr "" "Cache::srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1503,7 +1503,7 @@ msgstr "<option>--no-act</option>" #| "<literal>APT::Cache::RecurseDepends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1534,7 +1534,7 @@ msgstr "" "konfiguracyjnym: <literal>APT::Cache::ShowFull</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1660,14 +1660,14 @@ 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-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 +#: 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:172 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:156 apt-mark.8.xml:125 +#: apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "Pliki" @@ -1678,9 +1678,9 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml: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 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:177 apt-mark.8.xml:131 apt-secure.8.xml:185 +#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 #: sources.list.5.xml:234 msgid "See Also" msgstr "Zobacz także" @@ -1693,8 +1693,8 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 -#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 +#: apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnostyka" @@ -1837,12 +1837,12 @@ msgstr "" "\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 msgid "Options" msgstr "Opcje" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -2105,7 +2105,7 @@ msgid "Just show the contents of the configuration space." msgstr "WyÅ›wietla zawartość przestrzeni konfiguracji." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3106,20 +3106,20 @@ msgid "" "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 #, fuzzy msgid "" "Use a binary caching DB. This has no effect on the generate command. " @@ -3130,7 +3130,7 @@ msgstr "" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3144,13 +3144,13 @@ msgstr "" "pliku konfiguracyjnym: <literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 #, fuzzy msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " @@ -3164,12 +3164,12 @@ msgstr "" "<literal>APT::Cache::Generate</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3179,13 +3179,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 #, fuzzy msgid "" "Select the source override file to use with the <literal>sources</literal> " @@ -3197,13 +3197,13 @@ msgstr "" "konfiguracyjnym: <literal>APT::Cache::Installed</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" # #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 #, fuzzy msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" @@ -3213,14 +3213,14 @@ msgstr "" "pliku konfiguracyjnym: <literal>APT::Cache::NamesOnly</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 #, fuzzy #| msgid "<option>-a</option>" msgid "<option>--arch</option>" msgstr "<option>-a</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 #, fuzzy #| msgid "" #| "If the command is either <literal>install</literal> or <literal>remove</" @@ -3240,13 +3240,13 @@ msgstr "" "AutomaticRemove</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 #, fuzzy msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>--version</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3260,13 +3260,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 #, fuzzy msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>--version</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3276,19 +3276,19 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 #: sources.list.5.xml:198 msgid "Examples" msgstr "PrzykÅ‚ady" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> packages <replaceable>katalog</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3296,7 +3296,7 @@ msgstr "" # #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3833,7 +3833,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" # @@ -4753,24 +4753,8 @@ 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:140 -#, fuzzy -#| msgid "update" -msgid "net-update" -msgstr "update" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4779,12 +4763,12 @@ msgstr "" "opisanymi w poprzednim rozdziale." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:161 +#: apt-key.8.xml:145 msgid "--keyring <replaceable>filename</replaceable>" msgstr "--keyring <replaceable>nazwa_pliku</replaceable>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:146 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 " @@ -4800,57 +4784,53 @@ msgstr "" "kluczy, co oznacza na przykÅ‚ad to, że nowe klucze bÄ™dÄ… dodawane wÅ‚aÅ›nie tam." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 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:178 +#: apt-key.8.xml:162 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:181 +#: apt-key.8.xml:165 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:182 +#: apt-key.8.xml:166 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:185 +#: apt-key.8.xml:169 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:186 +#: apt-key.8.xml:170 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:195 +#: apt-key.8.xml:179 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" #. The last update date #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 -#, fuzzy -#| msgid "" -#| "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " -#| "August 2009</date>" msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; " "<date>9 sierpnia 2009</date>" @@ -4867,22 +4847,13 @@ msgstr "Zaznaczanie/odznaczanie pakietu jako zainstalowanego automatycznie." #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: apt-mark.8.xml:39 -#, fuzzy -#| msgid "" -#| " <command>apt-mark</command> <arg><option>-hv</option></arg> " -#| "<arg><option>-f=<replaceable>FILENAME</replaceable></option></arg> <group " -#| "choice=\"plain\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg " -#| "choice=\"plain\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </" -#| "group> <arg choice=\"plain\" rep=\"repeat\"><replaceable>package</" -#| "replaceable></arg> </arg> <arg choice=\"plain\">showauto</arg> </group>" msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" "\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg choice=\"plain" -"\">auto</arg> <arg choice=\"plain\">manual</arg> <arg choice=\"plain" -"\">showauto</arg> <arg choice=\"plain\">showmanual</arg> </group> <arg " +"\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </group> <arg " "choice=\"plain\" rep=\"repeat\"><replaceable>package</replaceable></arg> </" -"arg> </group>" +"arg> <arg choice=\"plain\">showauto</arg> </group>" msgstr "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>NAZWA_PLIKU</replaceable></option></arg> <group choice=\"plain" @@ -4892,7 +4863,7 @@ msgstr "" "arg> <arg choice=\"plain\">showauto</arg> </group>" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." @@ -4901,7 +4872,7 @@ msgstr "" "zainstalowany automatycznie." #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -4917,21 +4888,14 @@ msgstr "" "get</command> lub <command>aptitude</command>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -#, fuzzy -#| msgid "markauto" -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "markauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 -#, fuzzy -#| msgid "" -#| "<literal>markauto</literal> is used to mark a package as being " -#| "automatically installed, which will cause the package to be removed when " -#| "no more manually installed packages depend on this package." +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" @@ -4940,19 +4904,14 @@ msgstr "" "żaden inny rÄ™cznie zainstalowany pakiet nie bÄ™dzie od niego zależaÅ‚." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" -msgstr "" +#: apt-mark.8.xml:76 +msgid "unmarkauto" +msgstr "unmarkauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 -#, fuzzy -#| msgid "" -#| "<literal>unmarkauto</literal> is used to mark a package as being manually " -#| "installed, which will prevent the package from being automatically " -#| "removed if no other packages depend on it." +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" @@ -4961,98 +4920,22 @@ msgstr "" "sytuacji gdy żaden inny pakiet nie bÄ™dzie od niego zależaÅ‚." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 -msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg --set-" -"selections</command> and the state is therefore maintained by &dpkg; and not " -"effected by the <option>--filename</option> option." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:96 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." -msgstr "" -"<literal>showauto</literal> jest używane do wypisania listy wszystkich " -"pakietów zainstalowanych automatycznie. Każdy pakiet jest wypisywany w " -"osobnej linii." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 +#: apt-mark.8.xml:84 msgid "showauto" msgstr "showauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." +#: apt-mark.8.xml:85 msgid "" "<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." -msgstr "" -"<literal>showauto</literal> jest używane do wypisania listy wszystkich " -"pakietów zainstalowanych automatycznie. Każdy pakiet jest wypisywany w " -"osobnej linii." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -#, fuzzy -#| msgid "showauto" -msgid "showmanual" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -#, fuzzy -#| msgid "showauto" -msgid "showhold" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." +"installed packages with each package on a new line." msgstr "" "<literal>showauto</literal> jest używane do wypisania listy wszystkich " "pakietów zainstalowanych automatycznie. Każdy pakiet jest wypisywany w " "osobnej linii." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 +#: apt-mark.8.xml:96 msgid "" "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" @@ -5060,7 +4943,7 @@ msgstr "" "option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 +#: apt-mark.8.xml:97 msgid "" "<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" "option>" @@ -5069,7 +4952,7 @@ msgstr "" "option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 +#: apt-mark.8.xml:100 msgid "" "Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" "filename> instead of the default location, which is " @@ -5081,19 +4964,51 @@ msgstr "" "domyÅ›lny plik <filename>extended_status</filename> znajdujÄ…cy siÄ™ w katalogu " "okreÅ›lonym w pliku konfiguracyjnym w pozycji<literal>Dir::State</literal>." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" +msgstr "<option>-h</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" +msgstr "<option>--help</option>" + +# +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." +msgstr "WyÅ›wietla krótkie informacje na temat użytkowania." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" +msgstr "<option>-v</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" +msgstr "<option>--version</option>" + +# +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:116 +msgid "Show the program version." +msgstr "WyÅ›wietla wersjÄ™ programu." + #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "&apt-get;,&aptitude;,&apt-conf;" # #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -5456,29 +5371,14 @@ msgstr "" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml:52 -#, fuzzy -#| msgid "" -#| "The <filename>/etc/apt/sources.list.d</filename> directory provides a way " -#| "to add sources.list entries in separate files. The format is the same as " -#| "for the regular <filename>sources.list</filename> file. File names need " -#| "to end with <filename>.list</filename> and may only contain letters (a-z " -#| "and A-Z), digits (0-9), underscore (_), hyphen (-) and period (.) " -#| "characters. Otherwise they will be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" -"Katalog <filename>/etc/apt/sources.list.d</filename> umożliwia podzielenie " -"pliku źródeÅ‚ na osobne pliki. Format jest dokÅ‚adnie taki sam, jak w " -"przypadku zwykÅ‚ego pliku <filename>sources.list</filename>. Nazwy plików w " -"tym katalogu muszÄ… siÄ™ koÅ„czyć rozszerzeniem <filename>.list</filename> i " -"mogÄ… skÅ‚adać siÄ™ tylko z liter (a-z i A-Z), cyfr (0-9), znaku podkreÅ›lenia " -"(_), pauzy (-) i kropki (.). Inne pliki zostanÄ… zignorowane." #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> #: apt.conf.5.xml:59 @@ -6183,9 +6083,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6196,7 +6096,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -7152,30 +7052,16 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: apt_preferences.5.xml:70 -#, fuzzy -#| msgid "" -#| "The <filename>/etc/apt/sources.list.d</filename> directory provides a way " -#| "to add sources.list entries in separate files. The format is the same as " -#| "for the regular <filename>sources.list</filename> file. File names need " -#| "to end with <filename>.list</filename> and may only contain letters (a-z " -#| "and A-Z), digits (0-9), underscore (_), hyphen (-) and period (.) " -#| "characters. Otherwise they will be silently ignored." msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " "case it will be silently ignored." msgstr "" -"Katalog <filename>/etc/apt/sources.list.d</filename> umożliwia podzielenie " -"pliku źródeÅ‚ na osobne pliki. Format jest dokÅ‚adnie taki sam, jak w " -"przypadku zwykÅ‚ego pliku <filename>sources.list</filename>. Nazwy plików w " -"tym katalogu muszÄ… siÄ™ koÅ„czyć rozszerzeniem <filename>.list</filename> i " -"mogÄ… skÅ‚adać siÄ™ tylko z liter (a-z i A-Z), cyfr (0-9), znaku podkreÅ›lenia " -"(_), pauzy (-) i kropki (.). Inne pliki zostanÄ… zignorowane." #. type: Content of: <refentry><refsect1><refsect2><title> #: apt_preferences.5.xml:79 @@ -7516,82 +7402,17 @@ msgstr "" "Pin-Priority: 500\n" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "" - -#. 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 " -"expression surrounded by slashes)." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -msgid "Package" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 msgid "How APT Interprets Priorities" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 msgid "P > 1000" msgstr "P > 1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 #, fuzzy msgid "" "causes a version to be installed even if this constitutes a downgrade of the " @@ -7601,12 +7422,12 @@ msgstr "" "pakietu nie jest jeszcze zainstalowana" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 msgid "990 < P <=1000" msgstr "990 < P <=1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 #, fuzzy msgid "" "causes a version to be installed even if it does not come from the target " @@ -7616,12 +7437,12 @@ msgstr "" "pakietu nie jest jeszcze zainstalowana" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 msgid "500 < P <=990" msgstr "500 < P <=990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 #, fuzzy msgid "" "causes a version to be installed unless there is a version available " @@ -7631,12 +7452,12 @@ msgstr "" "pakietu nie jest jeszcze zainstalowana" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 msgid "100 < P <=500" msgstr "100 < P <=500" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 #, fuzzy msgid "" "causes a version to be installed unless there is a version available " @@ -7646,12 +7467,12 @@ msgstr "" "pakietu nie jest jeszcze zainstalowana" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 msgid "0 < P <=100" msgstr "0 < P <=100" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 msgid "" "causes a version to be installed only if there is no installed version of " "the package" @@ -7660,17 +7481,17 @@ msgstr "" "pakietu nie jest jeszcze zainstalowana" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 msgid "P < 0" msgstr "P < 0" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 msgid "prevents the version from being installed" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " "negative integers. They are interpreted as follows (roughly speaking): " @@ -7678,7 +7499,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 msgid "" "If any specific-form records match an available package version then the " "first such record determines the priority of the package version. Failing " @@ -7687,14 +7508,14 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 msgid "" "For example, suppose the APT preferences file contains the three records " "presented earlier:" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, no-wrap msgid "" "Package: perl\n" @@ -7722,12 +7543,12 @@ msgstr "" "Pin-Priority: 50\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "Wtedy:" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 msgid "" "The most recent available version of the <literal>perl</literal> package " "will be installed, so long as that version's version number begins with " @@ -7737,7 +7558,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 msgid "" "A version of any package other than <literal>perl</literal> that is " "available from the local system has priority over other versions, even " @@ -7745,7 +7566,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 msgid "" "A version of a package whose origin is not the local system but some other " "site listed in &sources-list; and which belongs to an <literal>unstable</" @@ -7754,12 +7575,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 msgid "Determination of Package Version and Distribution Properties" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 msgid "" "The locations listed in the &sources-list; file should provide " "<filename>Packages</filename> and <filename>Release</filename> files to " @@ -7767,27 +7588,27 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 msgid "the <literal>Package:</literal> line" msgstr "linia <literal>Package:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 msgid "gives the package name" msgstr "podaje nazwÄ™ pakietu" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 msgid "the <literal>Version:</literal> line" msgstr "linia <literal>Version:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 msgid "gives the version number for the named package" msgstr "podaje numer wersji danego pakietu" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 msgid "" "The <filename>Packages</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable>/" @@ -7800,12 +7621,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "linia <literal>Archive:</literal> lub <literal>Suite:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 msgid "" "names the archive to which all the packages in the directory tree belong. " "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies " @@ -7816,18 +7637,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, no-wrap msgid "Pin: release a=stable\n" msgstr "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 msgid "the <literal>Codename:</literal> line" msgstr "linia <literal>Codename:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 msgid "" "names the codename to which all the packages in the directory tree belong. " "For example, the line \"Codename: &testing-codename;\" specifies that all of " @@ -7838,14 +7659,14 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, fuzzy, no-wrap #| msgid "Pin: release a=stable\n" msgid "Pin: release n=&testing-codename;\n" msgstr "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 msgid "" "names the release version. For example, the packages in the tree might " "belong to Debian GNU/Linux release version 3.0. Note that there is normally " @@ -7855,7 +7676,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, no-wrap msgid "" "Pin: release v=3.0\n" @@ -7867,12 +7688,12 @@ msgstr "" "Pin: release 3.0\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 msgid "the <literal>Component:</literal> line" msgstr "linia <literal>Component:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 msgid "" "names the licensing component associated with the packages in the directory " "tree of the <filename>Release</filename> file. For example, the line " @@ -7883,18 +7704,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, no-wrap msgid "Pin: release c=main\n" msgstr "Pin: release c=main\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 msgid "the <literal>Origin:</literal> line" msgstr "linia <literal>Origin:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 msgid "" "names the originator of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -7903,18 +7724,18 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, no-wrap msgid "Pin: release o=Debian\n" msgstr "Pin: release o=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 msgid "the <literal>Label:</literal> line" msgstr "linia <literal>Label:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 msgid "" "names the label of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -7923,13 +7744,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, no-wrap msgid "Pin: release l=Debian\n" msgstr "Pin: release l=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 msgid "" "The <filename>Release</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable></filename>: for " @@ -7943,7 +7764,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " "files retrieved from locations listed in the &sources-list; file are stored " @@ -7958,12 +7779,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 msgid "Optional Lines in an APT Preferences Record" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 msgid "" "Each record in the APT preferences file can optionally begin with one or " "more lines beginning with the word <literal>Explanation:</literal>. This " @@ -7971,12 +7792,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 msgid "Tracking Stable" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, fuzzy, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -8000,7 +7821,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -8010,8 +7831,8 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 -#: apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 +#: apt_preferences.5.xml:632 #, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -8023,7 +7844,7 @@ msgstr "" "apt-get dist-upgrade\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -8032,13 +7853,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "apt-get install <replaceable>pakiet</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>testing</literal> distribution; the package " @@ -8047,12 +7868,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 msgid "Tracking Testing or Unstable" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, no-wrap msgid "" "Package: *\n" @@ -8080,7 +7901,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 msgid "" "The following APT preferences file will cause APT to assign a high priority " "to package versions from the <literal>testing</literal> distribution, a " @@ -8091,7 +7912,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -8100,13 +7921,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "apt-get install <replaceable>pakiet</replaceable>/unstable\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>unstable</literal> distribution. " @@ -8118,12 +7939,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, fuzzy, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package versions\n" @@ -8157,7 +7978,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -8172,7 +7993,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest version(s) in " @@ -8181,13 +8002,13 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "apt-get install <replaceable>pakiet</replaceable>/sid\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>sid</literal> distribution. Thereafter, " @@ -8199,12 +8020,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 msgid "&file-preferences;" msgstr "&file-preferences;" #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" @@ -10249,29 +10070,6 @@ msgstr "Które użyje pobranych uprzednio archiwów z dysku." #~ msgid "<option>--md5</option>" #~ msgstr "<option>--md5</option>" -#~ msgid "unmarkauto" -#~ msgstr "unmarkauto" - -#~ msgid "<option>-h</option>" -#~ msgstr "<option>-h</option>" - -#~ msgid "<option>--help</option>" -#~ msgstr "<option>--help</option>" - -# -#~ msgid "Show a short usage summary." -#~ msgstr "WyÅ›wietla krótkie informacje na temat użytkowania." - -#~ msgid "<option>-v</option>" -#~ msgstr "<option>-v</option>" - -#~ msgid "<option>--version</option>" -#~ msgstr "<option>--version</option>" - -# -#~ msgid "Show the program version." -#~ msgstr "WyÅ›wietla wersjÄ™ programu." - # #~ msgid "APT package handling utility -- cache manipulator" #~ msgstr "NarzÄ™dzie zarzÄ…dzania pakietami APT -- manipulator bufora" diff --git a/doc/po/pt.po b/doc/po/pt.po index f0bfea56d..42862cc4e 100644 --- a/doc/po/pt.po +++ b/doc/po/pt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.0~pre1\n" -"POT-Creation-Date: 2011-06-28 16:42+0200\n" +"POT-Creation-Date: 2011-04-05 10:22+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" @@ -763,7 +763,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 #: apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 -#: apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 +#: apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 #: apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 #: sources.list.5.xml:36 msgid "Description" @@ -1279,7 +1279,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 -#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 +#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 #: apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "opções" @@ -1306,7 +1306,7 @@ msgstr "" "<literal>Dir::Cache::pkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "<option>-s</option>" @@ -1332,12 +1332,12 @@ msgstr "" "pacote. Item de Configuração: <literal>Dir::Cache::srcpkgcache</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "<option>-q</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "<option>--quiet</option>" @@ -1418,16 +1418,9 @@ msgstr "<option>--no-enhances</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cache.8.xml:317 -#, fuzzy -#| msgid "" -#| "Per default the <literal>depends</literal> and <literal>rdepends</" -#| "literal> print all dependencies. This can be twicked with these flags " -#| "which will omit the specified dependency type. Configuration Item: " -#| "<literal>APT::Cache::Show<replaceable>DependencyType</replaceable></" -#| "literal> e.g. <literal>APT::Cache::ShowRecommends</literal>." msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1458,7 +1451,7 @@ msgstr "" "<literal>APT::Cache::ShowFull</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "<option>-a</option>" @@ -1575,14 +1568,14 @@ 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-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 +#: 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:172 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:156 apt-mark.8.xml:125 +#: apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "Ficheiros" @@ -1593,9 +1586,9 @@ msgstr "&file-sourceslist; &file-statelists;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:379 apt-cdrom.8.xml:158 apt-config.8.xml:106 -#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:628 apt-get.8.xml:585 -#: apt-key.8.xml: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 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:177 apt-mark.8.xml:131 apt-secure.8.xml:185 +#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 #: sources.list.5.xml:234 msgid "See Also" msgstr "Veja também" @@ -1607,8 +1600,8 @@ msgstr "&apt-conf;, &sources-list;, &apt-get;" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:384 apt-cdrom.8.xml:163 apt-config.8.xml:111 -#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:632 apt-get.8.xml:591 -#: apt-mark.8.xml:154 apt-sortpkgs.1.xml:76 +#: apt-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 +#: apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "Diagnóstico" @@ -1737,12 +1730,12 @@ msgstr "" "\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 msgid "Options" msgstr "Opções" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:540 apt-get.8.xml:345 +#: apt-cdrom.8.xml:98 apt-ftparchive.1.xml:539 apt-get.8.xml:345 msgid "<option>-d</option>" msgstr "<option>-d</option>" @@ -1995,7 +1988,7 @@ msgid "Just show the contents of the configuration space." msgstr "Apenas mostra o conteúdo do espaço de configuração." #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 msgid "&apt-conf;" msgstr "&apt-conf;" @@ -3144,25 +3137,43 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-ftparchive.1.xml:531 +#, fuzzy +#| msgid "" +#| "Values for the additional metadata fields in the Release file are taken " +#| "from the corresponding variables under <literal>APT::FTPArchive::Release</" +#| "literal>, e.g. <literal>APT::FTPArchive::Release::Origin</literal>. The " +#| "supported fields are: <literal>Origin</literal>, <literal>Label</" +#| "literal>, <literal>Suite</literal>, <literal>Version</literal>, " +#| "<literal>Codename</literal>, <literal>Date</literal>, <literal>Valid-" +#| "Until</literal>, <literal>Architectures</literal>, <literal>Components</" +#| "literal>, <literal>Description</literal>." msgid "" "Generate the given checksum. These options default to on, when turned off " "the generated index files will not have the checksum fields where possible. " "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" +"Valores para os campos de metadados adicionais no ficheiro Release são " +"tomados a partir das variáveis correspondentes sob <literal>APT::FTPArchive::" +"Release</literal>, ex. <literal>APT::FTPArchive::Release::Origin</literal>. " +"Os campos suportados são: <literal>Origin</literal>, <literal>Label</" +"literal>, <literal>Suite</literal>, <literal>Version</literal>, " +"<literal>Codename</literal>, <literal>Date</literal>, " +"<literal>Architectures</literal>, <literal>Components</literal>, " +"<literal>Description</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "<option>--db</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." @@ -3171,7 +3182,7 @@ msgstr "" "generate. Item de configuração: <literal>APT::FTPArchive::DB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -3185,12 +3196,12 @@ msgstr "" "<literal>quiet</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "<option>--delink</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -3203,12 +3214,12 @@ msgstr "" "option>. Item de Configuração: <literal>APT::FTPArchive::DeLinkAct</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "<option>--contents</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -3224,12 +3235,12 @@ msgstr "" "de Configuração: <literal>APT::FTPArchive::Contents</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "<option>--source-override</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -3240,12 +3251,12 @@ msgstr "" "SourceOverride</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "<option>--readonly</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." @@ -3254,12 +3265,12 @@ msgstr "" "<literal>APT::FTPArchive::ReadOnlyDB</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "<option>--arch</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -3273,12 +3284,12 @@ msgstr "" "FTPArchive::Architecture</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "<option>APT::FTPArchive::AlwaysStat</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -3302,12 +3313,12 @@ msgstr "" "as verificações extras serão desnecessárias." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "<option>APT::FTPArchive::LongDescription</option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -3322,19 +3333,19 @@ msgstr "" "<filename>Translation-en</filename> só pode ser criado no comando generate." #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 #: sources.list.5.xml:198 msgid "Examples" msgstr "Examples" #. type: Content of: <refentry><refsect1><para><programlisting> -#: apt-ftparchive.1.xml:623 +#: apt-ftparchive.1.xml:622 #, no-wrap msgid "<command>apt-ftparchive</command> packages <replaceable>directory</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" msgstr "<command>apt-ftparchive</command> pacotes <replaceable>directório</replaceable> | <command>gzip</command> > <filename>Packages.gz</filename>\n" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:619 +#: apt-ftparchive.1.xml:618 msgid "" "To create a compressed Packages file for a directory containing binary " "packages (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" @@ -3343,7 +3354,7 @@ msgstr "" "pacotes binários (.deb): <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> -#: apt-ftparchive.1.xml:633 +#: apt-ftparchive.1.xml:632 msgid "" "<command>apt-ftparchive</command> returns zero on normal operation, decimal " "100 on error." @@ -3813,7 +3824,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -4683,24 +4694,8 @@ 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:140 -#, fuzzy -#| msgid "update" -msgid "net-update" -msgstr "update" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 msgid "" "Note that options need to be defined before the commands described in the " "previous section." @@ -4709,12 +4704,12 @@ msgstr "" "secção prévia." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:161 +#: apt-key.8.xml:145 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:162 +#: apt-key.8.xml:146 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 " @@ -4731,57 +4726,53 @@ msgstr "" "chaves são adicionadas a este." #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "&file-trustedgpg;" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 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:178 +#: apt-key.8.xml:162 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:181 +#: apt-key.8.xml:165 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:182 +#: apt-key.8.xml:166 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:185 +#: apt-key.8.xml:169 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:186 +#: apt-key.8.xml:170 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:195 +#: apt-key.8.xml:179 msgid "&apt-get;, &apt-secure;" msgstr "&apt-get;, &apt-secure;" #. The last update date #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 -#, fuzzy -#| msgid "" -#| "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " -#| "August 2009</date>" msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" "&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " "Agosto 2009</date>" @@ -4798,22 +4789,13 @@ msgstr "marca/desmarca um pacote como sendo instalado automaticamente" #. type: Content of: <refentry><refsynopsisdiv><cmdsynopsis> #: apt-mark.8.xml:39 -#, fuzzy -#| msgid "" -#| " <command>apt-mark</command> <arg><option>-hv</option></arg> " -#| "<arg><option>-f=<replaceable>FILENAME</replaceable></option></arg> <group " -#| "choice=\"plain\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg " -#| "choice=\"plain\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </" -#| "group> <arg choice=\"plain\" rep=\"repeat\"><replaceable>package</" -#| "replaceable></arg> </arg> <arg choice=\"plain\">showauto</arg> </group>" msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" "\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg choice=\"plain" -"\">auto</arg> <arg choice=\"plain\">manual</arg> <arg choice=\"plain" -"\">showauto</arg> <arg choice=\"plain\">showmanual</arg> </group> <arg " +"\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </group> <arg " "choice=\"plain\" rep=\"repeat\"><replaceable>package</replaceable></arg> </" -"arg> </group>" +"arg> <arg choice=\"plain\">showauto</arg> </group>" msgstr "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>NOME DE FICHEIRO</replaceable></option></arg> <group choice=" @@ -4823,7 +4805,7 @@ msgstr "" "arg> <arg choice=\"plain\">showauto</arg> </group>" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." @@ -4832,7 +4814,7 @@ msgstr "" "sendo instalado automaticamente." #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -4848,21 +4830,14 @@ msgstr "" "command> ou <command>aptitude</command> (exemplos)." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -#, fuzzy -#| msgid "markauto" -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "markauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 -#, fuzzy -#| msgid "" -#| "<literal>markauto</literal> is used to mark a package as being " -#| "automatically installed, which will cause the package to be removed when " -#| "no more manually installed packages depend on this package." +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" @@ -4871,19 +4846,14 @@ msgstr "" "nenhum pacote instalado manualmente depender deste pacote." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" -msgstr "" +#: apt-mark.8.xml:76 +msgid "unmarkauto" +msgstr "unmarkauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 -#, fuzzy -#| msgid "" -#| "<literal>unmarkauto</literal> is used to mark a package as being manually " -#| "installed, which will prevent the package from being automatically " -#| "removed if no other packages depend on it." +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" @@ -4892,95 +4862,21 @@ msgstr "" "automaticamente se nenhum outro pacote depender dele." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 -msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg --set-" -"selections</command> and the state is therefore maintained by &dpkg; and not " -"effected by the <option>--filename</option> option." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:96 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." -msgstr "" -"<literal>showauto</literal> é usado para escrever uma lista dos pacotes " -"instalados automaticamente com cada pacote numa linha nova." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 +#: apt-mark.8.xml:84 msgid "showauto" msgstr "showauto" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." +#: apt-mark.8.xml:85 msgid "" "<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." -msgstr "" -"<literal>showauto</literal> é usado para escrever uma lista dos pacotes " -"instalados automaticamente com cada pacote numa linha nova." - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -#, fuzzy -#| msgid "showauto" -msgid "showmanual" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -#, fuzzy -#| msgid "showauto" -msgid "showhold" -msgstr "showauto" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -#, fuzzy -#| msgid "" -#| "<literal>showauto</literal> is used to print a list of automatically " -#| "installed packages with each package on a new line." -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." +"installed packages with each package on a new line." msgstr "" "<literal>showauto</literal> é usado para escrever uma lista dos pacotes " "instalados automaticamente com cada pacote numa linha nova." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 +#: apt-mark.8.xml:96 msgid "" "<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" @@ -4988,7 +4884,7 @@ msgstr "" "option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 +#: apt-mark.8.xml:97 msgid "" "<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" "option>" @@ -4997,7 +4893,7 @@ msgstr "" "filename></option>" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 +#: apt-mark.8.xml:100 msgid "" "Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" "filename> instead of the default location, which is " @@ -5009,18 +4905,48 @@ msgstr "" "localização predefinida, a qual é <filename>extended_status</filename> no " "directório definido pelo Item de Configuração: <literal>Dir::State</literal>." +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" +msgstr "<option>-h</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" +msgstr "<option>--help</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." +msgstr "Mostra um curto sumário de utilização." + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" +msgstr "<option>-v</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" +msgstr "<option>--version</option>" + +#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#: apt-mark.8.xml:116 +msgid "Show the program version." +msgstr "Mostra a versão do programa." + #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr " &file-extended_states;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "&apt-get;,&aptitude;,&apt-conf;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -5494,12 +5420,11 @@ msgstr "" #| "period (.) characters - otherwise they will be silently ignored." msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" "todos os ficheiros em <literal>Dir::Etc::Parts</literal> em ordem ascendente " "alfanumérica sem extensão ou com \"<literal>conf</literal>\" como extensão " @@ -6520,9 +6445,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -6543,7 +6468,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -7818,8 +7743,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -8275,84 +8200,17 @@ msgstr "" "Pin-Priority: 500\n" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "" - -#. 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 " -"expression surrounded by slashes)." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, fuzzy, no-wrap -#| msgid "" -#| "Package: *\n" -#| "Pin: release a=unstable\n" -#| "Pin-Priority: 50\n" -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -#, fuzzy -#| msgid "Packages" -msgid "Package" -msgstr "Packages" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 msgid "How APT Interprets Priorities" msgstr "Como o APT Interpreta as Prioridades" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 msgid "P > 1000" msgstr "P > 1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 msgid "" "causes a version to be installed even if this constitutes a downgrade of the " "package" @@ -8361,12 +8219,12 @@ msgstr "" "na versão do pacote (downgrade)" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 msgid "990 < P <=1000" msgstr "990 < P <=1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 msgid "" "causes a version to be installed even if it does not come from the target " "release, unless the installed version is more recent" @@ -8375,12 +8233,12 @@ msgstr "" "destino, a menos que a versão instalada seja mais recente" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 msgid "500 < P <=990" msgstr "500 < P <=990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 msgid "" "causes a version to be installed unless there is a version available " "belonging to the target release or the installed version is more recent" @@ -8390,12 +8248,12 @@ msgstr "" "mais recente" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 msgid "100 < P <=500" msgstr "100 < P <=500" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 msgid "" "causes a version to be installed unless there is a version available " "belonging to some other distribution or the installed version is more recent" @@ -8405,12 +8263,12 @@ msgstr "" "recente" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 msgid "0 < P <=100" msgstr "0 < P <=100" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 msgid "" "causes a version to be installed only if there is no installed version of " "the package" @@ -8419,17 +8277,17 @@ msgstr "" "instalada do pacote" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 msgid "P < 0" msgstr "P < 0" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 msgid "prevents the version from being installed" msgstr "previne a instalação da versão" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " "negative integers. They are interpreted as follows (roughly speaking): " @@ -8440,7 +8298,7 @@ msgstr "" "(falando grosso): <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 msgid "" "If any specific-form records match an available package version then the " "first such record determines the priority of the package version. Failing " @@ -8454,7 +8312,7 @@ msgstr "" "determina a prioridade da versão de pacote." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 msgid "" "For example, suppose the APT preferences file contains the three records " "presented earlier:" @@ -8463,7 +8321,7 @@ msgstr "" "registos apresentados atrás:" #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, no-wrap msgid "" "Package: perl\n" @@ -8491,12 +8349,12 @@ msgstr "" "Pin-Priority: 50\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "Então:" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 msgid "" "The most recent available version of the <literal>perl</literal> package " "will be installed, so long as that version's version number begins with " @@ -8511,7 +8369,7 @@ msgstr "" "downgrade ao <literal>perl</literal>." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 msgid "" "A version of any package other than <literal>perl</literal> that is " "available from the local system has priority over other versions, even " @@ -8522,7 +8380,7 @@ msgstr "" "versões, mesmo versões que pertencem ao lançamento de destino." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 msgid "" "A version of a package whose origin is not the local system but some other " "site listed in &sources-list; and which belongs to an <literal>unstable</" @@ -8535,12 +8393,12 @@ msgstr "" "instalação e se nenhuma versão do pacote já estiver instalada." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 msgid "Determination of Package Version and Distribution Properties" msgstr "Determinação da Versão do Pacote e Propriedades da Distribuição" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 msgid "" "The locations listed in the &sources-list; file should provide " "<filename>Packages</filename> and <filename>Release</filename> files to " @@ -8551,27 +8409,27 @@ msgstr "" "descrever os pacotes disponÃveis nessa localização." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 msgid "the <literal>Package:</literal> line" msgstr "a linha <literal>Package:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 msgid "gives the package name" msgstr "fornece o nome do pacote" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 msgid "the <literal>Version:</literal> line" msgstr "a linha <literal>Version:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 msgid "gives the version number for the named package" msgstr "fornece o número de versão do pacote nomeado" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 msgid "" "The <filename>Packages</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable>/" @@ -8592,12 +8450,12 @@ msgstr "" "definir prioridades do APT: <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "a linha <literal>Archive:</literal> ou <literal>Suite:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 msgid "" "names the archive to which all the packages in the directory tree belong. " "For example, the line \"Archive: stable\" or \"Suite: stable\" specifies " @@ -8614,18 +8472,18 @@ msgstr "" "requerer a linha:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, no-wrap msgid "Pin: release a=stable\n" msgstr "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 msgid "the <literal>Codename:</literal> line" msgstr "a linha <literal>Codename:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 msgid "" "names the codename to which all the packages in the directory tree belong. " "For example, the line \"Codename: &testing-codename;\" specifies that all of " @@ -8642,13 +8500,13 @@ msgstr "" "preferências do APT requer a linha:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, no-wrap msgid "Pin: release n=&testing-codename;\n" msgstr "Pin: release n=&testing-codename;\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 msgid "" "names the release version. For example, the packages in the tree might " "belong to Debian GNU/Linux release version 3.0. Note that there is normally " @@ -8664,7 +8522,7 @@ msgstr "" "seguintes linhas:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, no-wrap msgid "" "Pin: release v=3.0\n" @@ -8676,12 +8534,12 @@ msgstr "" "Pin: release 3.0\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 msgid "the <literal>Component:</literal> line" msgstr "a linha <literal>Component:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 msgid "" "names the licensing component associated with the packages in the directory " "tree of the <filename>Release</filename> file. For example, the line " @@ -8699,18 +8557,18 @@ msgstr "" "a linha:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, no-wrap msgid "Pin: release c=main\n" msgstr "Pin: release c=main\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 msgid "the <literal>Origin:</literal> line" msgstr "a linha <literal>Origin:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 msgid "" "names the originator of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8723,18 +8581,18 @@ msgstr "" "linha:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, no-wrap msgid "Pin: release o=Debian\n" msgstr "Pin: release o=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 msgid "the <literal>Label:</literal> line" msgstr "a linha <literal>Label:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 msgid "" "names the label of the packages in the directory tree of the " "<filename>Release</filename> file. Most commonly, this is <literal>Debian</" @@ -8747,13 +8605,13 @@ msgstr "" "linha:" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, no-wrap msgid "Pin: release l=Debian\n" msgstr "Pin: release l=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 msgid "" "The <filename>Release</filename> file is normally found in the directory " "<filename>.../dists/<replaceable>dist-name</replaceable></filename>: for " @@ -8776,7 +8634,7 @@ msgstr "" "APT: <placeholder type=\"variablelist\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " "files retrieved from locations listed in the &sources-list; file are stored " @@ -8801,12 +8659,12 @@ msgstr "" "literal> da distribuição <literal>unstable</literal>." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 msgid "Optional Lines in an APT Preferences Record" msgstr "Linhas Opcionais num Registo de Preferências do APT" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 msgid "" "Each record in the APT preferences file can optionally begin with one or " "more lines beginning with the word <literal>Explanation:</literal>. This " @@ -8817,12 +8675,12 @@ msgstr "" "literal>. Isto disponibiliza um espaço para comentários." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 msgid "Tracking Stable" msgstr "Acompanhando Stable" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -8846,7 +8704,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -8862,8 +8720,8 @@ msgstr "" "\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 -#: apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 +#: apt_preferences.5.xml:632 #, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -8875,7 +8733,7 @@ msgstr "" "apt-get dist-upgrade\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -8888,13 +8746,13 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "apt-get install <replaceable>pacote</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>testing</literal> distribution; the package " @@ -8907,12 +8765,12 @@ msgstr "" "outra vez. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 msgid "Tracking Testing or Unstable" msgstr "Acompanhando Testing ou Unstable" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, no-wrap msgid "" "Package: *\n" @@ -8940,7 +8798,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 msgid "" "The following APT preferences file will cause APT to assign a high priority " "to package versions from the <literal>testing</literal> distribution, a " @@ -8957,7 +8815,7 @@ msgstr "" "<placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest " @@ -8970,13 +8828,13 @@ msgstr "" "\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "apt-get install <replaceable>pacote</replaceable>/unstable\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>unstable</literal> distribution. " @@ -8995,12 +8853,12 @@ msgstr "" "versão instalada. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "Acompanhando a evolução de um nome de código de lançamento" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package versions\n" @@ -9034,7 +8892,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -9060,7 +8918,7 @@ msgstr "" "<placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 msgid "" "With a suitable &sources-list; file and the above preferences file, any of " "the following commands will cause APT to upgrade to the latest version(s) in " @@ -9073,13 +8931,13 @@ msgstr "" "codename;</literal>. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "apt-get install <replaceable>pacote</replaceable>/sid\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 msgid "" "The following command will cause APT to upgrade the specified package to the " "latest version from the <literal>sid</literal> distribution. Thereafter, " @@ -9098,12 +8956,12 @@ msgstr "" "instalada. <placeholder type=\"programlisting\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 msgid "&file-preferences;" msgstr "&file-preferences;" #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" @@ -11132,27 +10990,6 @@ msgstr "O qual irá usar os arquivos já obtidos e que estão no disco." #~ "Ãndice gerados não terão campos MD5Sum onde possÃveis. Item de " #~ "Configuração: <literal>APT::FTPArchive::MD5</literal>" -#~ msgid "unmarkauto" -#~ msgstr "unmarkauto" - -#~ msgid "<option>-h</option>" -#~ msgstr "<option>-h</option>" - -#~ msgid "<option>--help</option>" -#~ msgstr "<option>--help</option>" - -#~ msgid "Show a short usage summary." -#~ msgstr "Mostra um curto sumário de utilização." - -#~ msgid "<option>-v</option>" -#~ msgstr "<option>-v</option>" - -#~ msgid "<option>--version</option>" -#~ msgstr "<option>--version</option>" - -#~ msgid "Show the program version." -#~ msgstr "Mostra a versão do programa." - #~ msgid "to the version that is already installed (if any)." #~ msgstr "para a versão que já está instalada (se alguma)." diff --git a/doc/po/pt_BR.po b/doc/po/pt_BR.po index d447a4701..5a8db4dd5 100644 --- a/doc/po/pt_BR.po +++ b/doc/po/pt_BR.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" -"POT-Creation-Date: 2011-06-28 16:42+0200\n" +"POT-Creation-Date: 2011-04-05 10:22+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" @@ -578,7 +578,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><title> #: apt-cache.8.xml:64 apt-cdrom.8.xml:50 apt-config.8.xml:50 #: apt-extracttemplates.1.xml:46 apt-ftparchive.1.xml:59 apt-get.8.xml:114 -#: apt-key.8.xml:38 apt-mark.8.xml:56 apt-secure.8.xml:43 +#: apt-key.8.xml:38 apt-mark.8.xml:55 apt-secure.8.xml:43 #: apt-sortpkgs.1.xml:47 apt.conf.5.xml:42 apt_preferences.5.xml:36 #: sources.list.5.xml:36 #, fuzzy @@ -963,7 +963,7 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> #: apt-cache.8.xml:278 apt-config.8.xml:96 apt-extracttemplates.1.xml:59 -#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:126 +#: apt-ftparchive.1.xml:525 apt-get.8.xml:331 apt-mark.8.xml:92 #: apt-sortpkgs.1.xml:57 apt.conf.5.xml:560 apt.conf.5.xml:582 msgid "options" msgstr "" @@ -987,7 +987,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:288 apt-ftparchive.1.xml:572 apt-get.8.xml:393 +#: apt-cache.8.xml:288 apt-ftparchive.1.xml:571 apt-get.8.xml:393 #: apt-sortpkgs.1.xml:61 msgid "<option>-s</option>" msgstr "" @@ -1008,12 +1008,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>-q</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:296 apt-ftparchive.1.xml:546 apt-get.8.xml:383 +#: apt-cache.8.xml:296 apt-ftparchive.1.xml:545 apt-get.8.xml:383 msgid "<option>--quiet</option>" msgstr "" @@ -1088,7 +1088,7 @@ msgstr "" #: apt-cache.8.xml:317 msgid "" "Per default the <literal>depends</literal> and <literal>rdepends</literal> " -"print all dependencies. This can be tweaked with these flags which will omit " +"print all dependencies. This can be twicked with these flags which will omit " "the specified dependency type. Configuration Item: <literal>APT::Cache::" "Show<replaceable>DependencyType</replaceable></literal> e.g. <literal>APT::" "Cache::ShowRecommends</literal>." @@ -1112,7 +1112,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:584 +#: apt-cache.8.xml:328 apt-cdrom.8.xml:134 apt-ftparchive.1.xml:583 msgid "<option>-a</option>" msgstr "" @@ -1208,14 +1208,14 @@ 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-extracttemplates.1.xml:70 apt-ftparchive.1.xml:611 apt-get.8.xml:570 +#: 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:172 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:156 apt-mark.8.xml:125 +#: apt.conf.5.xml:1093 apt_preferences.5.xml:654 msgid "Files" msgstr "" @@ -1226,9 +1226,9 @@ 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: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 +#: apt-extracttemplates.1.xml:77 apt-ftparchive.1.xml:627 apt-get.8.xml:585 +#: apt-key.8.xml:177 apt-mark.8.xml:131 apt-secure.8.xml:185 +#: apt-sortpkgs.1.xml:72 apt.conf.5.xml:1099 apt_preferences.5.xml:661 #: sources.list.5.xml:234 #, fuzzy msgid "See Also" @@ -1241,8 +1241,8 @@ 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-extracttemplates.1.xml:81 apt-ftparchive.1.xml:631 apt-get.8.xml:591 +#: apt-mark.8.xml:135 apt-sortpkgs.1.xml:76 msgid "Diagnostics" msgstr "" @@ -1341,12 +1341,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-cdrom.8.xml:94 apt-key.8.xml:158 +#: apt-cdrom.8.xml:94 apt-key.8.xml:142 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 "" @@ -1551,7 +1551,7 @@ msgid "Just show the contents of the configuration space." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:629 +#: apt-config.8.xml:107 apt-extracttemplates.1.xml:78 apt-ftparchive.1.xml:628 #: apt-sortpkgs.1.xml:73 #, fuzzy msgid "&apt-conf;" @@ -2481,26 +2481,26 @@ msgid "" "Configuration Items: <literal>APT::FTPArchive::<replaceable>Checksum</" "replaceable></literal> and <literal>APT::FTPArchive::<replaceable>Index</" "replaceable>::<replaceable>Checksum</replaceable></literal> where " -"<literal><replaceable>Index</replaceable></literal> can be " -"<literal>Packages</literal>, <literal>Sources</literal> or <literal>Release</" -"literal> and <literal><replaceable>Checksum</replaceable></literal> can be " -"<literal>MD5</literal>, <literal>SHA1</literal> or <literal>SHA256</literal>." +"<literal>Index</literal> can be <literal>Packages</literal>, " +"<literal>Sources</literal> or <literal>Release</literal> and " +"<literal>Checksum</literal> can be <literal>MD5</literal>, <literal>SHA1</" +"literal> or <literal>SHA256</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:540 +#: apt-ftparchive.1.xml:539 msgid "<option>--db</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:542 +#: apt-ftparchive.1.xml:541 msgid "" "Use a binary caching DB. This has no effect on the generate command. " "Configuration Item: <literal>APT::FTPArchive::DB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:548 +#: apt-ftparchive.1.xml:547 msgid "" "Quiet; produces output suitable for logging, omitting progress indicators. " "More q's will produce more quiet up to a maximum of 2. You can also use " @@ -2509,12 +2509,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:554 +#: apt-ftparchive.1.xml:553 msgid "<option>--delink</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:556 +#: apt-ftparchive.1.xml:555 msgid "" "Perform Delinking. If the <literal>External-Links</literal> setting is used " "then this option actually enables delinking of the files. It defaults to on " @@ -2523,12 +2523,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:562 +#: apt-ftparchive.1.xml:561 msgid "<option>--contents</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:564 +#: apt-ftparchive.1.xml:563 msgid "" "Perform contents generation. When this option is set and package indexes are " "being generated with a cache DB then the file listing will also be extracted " @@ -2538,12 +2538,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:572 +#: apt-ftparchive.1.xml:571 msgid "<option>--source-override</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:574 +#: apt-ftparchive.1.xml:573 msgid "" "Select the source override file to use with the <literal>sources</literal> " "command. Configuration Item: <literal>APT::FTPArchive::SourceOverride</" @@ -2551,24 +2551,24 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:578 +#: apt-ftparchive.1.xml:577 msgid "<option>--readonly</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:580 +#: apt-ftparchive.1.xml:579 msgid "" "Make the caching databases read only. Configuration Item: <literal>APT::" "FTPArchive::ReadOnlyDB</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:584 +#: apt-ftparchive.1.xml:583 msgid "<option>--arch</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:585 +#: apt-ftparchive.1.xml:584 msgid "" "Accept in the <literal>packages</literal> and <literal>contents</literal> " "commands only package files matching <literal>*_arch.deb</literal> or " @@ -2577,12 +2577,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:591 +#: apt-ftparchive.1.xml:590 msgid "<option>APT::FTPArchive::AlwaysStat</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:593 +#: apt-ftparchive.1.xml:592 msgid "" "&apt-ftparchive; caches as much as possible of metadata in a cachedb. If " "packages are recompiled and/or republished with the same version again, this " @@ -2596,12 +2596,12 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-ftparchive.1.xml:603 +#: apt-ftparchive.1.xml:602 msgid "<option>APT::FTPArchive::LongDescription</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-ftparchive.1.xml:605 +#: apt-ftparchive.1.xml:604 msgid "" "This configuration option defaults to \"<literal>true</literal>\" and should " "only be set to <literal>\"false\"</literal> if the Archive generated with " @@ -2611,27 +2611,27 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><title> -#: apt-ftparchive.1.xml:617 apt.conf.5.xml:1087 apt_preferences.5.xml:544 +#: apt-ftparchive.1.xml:616 apt.conf.5.xml:1087 apt_preferences.5.xml:501 #: 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." @@ -2954,7 +2954,7 @@ msgstr "" #: apt-get.8.xml:282 msgid "" "<literal>download</literal> will download the given binary package into the " -"current directory." +"current directoy." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> @@ -3642,29 +3642,15 @@ msgid "" "from the keyring the archive keys which are no longer valid." msgstr "" -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:140 -msgid "net-update" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:144 -msgid "" -"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:159 +#: apt-key.8.xml:143 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:161 +#: apt-key.8.xml:145 #, fuzzy msgid "--keyring <replaceable>filename</replaceable>" msgstr "" @@ -3672,7 +3658,7 @@ msgstr "" "apt-get install <replaceable>pacote</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:162 +#: apt-key.8.xml:146 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 " @@ -3683,44 +3669,44 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-key.8.xml:175 +#: apt-key.8.xml:159 msgid "&file-trustedgpg;" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:177 +#: apt-key.8.xml:161 #, 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:178 +#: apt-key.8.xml:162 msgid "Local trust database of archive keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:181 +#: apt-key.8.xml:165 msgid "<filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-key.8.xml:182 +#: apt-key.8.xml:166 msgid "Keyring of Debian archive trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-key.8.xml:185 +#: apt-key.8.xml:169 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:186 +#: apt-key.8.xml:170 msgid "Keyring of Debian archive removed trusted keys." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-key.8.xml:195 +#: apt-key.8.xml:179 #, fuzzy msgid "&apt-get;, &apt-secure;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" @@ -3729,8 +3715,8 @@ msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" #. type: Content of: <refentry><refentryinfo> #: apt-mark.8.xml:16 msgid "" -"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>21 " -"April 2011</date>" +"&apt-author.moconnor; &apt-author.team; &apt-email; &apt-product; <date>9 " +"August 2009</date>" msgstr "" #. type: Content of: <refentry><refnamediv><refname> @@ -3749,21 +3735,20 @@ msgid "" " <command>apt-mark</command> <arg><option>-hv</option></arg> <arg><option>-" "f=<replaceable>FILENAME</replaceable></option></arg> <group choice=\"plain" "\"> <arg choice=\"plain\"> <group choice=\"req\"> <arg choice=\"plain" -"\">auto</arg> <arg choice=\"plain\">manual</arg> <arg choice=\"plain" -"\">showauto</arg> <arg choice=\"plain\">showmanual</arg> </group> <arg " +"\">markauto</arg> <arg choice=\"plain\">unmarkauto</arg> </group> <arg " "choice=\"plain\" rep=\"repeat\"><replaceable>package</replaceable></arg> </" -"arg> </group>" +"arg> <arg choice=\"plain\">showauto</arg> </group>" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:57 +#: apt-mark.8.xml:56 msgid "" "<command>apt-mark</command> will change whether a package has been marked as " "being automatically installed." msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:61 +#: apt-mark.8.xml:60 msgid "" "When you request that a package is installed, and as a result other packages " "are installed to satisfy its dependencies, the dependencies are marked as " @@ -3773,132 +3758,108 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:69 -msgid "auto" +#: apt-mark.8.xml:68 +msgid "markauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:70 +#: apt-mark.8.xml:69 msgid "" -"<literal>auto</literal> is used to mark a package as being automatically " +"<literal>markauto</literal> is used to mark a package as being automatically " "installed, which will cause the package to be removed when no more manually " "installed packages depend on this package." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:77 -msgid "manual" +#: apt-mark.8.xml:76 +msgid "unmarkauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:78 +#: apt-mark.8.xml:77 msgid "" -"<literal>manual</literal> is used to mark a package as being manually " +"<literal>unmarkauto</literal> is used to mark a package as being manually " "installed, which will prevent the package from being automatically removed " "if no other packages depend on it." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:85 -msgid "hold" +#: apt-mark.8.xml:84 +msgid "showauto" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:86 +#: apt-mark.8.xml:85 msgid "" -"<literal>hold</literal> is used to mark a package as hold back, which will " -"prevent the package from being automatically installed, upgraded or " -"removed. The command is only a wrapper around <command>dpkg --set-" -"selections</command> and the state is therefore maintained by &dpkg; and not " -"effected by the <option>--filename</option> option." +"<literal>showauto</literal> is used to print a list of automatically " +"installed packages with each package on a new line." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:95 -msgid "unhold" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-mark.8.xml:96 msgid "" -"<literal>unhold</literal> is used to cancel a previously set hold on a " -"package to allow all actions again." +"<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:101 -msgid "showauto" +#: apt-mark.8.xml:97 +msgid "" +"<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" +"option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:102 +#: apt-mark.8.xml:100 msgid "" -"<literal>showauto</literal> is used to print a list of automatically " -"installed packages with each package on a new line. All automatically " -"installed packages will be listed if no package is given. If packages are " -"given only those which are automatically installed will be shown." +"Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" +"filename> instead of the default location, which is " +"<filename>extended_status</filename> in the directory defined by the " +"Configuration Item: <literal>Dir::State</literal>." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:109 -msgid "showmanual" -msgstr "" - -#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:110 -msgid "" -"<literal>showmanual</literal> can be used in the same way as " -"<literal>showauto</literal> except that it will print a list of manually " -"installed packages instead." +#: apt-mark.8.xml:106 +msgid "<option>-h</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:116 -msgid "showhold" +#: apt-mark.8.xml:107 +msgid "<option>--help</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:117 -msgid "" -"<literal>showhold</literal> is used to print a list of packages on hold in " -"the same way as for the other show commands." +#: apt-mark.8.xml:108 +msgid "Show a short usage summary." msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:130 -msgid "" -"<option>-f=<filename><replaceable>FILENAME</replaceable></filename></option>" +#: apt-mark.8.xml:114 +msgid "<option>-v</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><term> -#: apt-mark.8.xml:131 -msgid "" -"<option>--file=<filename><replaceable>FILENAME</replaceable></filename></" -"option>" +#: apt-mark.8.xml:115 +msgid "<option>--version</option>" msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> -#: apt-mark.8.xml:134 -msgid "" -"Read/Write package stats from <filename><replaceable>FILENAME</replaceable></" -"filename> instead of the default location, which is " -"<filename>extended_status</filename> in the directory defined by the " -"Configuration Item: <literal>Dir::State</literal>." +#: apt-mark.8.xml:116 +msgid "Show the program version." msgstr "" #. type: Content of: <refentry><refsect1><variablelist> -#: apt-mark.8.xml:146 +#: apt-mark.8.xml:127 msgid " &file-extended_states;" msgstr "" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:151 +#: apt-mark.8.xml:132 #, fuzzy msgid "&apt-get;,&aptitude;,&apt-conf;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" #. type: Content of: <refentry><refsect1><para> -#: apt-mark.8.xml:155 +#: apt-mark.8.xml:136 msgid "" "<command>apt-mark</command> returns zero on normal operation, non-zero on " "error." @@ -4235,12 +4196,11 @@ msgstr "" #: apt.conf.5.xml:52 msgid "" "all files in <literal>Dir::Etc::Parts</literal> in alphanumeric ascending " -"order which have either no or \"<literal>conf</literal>\" as filename " -"extension and which only contain alphanumeric, hyphen (-), underscore (_) " -"and period (.) characters. Otherwise APT will print a notice that it has " -"ignored a file if the file doesn't match a pattern in the <literal>Dir::" -"Ignore-Files-Silently</literal> configuration list - in this case it will be " -"silently ignored." +"order which have no or \"<literal>conf</literal>\" as filename extension and " +"which only contain alphanumeric, hyphen (-), underscore (_) and period (.) " +"characters. Otherwise APT will print a notice that it has ignored a file if " +"the file doesn't match a pattern in the <literal>Dir::Ignore-Files-Silently</" +"literal> configuration list - in this case it will be silently ignored." msgstr "" #. type: Content of: <refentry><refsect1><orderedlist><listitem><para> @@ -4938,9 +4898,9 @@ msgid "" "Note that at run time the <literal>Dir::Bin::<replaceable>Methodname</" "replaceable></literal> will be checked: If this setting exists the method " "will only be used if this file exists, e.g. for the bzip2 method (the " -"inbuilt) setting is: <placeholder type=\"literallayout\" id=\"0\"/> Note " -"also that list entries specified on the command line will be added at the " -"end of the list specified in the configuration files, but before the default " +"inbuilt) setting is <placeholder type=\"literallayout\" id=\"0\"/> Note also " +"that list entries specified on the command line will be added at the end of " +"the list specified in the configuration files, but before the default " "entries. To prefer a type in this case over the ones specified in the " "configuration files you can set the option direct - not in list style. This " "will not override the defined list, it will only prefix the list with this " @@ -4951,7 +4911,7 @@ msgstr "" #: apt.conf.5.xml:449 msgid "" "The special type <literal>uncompressed</literal> can be used to give " -"uncompressed files a preference, but note that most archives don't provide " +"uncompressed files a preference, but note that most archives doesn't provide " "uncompressed files so this is mostly only useable for local mirrors." msgstr "" @@ -5935,8 +5895,8 @@ msgstr "" msgid "" "Note that the files in the <filename>/etc/apt/preferences.d</filename> " "directory are parsed in alphanumeric ascending order and need to obey the " -"following naming convention: The files have either no or \"<literal>pref</" -"literal>\" as filename extension and only contain alphanumeric, hyphen (-), " +"following naming convention: The files have no or \"<literal>pref</literal>" +"\" as filename extension and which only contain alphanumeric, hyphen (-), " "underscore (_) and period (.) characters. Otherwise APT will print a notice " "that it has ignored a file if the file doesn't match a pattern in the " "<literal>Dir::Ignore-Files-Silently</literal> configuration list - in this " @@ -6390,78 +6350,19 @@ msgstr "" "Pin-Priority: 50\n" #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:262 -msgid "Regular expressions and glob() syntax" -msgstr "" - -#. 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 " -"expression surrounded by slashes)." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:273 -#, fuzzy, no-wrap -msgid "" -"Package: gnome* /kde/\n" -"Pin: release n=experimental\n" -"Pin-Priority: 500\n" -msgstr "" -"<programlisting>\n" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. 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 " -"packages from a release starting with karmic." -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:285 -#, fuzzy, no-wrap -msgid "" -"Package: *\n" -"Pin: release n=karmic*\n" -"Pin-Priority: 990\n" -msgstr "" -"<programlisting>\n" -"Package: *\n" -"Pin: release a=unstable\n" -"Pin-Priority: 50\n" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:290 -msgid "Package" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><literal> -#: apt_preferences.5.xml:296 -msgid "*" -msgstr "" - -#. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:306 +#: apt_preferences.5.xml:263 #, fuzzy msgid "How APT Interprets Priorities" msgstr "Como o APT Interpreta Prioridades" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:314 +#: apt_preferences.5.xml:271 #, fuzzy msgid "P > 1000" msgstr "P > 1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:315 +#: apt_preferences.5.xml:272 #, fuzzy msgid "" "causes a version to be installed even if this constitutes a downgrade of the " @@ -6471,13 +6372,13 @@ msgstr "" "dowgrade do pacote" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:319 +#: apt_preferences.5.xml:276 #, fuzzy msgid "990 < P <=1000" msgstr "990 < P <=1000" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:320 +#: apt_preferences.5.xml:277 #, fuzzy msgid "" "causes a version to be installed even if it does not come from the target " @@ -6487,13 +6388,13 @@ msgstr "" "versão alvo, a menos que a versão instalada seja mais recente" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:325 +#: apt_preferences.5.xml:282 #, fuzzy msgid "500 < P <=990" msgstr "500 < P <=990" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:326 +#: apt_preferences.5.xml:283 #, fuzzy msgid "" "causes a version to be installed unless there is a version available " @@ -6503,13 +6404,13 @@ msgstr "" "disponÃvel pertencente a versão alvo ou a versão instalada seja mais recente" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:331 +#: apt_preferences.5.xml:288 #, fuzzy msgid "100 < P <=500" msgstr "100 < P <=500" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:332 +#: apt_preferences.5.xml:289 #, fuzzy msgid "" "causes a version to be installed unless there is a version available " @@ -6520,13 +6421,13 @@ msgstr "" "seja mais recente" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:337 +#: apt_preferences.5.xml:294 #, fuzzy msgid "0 < P <=100" msgstr "0 <= P <=100" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:338 +#: apt_preferences.5.xml:295 #, fuzzy msgid "" "causes a version to be installed only if there is no installed version of " @@ -6536,19 +6437,19 @@ msgstr "" "instalada do pacote" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:342 +#: apt_preferences.5.xml:299 #, fuzzy msgid "P < 0" msgstr "P < 0" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:343 +#: apt_preferences.5.xml:300 #, fuzzy msgid "prevents the version from being installed" msgstr "impede a versão de ser instalada" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:309 +#: apt_preferences.5.xml:266 #, fuzzy msgid "" "Priorities (P) assigned in the APT preferences file must be positive or " @@ -6560,7 +6461,7 @@ msgstr "" "seguir (a grosso modo):" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:348 +#: apt_preferences.5.xml:305 #, fuzzy msgid "" "If any specific-form records match an available package version then the " @@ -6576,7 +6477,7 @@ msgstr "" "determinará a prioridade da versão do pacote." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:354 +#: apt_preferences.5.xml:311 #, fuzzy msgid "" "For example, suppose the APT preferences file contains the three records " @@ -6586,7 +6487,7 @@ msgstr "" "registros apresentados anteriormente :" #. type: Content of: <refentry><refsect1><refsect2><programlisting> -#: apt_preferences.5.xml:358 +#: apt_preferences.5.xml:315 #, fuzzy, no-wrap msgid "" "Package: perl\n" @@ -6615,12 +6516,12 @@ msgstr "" "Pin-Priority: 50\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:371 +#: apt_preferences.5.xml:328 msgid "Then:" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:373 +#: apt_preferences.5.xml:330 #, fuzzy msgid "" "The most recent available version of the <literal>perl</literal> package " @@ -6636,7 +6537,7 @@ msgstr "" "será feito um downgrade do <literal>perl</literal>." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:378 +#: apt_preferences.5.xml:335 #, fuzzy msgid "" "A version of any package other than <literal>perl</literal> that is " @@ -6648,7 +6549,7 @@ msgstr "" "mesmo versões pertencentes a versão alvo." #. type: Content of: <refentry><refsect1><refsect2><para><itemizedlist><listitem><simpara> -#: apt_preferences.5.xml:382 +#: apt_preferences.5.xml:339 #, fuzzy msgid "" "A version of a package whose origin is not the local system but some other " @@ -6663,13 +6564,13 @@ msgstr "" "instalada." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:392 +#: apt_preferences.5.xml:349 #, fuzzy msgid "Determination of Package Version and Distribution Properties" msgstr "Determinação da Versão do Pacote e Propriedades da Distribuição" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:394 +#: apt_preferences.5.xml:351 #, fuzzy msgid "" "The locations listed in the &sources-list; file should provide " @@ -6681,31 +6582,31 @@ msgstr "" "os pacotes disponÃveis nessas localidades." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:406 +#: apt_preferences.5.xml:363 #, fuzzy msgid "the <literal>Package:</literal> line" msgstr "a linha <literal>Package:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:407 +#: apt_preferences.5.xml:364 #, fuzzy msgid "gives the package name" msgstr "informa o nome do pacote" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:410 apt_preferences.5.xml:460 +#: apt_preferences.5.xml:367 apt_preferences.5.xml:417 #, fuzzy msgid "the <literal>Version:</literal> line" msgstr "a linha <literal>Version:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:411 +#: apt_preferences.5.xml:368 #, fuzzy msgid "gives the version number for the named package" msgstr "informa o número de versão do pacote" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:398 +#: apt_preferences.5.xml:355 #, fuzzy msgid "" "The <filename>Packages</filename> file is normally found in the directory " @@ -6727,13 +6628,13 @@ msgstr "" "do APT :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:427 +#: apt_preferences.5.xml:384 #, fuzzy msgid "the <literal>Archive:</literal> or <literal>Suite:</literal> line" msgstr "a linha <literal>Archive:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:428 +#: apt_preferences.5.xml:385 #, fuzzy msgid "" "names the archive to which all the packages in the directory tree belong. " @@ -6751,7 +6652,7 @@ msgstr "" "requerer a linha :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:438 +#: apt_preferences.5.xml:395 #, fuzzy, no-wrap msgid "Pin: release a=stable\n" msgstr "" @@ -6759,13 +6660,13 @@ msgstr "" "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:444 +#: apt_preferences.5.xml:401 #, fuzzy msgid "the <literal>Codename:</literal> line" msgstr "a linha <literal>Component:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:445 +#: apt_preferences.5.xml:402 #, fuzzy msgid "" "names the codename to which all the packages in the directory tree belong. " @@ -6783,7 +6684,7 @@ msgstr "" "requerer a linha :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:454 +#: apt_preferences.5.xml:411 #, fuzzy, no-wrap msgid "Pin: release n=&testing-codename;\n" msgstr "" @@ -6791,7 +6692,7 @@ msgstr "" "Pin: release a=stable\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:461 +#: apt_preferences.5.xml:418 #, fuzzy msgid "" "names the release version. For example, the packages in the tree might " @@ -6808,7 +6709,7 @@ msgstr "" "das linhas a seguir." #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:470 +#: apt_preferences.5.xml:427 #, fuzzy, no-wrap msgid "" "Pin: release v=3.0\n" @@ -6821,13 +6722,13 @@ msgstr "" "Pin: release 3.0\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:479 +#: apt_preferences.5.xml:436 #, fuzzy msgid "the <literal>Component:</literal> line" msgstr "a linha <literal>Component:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:480 +#: apt_preferences.5.xml:437 #, fuzzy msgid "" "names the licensing component associated with the packages in the directory " @@ -6846,7 +6747,7 @@ msgstr "" "requerer a linha :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:489 +#: apt_preferences.5.xml:446 #, fuzzy, no-wrap msgid "Pin: release c=main\n" msgstr "" @@ -6854,13 +6755,13 @@ msgstr "" "Pin: release c=main\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:495 +#: apt_preferences.5.xml:452 #, fuzzy msgid "the <literal>Origin:</literal> line" msgstr "a linha <literal>Origin:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:496 +#: apt_preferences.5.xml:453 #, fuzzy msgid "" "names the originator of the packages in the directory tree of the " @@ -6874,7 +6775,7 @@ msgstr "" "requerer a linha :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:502 +#: apt_preferences.5.xml:459 #, fuzzy, no-wrap msgid "Pin: release o=Debian\n" msgstr "" @@ -6882,13 +6783,13 @@ msgstr "" "Pin: release o=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term> -#: apt_preferences.5.xml:508 +#: apt_preferences.5.xml:465 #, fuzzy msgid "the <literal>Label:</literal> line" msgstr "a linha <literal>Label:</literal>" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara> -#: apt_preferences.5.xml:509 +#: apt_preferences.5.xml:466 #, fuzzy msgid "" "names the label of the packages in the directory tree of the " @@ -6901,7 +6802,7 @@ msgstr "" "arquivo de preferências do APT iria requerer a linha :" #. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><programlisting> -#: apt_preferences.5.xml:515 +#: apt_preferences.5.xml:472 #, fuzzy, no-wrap msgid "Pin: release l=Debian\n" msgstr "" @@ -6909,7 +6810,7 @@ msgstr "" "Pin: release l=Debian\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:416 +#: apt_preferences.5.xml:373 #, fuzzy msgid "" "The <filename>Release</filename> file is normally found in the directory " @@ -6933,7 +6834,7 @@ msgstr "" "do APT :" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:522 +#: apt_preferences.5.xml:479 #, fuzzy msgid "" "All of the <filename>Packages</filename> and <filename>Release</filename> " @@ -6959,13 +6860,13 @@ msgstr "" "<literal>unstable</literal>." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:535 +#: apt_preferences.5.xml:492 #, fuzzy msgid "Optional Lines in an APT Preferences Record" msgstr "Linhas Opcionais em um Registro de Preferências do APT" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:537 +#: apt_preferences.5.xml:494 #, fuzzy msgid "" "Each record in the APT preferences file can optionally begin with one or " @@ -6977,13 +6878,13 @@ msgstr "" "</literal>. Isto oferece um local para inserir comentários." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:546 +#: apt_preferences.5.xml:503 #, fuzzy msgid "Tracking Stable" msgstr "Acompanhando a Stable" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:554 +#: apt_preferences.5.xml:511 #, fuzzy, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated\n" @@ -7008,7 +6909,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:548 +#: apt_preferences.5.xml:505 #, fuzzy msgid "" "The following APT preferences file will cause APT to assign a priority " @@ -7024,8 +6925,8 @@ msgstr "" "outras distribuições <literal>Debian</literal>." #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:571 apt_preferences.5.xml:617 -#: apt_preferences.5.xml:675 +#: apt_preferences.5.xml:528 apt_preferences.5.xml:574 +#: apt_preferences.5.xml:632 #, fuzzy, no-wrap msgid "" "apt-get install <replaceable>package-name</replaceable>\n" @@ -7038,7 +6939,7 @@ msgstr "" "apt-get dist-upgrade\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:566 +#: apt_preferences.5.xml:523 #, fuzzy msgid "" "With a suitable &sources-list; file and the above preferences file, any of " @@ -7051,7 +6952,7 @@ msgstr "" "ulÃtma(s) versão(ôes) <literal>stable</literal>." #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:583 +#: apt_preferences.5.xml:540 #, fuzzy, no-wrap msgid "apt-get install <replaceable>package</replaceable>/testing\n" msgstr "" @@ -7059,7 +6960,7 @@ msgstr "" "apt-get install <replaceable>pacote</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:577 +#: apt_preferences.5.xml:534 #, fuzzy msgid "" "The following command will cause APT to upgrade the specified package to the " @@ -7072,13 +6973,13 @@ msgstr "" "atualizado novamente a menos que esse comando seja executado novamente." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:589 +#: apt_preferences.5.xml:546 #, fuzzy msgid "Tracking Testing or Unstable" msgstr "Acompanhando a Testing" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:598 +#: apt_preferences.5.xml:555 #, fuzzy, no-wrap msgid "" "Package: *\n" @@ -7107,7 +7008,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:591 +#: apt_preferences.5.xml:548 #, fuzzy msgid "" "The following APT preferences file will cause APT to assign a high priority " @@ -7124,7 +7025,7 @@ msgstr "" "versões de pacotes de outras distribuições <literal>Debian</literal>." #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:612 +#: apt_preferences.5.xml:569 #, fuzzy msgid "" "With a suitable &sources-list; file and the above preferences file, any of " @@ -7137,7 +7038,7 @@ msgstr "" "(s) última(s) versão(ões) <literal>testing</literal>." #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:632 +#: apt_preferences.5.xml:589 #, fuzzy, no-wrap msgid "apt-get install <replaceable>package</replaceable>/unstable\n" msgstr "" @@ -7145,7 +7046,7 @@ msgstr "" "apt-get install <replaceable>pacote</replaceable>/unstable\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:623 +#: apt_preferences.5.xml:580 #, fuzzy msgid "" "The following command will cause APT to upgrade the specified package to the " @@ -7165,12 +7066,12 @@ msgstr "" "recente que a versão instalada." #. type: Content of: <refentry><refsect1><refsect2><title> -#: apt_preferences.5.xml:639 +#: apt_preferences.5.xml:596 msgid "Tracking the evolution of a codename release" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:653 +#: apt_preferences.5.xml:610 #, fuzzy, no-wrap msgid "" "Explanation: Uninstall or do not install any Debian-originated package versions\n" @@ -7200,7 +7101,7 @@ msgstr "" "Pin-Priority: -10\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:641 +#: apt_preferences.5.xml:598 msgid "" "The following APT preferences file will cause APT to assign a priority " "higher than the default (500) to all package versions belonging to a " @@ -7215,7 +7116,7 @@ msgid "" msgstr "" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:670 +#: apt_preferences.5.xml:627 #, fuzzy msgid "" "With a suitable &sources-list; file and the above preferences file, any of " @@ -7228,7 +7129,7 @@ msgstr "" "ulÃtma(s) versão(ôes) <literal>stable</literal>." #. type: Content of: <refentry><refsect1><refsect2><para><programlisting> -#: apt_preferences.5.xml:690 +#: apt_preferences.5.xml:647 #, fuzzy, no-wrap msgid "apt-get install <replaceable>package</replaceable>/sid\n" msgstr "" @@ -7236,7 +7137,7 @@ msgstr "" "apt-get install <replaceable>pacote</replaceable>/testing\n" #. type: Content of: <refentry><refsect1><refsect2><para> -#: apt_preferences.5.xml:681 +#: apt_preferences.5.xml:638 #, fuzzy msgid "" "The following command will cause APT to upgrade the specified package to the " @@ -7256,13 +7157,13 @@ msgstr "" "recente que a versão instalada." #. type: Content of: <refentry><refsect1><variablelist> -#: apt_preferences.5.xml:699 +#: apt_preferences.5.xml:656 #, fuzzy msgid "&file-preferences;" msgstr "apt_preferences" #. type: Content of: <refentry><refsect1><para> -#: apt_preferences.5.xml:705 +#: apt_preferences.5.xml:662 #, fuzzy msgid "&apt-get; &apt-cache; &apt-conf; &sources-list;" msgstr "&apt-get; &apt-cache; &apt-conf; &sources-list;" diff --git a/doc/sources.list.5.xml b/doc/sources.list.5.xml index fab125b4e..bf8356348 100644 --- a/doc/sources.list.5.xml +++ b/doc/sources.list.5.xml @@ -117,8 +117,13 @@ <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></itemizedlist></para> + <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 diff --git a/ftparchive/cachedb.cc b/ftparchive/cachedb.cc index b04244347..7e4c2e9fe 100644 --- a/ftparchive/cachedb.cc +++ b/ftparchive/cachedb.cc @@ -16,7 +16,7 @@ #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> @@ -162,7 +162,8 @@ bool CacheDB::GetCurStat() // --------------------------------------------------------------------- bool CacheDB::GetFileInfo(string const &FileName, bool const &DoControl, bool const &DoContents, bool const &GenContentsOnly, bool const &DoMD5, bool const &DoSHA1, - bool const &DoSHA256, bool const &checkMtime) + bool const &DoSHA256, bool const &DoSHA512, + bool const &checkMtime) { this->FileName = FileName; @@ -190,7 +191,9 @@ bool CacheDB::GetFileInfo(string const &FileName, bool const &DoControl, bool co || (DoContents && LoadContents(GenContentsOnly) == false) || (DoMD5 && GetMD5(false) == false) || (DoSHA1 && GetSHA1(false) == false) - || (DoSHA256 && GetSHA256(false) == false)) + || (DoSHA256 && GetSHA256(false) == false) + || (DoSHA512 && GetSHA512(false) == false) + ) { delete Fd; Fd = NULL; @@ -412,6 +415,37 @@ bool CacheDB::GetSHA256(bool const &GenOnly) return true; } /*}}}*/ +// CacheDB::GetSHA256 - Get the SHA256 hash /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool CacheDB::GetSHA512(bool const &GenOnly) +{ + // Try to read the control information out of the DB. + if ((CurStat.Flags & FlSHA512) == FlSHA512) + { + if (GenOnly == true) + return true; + + SHA512Res = bytes2hex(CurStat.SHA512, sizeof(CurStat.SHA512)); + return true; + } + + Stats.SHA512Bytes += CurStat.FileSize; + + if (Fd == NULL && OpenFile() == false) + { + return false; + } + SHA512Summation SHA512; + if (Fd->Seek(0) == false || SHA512.AddFD(Fd->Fd(),CurStat.FileSize) == false) + return false; + + SHA512Res = SHA512.Result(); + hex2bytes(CurStat.SHA512, SHA512Res.data(), sizeof(CurStat.SHA512)); + CurStat.Flags |= FlSHA512; + return true; +} + /*}}}*/ // CacheDB::Finish - Write back the cache structure /*{{{*/ // --------------------------------------------------------------------- /* */ diff --git a/ftparchive/cachedb.h b/ftparchive/cachedb.h index 0ba80909a..15e796325 100644 --- a/ftparchive/cachedb.h +++ b/ftparchive/cachedb.h @@ -70,10 +70,13 @@ class CacheDB bool GetMD5(bool const &GenOnly); bool GetSHA1(bool const &GenOnly); bool GetSHA256(bool const &GenOnly); + bool GetSHA512(bool const &GenOnly); // Stat info stored in the DB, Fixed types since it is written to disk. enum FlagList {FlControl = (1<<0),FlMD5=(1<<1),FlContents=(1<<2), - FlSize=(1<<3), FlSHA1=(1<<4), FlSHA256=(1<<5)}; + FlSize=(1<<3), FlSHA1=(1<<4), FlSHA256=(1<<5), + FlSHA512=(1<<6)}; + struct StatStore { uint32_t Flags; @@ -82,6 +85,7 @@ class CacheDB uint8_t MD5[16]; uint8_t SHA1[20]; uint8_t SHA256[32]; + uint8_t SHA512[64]; } CurStat; struct StatStore OldStat; @@ -98,6 +102,7 @@ class CacheDB string MD5Res; string SHA1Res; string SHA256Res; + string SHA512Res; // Runtime statistics struct Stats @@ -106,14 +111,21 @@ class CacheDB double MD5Bytes; double SHA1Bytes; double SHA256Bytes; + double SHA512Bytes; unsigned long Packages; unsigned long Misses; unsigned long DeLinkBytes; 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; @@ -125,7 +137,7 @@ class CacheDB bool SetFile(string const &FileName,struct stat St,FileFd *Fd); bool GetFileInfo(string const &FileName, bool const &DoControl, bool const &DoContents, bool const &GenContentsOnly, - bool const &DoMD5, bool const &DoSHA1, bool const &DoSHA256, bool const &checkMtime = false); + bool const &DoMD5, bool const &DoSHA1, bool const &DoSHA256, bool const &DoSHA512, bool const &checkMtime = false); bool Finish(); bool Clean(); diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc index 7837ce6ce..9741aec78 100644 --- a/ftparchive/writer.cc +++ b/ftparchive/writer.cc @@ -19,8 +19,7 @@ #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> @@ -64,6 +63,7 @@ FTWScanner::FTWScanner(string const &Arch): Arch(Arch) DoMD5 = _config->FindB("APT::FTPArchive::MD5",true); DoSHA1 = _config->FindB("APT::FTPArchive::SHA1",true); DoSHA256 = _config->FindB("APT::FTPArchive::SHA256",true); + DoSHA512 = _config->FindB("APT::FTPArchive::SHA512",true); } /*}}}*/ // FTWScanner::Scanner - FTW Scanner /*{{{*/ @@ -316,6 +316,7 @@ PackagesWriter::PackagesWriter(string const &DB,string const &Overrides,string c DoMD5 = _config->FindB("APT::FTPArchive::Packages::MD5",DoMD5); DoSHA1 = _config->FindB("APT::FTPArchive::Packages::SHA1",DoSHA1); DoSHA256 = _config->FindB("APT::FTPArchive::Packages::SHA256",DoSHA256); + DoSHA256 = _config->FindB("APT::FTPArchive::Packages::SHA512",true); DoAlwaysStat = _config->FindB("APT::FTPArchive::AlwaysStat", false); DoContents = _config->FindB("APT::FTPArchive::Contents",true); NoOverride = _config->FindB("APT::FTPArchive::NoOverrideMsg",false); @@ -370,7 +371,7 @@ bool FTWScanner::SetExts(string const &Vals) bool PackagesWriter::DoPackage(string FileName) { // Pull all the data we need form the DB - if (Db.GetFileInfo(FileName, true, DoContents, true, DoMD5, DoSHA1, DoSHA256, DoAlwaysStat) + if (Db.GetFileInfo(FileName, true, DoContents, true, DoMD5, DoSHA1, DoSHA256, DoSHA512, DoAlwaysStat) == false) { return false; @@ -446,6 +447,8 @@ bool PackagesWriter::DoPackage(string FileName) SetTFRewriteData(Changes[End++], "SHA1", Db.SHA1Res.c_str()); if (DoSHA256 == true) SetTFRewriteData(Changes[End++], "SHA256", Db.SHA256Res.c_str()); + if (DoSHA512 == true) + SetTFRewriteData(Changes[End++], "SHA512", Db.SHA512Res.c_str()); SetTFRewriteData(Changes[End++], "Filename", NewFileName.c_str()); SetTFRewriteData(Changes[End++], "Priority", OverItem->Priority.c_str()); SetTFRewriteData(Changes[End++], "Status", 0); @@ -623,6 +626,7 @@ bool SourcesWriter::DoPackage(string FileName) MD5Summation MD5; SHA1Summation SHA1; SHA256Summation SHA256; + SHA256Summation SHA512; if (DoMD5 == true) MD5.Add((unsigned char *)Start,BlkEnd - Start); @@ -630,6 +634,8 @@ bool SourcesWriter::DoPackage(string FileName) SHA1.Add((unsigned char *)Start,BlkEnd - Start); if (DoSHA256 == true) SHA256.Add((unsigned char *)Start,BlkEnd - Start); + if (DoSHA512 == true) + SHA512.Add((unsigned char *)Start,BlkEnd - Start); // Add an extra \n to the end, just in case *BlkEnd++ = '\n'; @@ -740,6 +746,12 @@ bool SourcesWriter::DoPackage(string FileName) << strippedName << "\n " << Tags.FindS("Checksums-Sha256"); string const ChecksumsSha256 = ostreamSha256.str(); + std::ostringstream ostreamSha512; + if (Tags.Exists("Checksums-Sha512")) + ostreamSha512 << "\n " << string(SHA512.Result()) << " " << St.st_size << " " + << strippedName << "\n " << Tags.FindS("Checksums-Sha512"); + string const ChecksumsSha512 = ostreamSha512.str(); + // Strip the DirStrip prefix from the FileName and add the PathPrefix string NewFileName; if (DirStrip.empty() == false && @@ -795,6 +807,8 @@ bool SourcesWriter::DoPackage(string FileName) SetTFRewriteData(Changes[End++],"Checksums-Sha1",ChecksumsSha1.c_str()); if (ChecksumsSha256.empty() == false) SetTFRewriteData(Changes[End++],"Checksums-Sha256",ChecksumsSha256.c_str()); + if (ChecksumsSha512.empty() == false) + SetTFRewriteData(Changes[End++],"Checksums-Sha512",ChecksumsSha512.c_str()); if (Directory != "./") SetTFRewriteData(Changes[End++],"Directory",Directory.c_str()); SetTFRewriteData(Changes[End++],"Priority",BestPrio.c_str()); @@ -1025,29 +1039,18 @@ bool ReleaseWriter::DoPackage(string FileName) CheckSums[NewFileName].size = fd.Size(); + Hashes hs; + hs.AddFD(fd.Fd(), 0, DoMD5, DoSHA1, DoSHA256, DoSHA512); if (DoMD5 == true) - { - MD5Summation MD5; - MD5.AddFD(fd.Fd(), fd.Size()); - CheckSums[NewFileName].MD5 = MD5.Result(); - fd.Seek(0); - } + CheckSums[NewFileName].MD5 = hs.MD5.Result(); if (DoSHA1 == true) - { - SHA1Summation SHA1; - SHA1.AddFD(fd.Fd(), fd.Size()); - CheckSums[NewFileName].SHA1 = SHA1.Result(); - fd.Seek(0); - } + CheckSums[NewFileName].SHA1 = hs.SHA1.Result(); if (DoSHA256 == true) - { - SHA256Summation SHA256; - SHA256.AddFD(fd.Fd(), fd.Size()); - CheckSums[NewFileName].SHA256 = SHA256.Result(); - } - + CheckSums[NewFileName].SHA256 = hs.SHA256.Result(); + if (DoSHA512 == true) + CheckSums[NewFileName].SHA512 = hs.SHA512.Result(); fd.Close(); - + return true; } @@ -1092,4 +1095,16 @@ void ReleaseWriter::Finish() (*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 %32ld %s\n", + (*I).second.SHA512.c_str(), + (*I).second.size, + (*I).first.c_str()); + } + } diff --git a/ftparchive/writer.h b/ftparchive/writer.h index ce0eab7af..c6026e954 100644 --- a/ftparchive/writer.h +++ b/ftparchive/writer.h @@ -63,6 +63,7 @@ class FTWScanner bool DoMD5; bool DoSHA1; bool DoSHA256; + bool DoSHA512; unsigned long DeLinkLimit; string InternalPrefix; @@ -195,6 +196,7 @@ protected: string MD5; string SHA1; string SHA256; + string SHA512; // Limited by FileFd::Size() unsigned long size; ~CheckSum() {}; diff --git a/methods/mirror.cc b/methods/mirror.cc index cb24a06cf..a3e60ab15 100644 --- a/methods/mirror.cc +++ b/methods/mirror.cc @@ -8,6 +8,7 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include <apt-pkg/aptconfiguration.h> #include <apt-pkg/fileutl.h> #include <apt-pkg/acquire-method.h> #include <apt-pkg/acquire-item.h> @@ -134,9 +135,24 @@ bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str) string fetch = BaseUri; fetch.replace(0,strlen("mirror://"),"http://"); +#if 0 // no need for this, the getArchitectures() will also include the main + // arch + // append main architecture + fetch += "?arch=" + _config->Find("Apt::Architecture"); +#endif + + // append all architectures + std::vector<std::string> vec = APT::Configuration::getArchitectures(); + for (std::vector<std::string>::const_iterator I = vec.begin(); + I != vec.end(); I++) + if (I == vec.begin()) + fetch += "?arch" + (*I); + else + fetch += "&arch=" + (*I); + // append the dist as a query string if (Dist != "") - fetch += "?dist=" + Dist; + fetch += "&dist=" + Dist; if(Debug) clog << "MirrorMethod::DownloadMirrorFile(): '" << fetch << "'" diff --git a/po/apt-all.pot b/po/apt-all.pot index dd9d75977..245ffce91 100644 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-26 12:05+0200\n" +"POT-Creation-Date: 2011-07-14 11:38+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -154,7 +154,7 @@ msgstr "" #: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589 -#: cmdline/apt-get.cc:3220 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:3125 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "%s is already the newest version.\n" msgstr "" -#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2088 cmdline/apt-mark.cc:59 +#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59 #, c-format msgid "%s set to manually installed.\n" msgstr "" @@ -835,8 +835,8 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2499 -#: cmdline/apt-get.cc:2502 +#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492 +#: cmdline/apt-get.cc:2495 #, c-format msgid "Couldn't determine free space in %s" msgstr "" @@ -870,7 +870,7 @@ msgstr "" msgid "Do you want to continue [Y/n]? " msgstr "" -#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2564 apt-pkg/algorithms.cc:1438 +#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1438 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" @@ -879,7 +879,7 @@ msgstr "" msgid "Some files failed to download" msgstr "" -#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2576 +#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569 msgid "Download complete and in download only mode" msgstr "" @@ -915,31 +915,31 @@ msgstr[1] "" msgid "Note: This is done automatic and on purpose by dpkg." msgstr "" -#: cmdline/apt-get.cc:1505 +#: cmdline/apt-get.cc:1497 #, c-format msgid "Ignore unavailable target release '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1537 +#: cmdline/apt-get.cc:1529 #, c-format msgid "Picking '%s' as source package instead of '%s'\n" msgstr "" #. if (VerTag.empty() == false && Last == 0) -#: cmdline/apt-get.cc:1575 +#: cmdline/apt-get.cc:1567 #, c-format msgid "Ignore unavailable version '%s' of package '%s'" msgstr "" -#: cmdline/apt-get.cc:1591 +#: cmdline/apt-get.cc:1583 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1653 +#: cmdline/apt-get.cc:1645 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1748 +#: cmdline/apt-get.cc:1740 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -955,15 +955,15 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1751 cmdline/apt-get.cc:1921 +#: cmdline/apt-get.cc:1743 cmdline/apt-get.cc:1913 msgid "The following information may help to resolve the situation:" msgstr "" -#: cmdline/apt-get.cc:1755 +#: cmdline/apt-get.cc:1747 msgid "Internal Error, AutoRemover broke stuff" msgstr "" -#: cmdline/apt-get.cc:1762 +#: cmdline/apt-get.cc:1754 msgid "" "The following package was automatically installed and is no longer required:" msgid_plural "" @@ -972,7 +972,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: cmdline/apt-get.cc:1766 +#: cmdline/apt-get.cc:1758 #, c-format msgid "%lu package was automatically installed and is no longer required.\n" msgid_plural "" @@ -980,25 +980,25 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: cmdline/apt-get.cc:1768 +#: cmdline/apt-get.cc:1760 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1787 +#: cmdline/apt-get.cc:1779 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1886 +#: cmdline/apt-get.cc:1878 msgid "You might want to run 'apt-get -f install' to correct these:" msgstr "" -#: cmdline/apt-get.cc:1890 +#: cmdline/apt-get.cc:1882 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -#: cmdline/apt-get.cc:1906 +#: cmdline/apt-get.cc:1898 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -1006,80 +1006,80 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1924 +#: cmdline/apt-get.cc:1916 msgid "Broken packages" msgstr "" -#: cmdline/apt-get.cc:1950 +#: cmdline/apt-get.cc:1942 msgid "The following extra packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:2040 +#: cmdline/apt-get.cc:2032 msgid "Suggested packages:" msgstr "" -#: cmdline/apt-get.cc:2041 +#: cmdline/apt-get.cc:2033 msgid "Recommended packages:" msgstr "" -#: cmdline/apt-get.cc:2083 +#: cmdline/apt-get.cc:2075 #, c-format msgid "Couldn't find package %s" msgstr "" -#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:61 +#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61 #, c-format msgid "%s set to automatically installed.\n" msgstr "" -#: cmdline/apt-get.cc:2098 cmdline/apt-mark.cc:105 +#: cmdline/apt-get.cc:2090 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:2114 +#: cmdline/apt-get.cc:2106 msgid "Calculating upgrade... " msgstr "" -#: cmdline/apt-get.cc:2117 methods/ftp.cc:707 methods/connect.cc:111 +#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111 msgid "Failed" msgstr "" -#: cmdline/apt-get.cc:2122 +#: cmdline/apt-get.cc:2114 msgid "Done" msgstr "" -#: cmdline/apt-get.cc:2189 cmdline/apt-get.cc:2197 +#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2221 cmdline/apt-get.cc:2254 +#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246 msgid "Unable to lock the download directory" msgstr "" -#: cmdline/apt-get.cc:2305 +#: cmdline/apt-get.cc:2297 #, c-format msgid "Downloading %s %s" msgstr "" -#: cmdline/apt-get.cc:2361 +#: cmdline/apt-get.cc:2353 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:2401 cmdline/apt-get.cc:2713 +#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:2418 +#: cmdline/apt-get.cc:2411 #, c-format msgid "" "NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n" "%s\n" msgstr "" -#: cmdline/apt-get.cc:2423 +#: cmdline/apt-get.cc:2416 #, c-format msgid "" "Please use:\n" @@ -1087,141 +1087,120 @@ msgid "" "to retrieve the latest (possibly unreleased) updates to the package.\n" msgstr "" -#: cmdline/apt-get.cc:2476 +#: cmdline/apt-get.cc:2469 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" -#: cmdline/apt-get.cc:2513 +#: cmdline/apt-get.cc:2506 #, 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:2522 +#: cmdline/apt-get.cc:2515 #, 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:2527 +#: cmdline/apt-get.cc:2520 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2533 +#: cmdline/apt-get.cc:2526 #, c-format msgid "Fetch source %s\n" msgstr "" -#: cmdline/apt-get.cc:2571 +#: cmdline/apt-get.cc:2564 msgid "Failed to fetch some archives." msgstr "" -#: cmdline/apt-get.cc:2602 +#: cmdline/apt-get.cc:2595 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2614 +#: cmdline/apt-get.cc:2607 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2615 +#: cmdline/apt-get.cc:2608 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2637 +#: cmdline/apt-get.cc:2625 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2657 +#: cmdline/apt-get.cc:2645 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2676 +#: cmdline/apt-get.cc:2664 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: 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 +#: cmdline/apt-get.cc:2695 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2738 +#: cmdline/apt-get.cc:2715 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: 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 +#: cmdline/apt-get.cc:2766 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: 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 +#: cmdline/apt-get.cc:2819 #, c-format msgid "" -"%s dependency for %s cannot be satisfied because candidate version of " -"package %s can't satisfy version requirements" +"%s dependency for %s cannot be satisfied because no available versions of " +"package %s can satisfy version requirements" msgstr "" -#: cmdline/apt-get.cc:2957 +#: cmdline/apt-get.cc:2855 #, c-format -msgid "" -"%s dependency for %s cannot be satisfied because package %s has no candidate " -"version" +msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -#: cmdline/apt-get.cc:2980 +#: cmdline/apt-get.cc:2882 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2996 +#: cmdline/apt-get.cc:2898 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:3001 +#: cmdline/apt-get.cc:2903 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:3094 cmdline/apt-get.cc:3106 +#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008 #, c-format msgid "Changelog for %s (%s)" msgstr "" -#: cmdline/apt-get.cc:3225 +#: cmdline/apt-get.cc:3130 msgid "Supported modules:" msgstr "" -#: cmdline/apt-get.cc:3266 +#: cmdline/apt-get.cc:3171 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1267,7 +1246,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:3429 +#: cmdline/apt-get.cc:3333 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -1560,8 +1539,8 @@ msgstr "" #. Only warn if there is no sources.list file. #: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179 #: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204 -#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:104 -#: apt-pkg/init.cc:112 apt-pkg/clean.cc:33 apt-pkg/policy.cc:352 +#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:103 +#: apt-pkg/init.cc:111 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338 #: methods/mirror.cc:91 #, c-format msgid "Unable to read %s" @@ -1593,7 +1572,7 @@ msgstr "" #: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048 #: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158 -#: apt-pkg/pkgcachegen.cc:1320 +#: apt-pkg/pkgcachegen.cc:1304 msgid "Reading package lists" msgstr "" @@ -2128,57 +2107,57 @@ msgstr "" msgid "Selection %s not found" msgstr "" -#: apt-pkg/contrib/configuration.cc:465 +#: apt-pkg/contrib/configuration.cc:452 #, c-format msgid "Unrecognized type abbreviation: '%c'" msgstr "" -#: apt-pkg/contrib/configuration.cc:523 +#: apt-pkg/contrib/configuration.cc:510 #, c-format msgid "Opening configuration file %s" msgstr "" -#: apt-pkg/contrib/configuration.cc:691 +#: apt-pkg/contrib/configuration.cc:678 #, c-format msgid "Syntax error %s:%u: Block starts with no name." msgstr "" -#: apt-pkg/contrib/configuration.cc:710 +#: apt-pkg/contrib/configuration.cc:697 #, c-format msgid "Syntax error %s:%u: Malformed tag" msgstr "" -#: apt-pkg/contrib/configuration.cc:727 +#: apt-pkg/contrib/configuration.cc:714 #, c-format msgid "Syntax error %s:%u: Extra junk after value" msgstr "" -#: apt-pkg/contrib/configuration.cc:767 +#: apt-pkg/contrib/configuration.cc:754 #, c-format msgid "Syntax error %s:%u: Directives can only be done at the top level" msgstr "" -#: apt-pkg/contrib/configuration.cc:774 +#: apt-pkg/contrib/configuration.cc:761 #, c-format msgid "Syntax error %s:%u: Too many nested includes" msgstr "" -#: apt-pkg/contrib/configuration.cc:778 apt-pkg/contrib/configuration.cc:783 +#: apt-pkg/contrib/configuration.cc:765 apt-pkg/contrib/configuration.cc:770 #, c-format msgid "Syntax error %s:%u: Included from here" msgstr "" -#: apt-pkg/contrib/configuration.cc:787 +#: apt-pkg/contrib/configuration.cc:774 #, c-format msgid "Syntax error %s:%u: Unsupported directive '%s'" msgstr "" -#: apt-pkg/contrib/configuration.cc:790 +#: apt-pkg/contrib/configuration.cc:777 #, c-format msgid "Syntax error %s:%u: clear directive requires an option tree as argument" msgstr "" -#: apt-pkg/contrib/configuration.cc:840 +#: apt-pkg/contrib/configuration.cc:827 #, c-format msgid "Syntax error %s:%u: Extra junk at end of file" msgstr "" @@ -2639,12 +2618,12 @@ msgstr "" msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter." msgstr "" -#: apt-pkg/init.cc:147 +#: apt-pkg/init.cc:146 #, c-format msgid "Packaging system '%s' is not supported" msgstr "" -#: apt-pkg/init.cc:163 +#: apt-pkg/init.cc:162 msgid "Unable to determine a suitable packaging system type" msgstr "" @@ -2669,24 +2648,17 @@ msgstr "" msgid "The list of sources could not be read." msgstr "" -#: 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 +#: apt-pkg/policy.cc:375 #, c-format msgid "Invalid record in the preferences file %s, no Package header" msgstr "" -#: apt-pkg/policy.cc:411 +#: apt-pkg/policy.cc:397 #, c-format msgid "Did not understand pin type %s" msgstr "" -#: apt-pkg/policy.cc:419 +#: apt-pkg/policy.cc:405 msgid "No priority (or zero) specified for pin" msgstr "" @@ -2775,7 +2747,7 @@ msgstr "" msgid "Collecting File Provides" msgstr "" -#: apt-pkg/pkgcachegen.cc:1259 apt-pkg/pkgcachegen.cc:1266 +#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250 msgid "IO Error saving source cache" msgstr "" @@ -3063,111 +3035,111 @@ msgstr "" msgid "Can't select installed version from package %s as it is not installed" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:54 +#: apt-pkg/deb/dpkgpm.cc:53 #, c-format msgid "Installing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:55 apt-pkg/deb/dpkgpm.cc:848 +#: apt-pkg/deb/dpkgpm.cc:54 apt-pkg/deb/dpkgpm.cc:847 #, c-format msgid "Configuring %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:56 apt-pkg/deb/dpkgpm.cc:855 +#: apt-pkg/deb/dpkgpm.cc:55 apt-pkg/deb/dpkgpm.cc:854 #, c-format msgid "Removing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:57 +#: apt-pkg/deb/dpkgpm.cc:56 #, c-format msgid "Completely removing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:58 +#: apt-pkg/deb/dpkgpm.cc:57 #, c-format msgid "Noting disappearance of %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:59 +#: apt-pkg/deb/dpkgpm.cc:58 #, 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:653 #, c-format msgid "Directory '%s' missing" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:669 apt-pkg/deb/dpkgpm.cc:689 +#: apt-pkg/deb/dpkgpm.cc:668 apt-pkg/deb/dpkgpm.cc:688 #, c-format msgid "Could not open file '%s'" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:841 +#: apt-pkg/deb/dpkgpm.cc:840 #, c-format msgid "Preparing %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:842 +#: apt-pkg/deb/dpkgpm.cc:841 #, c-format msgid "Unpacking %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:847 +#: apt-pkg/deb/dpkgpm.cc:846 #, c-format msgid "Preparing to configure %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:849 +#: apt-pkg/deb/dpkgpm.cc:848 #, c-format msgid "Installed %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:854 +#: apt-pkg/deb/dpkgpm.cc:853 #, c-format msgid "Preparing for removal of %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:856 +#: apt-pkg/deb/dpkgpm.cc:855 #, c-format msgid "Removed %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:861 +#: apt-pkg/deb/dpkgpm.cc:860 #, c-format msgid "Preparing to completely remove %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:862 +#: apt-pkg/deb/dpkgpm.cc:861 #, c-format msgid "Completely removed %s" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1082 +#: apt-pkg/deb/dpkgpm.cc:1081 msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1113 +#: apt-pkg/deb/dpkgpm.cc:1112 msgid "Running dpkg" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1338 +#: apt-pkg/deb/dpkgpm.cc:1337 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:1342 msgid "dependency problems - leaving unconfigured" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1345 +#: apt-pkg/deb/dpkgpm.cc:1344 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:1350 msgid "" "No apport report written because the error message indicates a disk full " "error" @@ -3179,7 +3151,13 @@ msgid "" "error" msgstr "" -#: apt-pkg/deb/dpkgpm.cc:1364 +#: apt-pkg/deb/dpkgpm.cc:1364 apt-pkg/deb/dpkgpm.cc:1370 +msgid "" +"No apport report written because the error message indicates an issue on the " +"local system" +msgstr "" + +#: apt-pkg/deb/dpkgpm.cc:1391 msgid "" "No apport report written because the error message indicates a dpkg I/O error" msgstr "" diff --git a/po/makefile b/po/makefile index 9f8b7b22e..d2fb8d280 100644 --- a/po/makefile +++ b/po/makefile @@ -55,7 +55,11 @@ $(PACKAGE)-all.pot: $(POTFILES) $(LANG_POFILES) : $(PO_DOMAINS)/%.po : $(PACKAGE)-all.pot printf "%s " "Generating $@" echo $@ : $(notdir $@) $(PO)/$(call GETDOMAIN,$*).pot > $(PO)/$(call GETDOMAIN,$*)_$(notdir $@).d - $(MSGMERGE) $(notdir $@) $(PO)/$(call GETDOMAIN,$*).pot -o $@ + # thanks powerpc for segfaulting in msgmerge in the first run + # (but not the second) - the part "||.." should get removed + # once powerpc is a bit more stable + $(MSGMERGE) $(notdir $@) $(PO)/$(call GETDOMAIN,$*).pot -o $@ || \ + $(MSGMERGE) $(notdir $@) $(PO)/$(call GETDOMAIN,$*).pot -o $@ $(MOFILES) : $(PO_DOMAINS)/%.mo : $(PO_DOMAINS)/%.po printf "%s: " "Generating $(LOCALE)/$(notdir $*)/LC_MESSAGES/$(call GETDOMAIN,$*).mo" diff --git a/share/apt-auth-failure.note b/share/apt-auth-failure.note new file mode 100644 index 000000000..3e8a9e71d --- /dev/null +++ b/share/apt-auth-failure.note @@ -0,0 +1,11 @@ +_Name: Apt Authentication issue +Priority: High +Terminal: False +Command: gksu -- synaptic --non-interactive --update-at-startup --hide-main-window +GettextDomain: apt +_Description: Problem during package list update. + The package list update failed with a authentication failure. + This usually happens behind a network proxy server. Please try + to click on the "Run this action now" button to correct the problem or + update the list manually by running Update Manager and clicking + on "Check". diff --git a/share/ubuntu-archive.gpg b/share/ubuntu-archive.gpg Binary files differnew file mode 100644 index 000000000..2ce60d454 --- /dev/null +++ b/share/ubuntu-archive.gpg diff --git a/test/hash.cc b/test/hash.cc deleted file mode 100644 index cfdb4ea9d..000000000 --- a/test/hash.cc +++ /dev/null @@ -1,70 +0,0 @@ -#include <apt-pkg/md5.h> -#include <apt-pkg/sha1.h> -#include <apt-pkg/sha256.h> -#include <apt-pkg/strutl.h> -#include <iostream> - -using namespace std; - -template <class T> void Test(const char *In,const char *Out) -{ - T Sum; - Sum.Add(In); - cout << Sum.Result().Value() << endl; - if (stringcasecmp(Sum.Result().Value(),Out) != 0) - abort(); -} - -template <class T> void TestMill(const char *Out) -{ - T Sum; - - const unsigned char As[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; - unsigned Count = 1000000; - for (; Count != 0;) - { - if (Count >= 64) - { - Sum.Add(As,64); - Count -= 64; - } - else - { - Sum.Add(As,Count); - Count = 0; - } - } - - cout << Sum.Result().Value() << endl; - if (stringcasecmp(Sum.Result().Value(),Out) != 0) - abort(); -} - -int main() -{ - // From FIPS PUB 180-1 - Test<SHA1Summation>("abc","A9993E364706816ABA3E25717850C26C9CD0D89D"); - Test<SHA1Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - "84983E441C3BD26EBAAE4AA1F95129E5E54670F1"); - TestMill<SHA1Summation>("34AA973CD4C4DAA4F61EEB2BDBAD27316534016F"); - - // MD5 tests from RFC 1321 - Test<MD5Summation>("","d41d8cd98f00b204e9800998ecf8427e"); - Test<MD5Summation>("a","0cc175b9c0f1b6a831c399e269772661"); - Test<MD5Summation>("abc","900150983cd24fb0d6963f7d28e17f72"); - Test<MD5Summation>("message digest","f96b697d7cb7938d525a2f31aaf161d0"); - Test<MD5Summation>("abcdefghijklmnopqrstuvwxyz","c3fcd3d76192e4007dfb496cca67e13b"); - Test<MD5Summation>("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - "d174ab98d277d9f5a5611c2c9f419d9f"); - Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890", - "57edf4a22be3c955ac49da2e2107b67a"); - - // SHA-256, From FIPS 180-2 - Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", - "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1"); - - - return 0; -} - - diff --git a/test/integration/test-bug-596498-trusted-unsigned-repo b/test/integration/test-bug-596498-trusted-unsigned-repo new file mode 100755 index 000000000..6ebc4a3bb --- /dev/null +++ b/test/integration/test-bug-596498-trusted-unsigned-repo @@ -0,0 +1,47 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +buildsimplenativepackage 'cool' 'i386' '1.0' 'unstable' + +setupaptarchive + +aptgetupdate() { + rm -rf rootdir/var/lib/apt/ rootdir/var/cache/apt/*.bin + aptget update -qq +} + +PKGTEXT="$(aptget install cool --assume-no -d | head -n 7)" +DEBFILE='rootdir/etc/apt/sources.list.d/apt-test-unstable-deb.list' + +testequal "$PKGTEXT +Download complete and in download only mode" aptget install cool --assume-no -d + +sed -i -e 's#deb#deb [trusted=no]#' $DEBFILE +aptgetupdate + +testequal "$PKGTEXT +WARNING: The following packages cannot be authenticated! + cool +Install these packages without verification [y/N]? N +E: Some packages could not be authenticated" aptget install cool --assume-no -d + +find aptarchive/ \( -name 'Release.gpg' -o -name 'InRelease' \) -delete +sed -i -e 's#deb \[trusted=no\]#deb#' $DEBFILE +aptgetupdate + +testequal "$PKGTEXT +WARNING: The following packages cannot be authenticated! + cool +Install these packages without verification [y/N]? N +E: Some packages could not be authenticated" aptget install cool --assume-no -d + +sed -i -e 's#deb#deb [trusted=yes]#' $DEBFILE +aptgetupdate + +testequal "$PKGTEXT +Download complete and in download only mode" aptget install cool --assume-no -d diff --git a/test/integration/test-handling-broken-orgroups b/test/integration/test-handling-broken-orgroups index d88ad0000..20b314074 100755 --- a/test/integration/test-handling-broken-orgroups +++ b/test/integration/test-handling-broken-orgroups @@ -58,7 +58,7 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: coolstuff-broken : Depends: cool2 but it is not installable or stuff2 but it is not installable -E: Broken packages' aptget install coolstuff-broken -s +E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-broken -s testequal 'Reading package lists... Building dependency tree... @@ -105,4 +105,4 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: coolstuff-provided-broken : Depends: cool2 but it is not installable or stuff-abi-2 -E: Broken packages' aptget install coolstuff-provided-broken -s +E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-provided-broken -s diff --git a/test/integration/test-release-candidate-switching b/test/integration/test-release-candidate-switching index b6dbe99db..0970cb935 100755 --- a/test/integration/test-release-candidate-switching +++ b/test/integration/test-release-candidate-switching @@ -416,4 +416,4 @@ The following information may help to resolve the situation: The following packages have unmet dependencies: uninstallablepkg : Depends: libmtp8 (>= 10:0.20.1) but it is not going to be installed Depends: amarok-utils (= 2.3.2-2+exp) but 2.3.1-1+sid is to be installed -E: Broken packages" aptget install uninstallablepkg/experimental --trivial-only -V -q=0 +E: Unable to correct problems, you have held broken packages." aptget install uninstallablepkg/experimental --trivial-only -V -q=0 diff --git a/test/libapt/hashsums_test.cc b/test/libapt/hashsums_test.cc new file mode 100644 index 000000000..2cb71cc38 --- /dev/null +++ b/test/libapt/hashsums_test.cc @@ -0,0 +1,156 @@ +#include <apt-pkg/md5.h> +#include <apt-pkg/sha1.h> +#include <apt-pkg/sha2.h> +#include <apt-pkg/strutl.h> +#include <apt-pkg/hashes.h> +#include <iostream> + +#include <stdio.h> + +#include "assert.h" + +template <class T> void Test(const char *In,const char *Out) +{ + T Sum; + Sum.Add(In); + equals(Sum.Result().Value(), Out); +} + +template <class T> void TestMill(const char *Out) +{ + T Sum; + + const unsigned char As[] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; + unsigned Count = 1000000; + for (; Count != 0;) + { + if (Count >= 64) + { + Sum.Add(As,64); + Count -= 64; + } + else + { + Sum.Add(As,Count); + Count = 0; + } + } + + if (stringcasecmp(Sum.Result().Value(), Out) != 0) + abort(); +} + +int main(int argc, char** argv) +{ + // From FIPS PUB 180-1 + Test<SHA1Summation>("","da39a3ee5e6b4b0d3255bfef95601890afd80709"); + Test<SHA1Summation>("abc","a9993e364706816aba3e25717850c26c9cd0d89d"); + Test<SHA1Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + "84983e441c3bd26ebaae4aa1f95129e5e54670f1"); + TestMill<SHA1Summation>("34aa973cd4c4daa4f61eeb2bdbad27316534016f"); + + // MD5 tests from RFC 1321 + Test<MD5Summation>("","d41d8cd98f00b204e9800998ecf8427e"); + Test<MD5Summation>("a","0cc175b9c0f1b6a831c399e269772661"); + Test<MD5Summation>("abc","900150983cd24fb0d6963f7d28e17f72"); + Test<MD5Summation>("message digest","f96b697d7cb7938d525a2f31aaf161d0"); + Test<MD5Summation>("abcdefghijklmnopqrstuvwxyz","c3fcd3d76192e4007dfb496cca67e13b"); + Test<MD5Summation>("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", + "d174ab98d277d9f5a5611c2c9f419d9f"); + Test<MD5Summation>("12345678901234567890123456789012345678901234567890123456789012345678901234567890", + "57edf4a22be3c955ac49da2e2107b67a"); + + // SHA-256, From FIPS 180-2 + Test<SHA256Summation>("", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"); + Test<SHA256Summation>("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1"); + + // SHA-512 + Test<SHA512Summation>("", + "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce" + "47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"); + Test<SHA512Summation>( + "abc", + "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a" + "2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f"); + + + Test<MD5Summation>("The quick brown fox jumps over the lazy dog", "9e107d9d372bb6826bd81d3542a419d6"); + Test<MD5Summation>("The quick brown fox jumps over the lazy dog.", "e4d909c290d0fb1ca068ffaddf22cbd0"); + Test<SHA1Summation>("The quick brown fox jumps over the lazy dog", "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"); + Test<SHA1Summation>("The quick brown fox jumps over the lazy cog", "de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3"); + Test<SHA256Summation>("The quick brown fox jumps over the lazy dog", "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592"); + Test<SHA256Summation>("The quick brown fox jumps over the lazy dog.", "ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c"); + Test<SHA512Summation>("The quick brown fox jumps over the lazy dog", "07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb64" + "2e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6"); + Test<SHA512Summation>("The quick brown fox jumps over the lazy dog.", "91ea1245f20d46ae9a037a989f54f1f790f0a47607eeb8a14d12890cea77a1bb" + "c6c7ed9cf205e67b7f2b8fd4c7dfd3a7a8617e45f3c463d481c7e586c39ac1ed"); + + FILE* fd = fopen(argv[1], "r"); + if (fd == NULL) { + std::cerr << "Can't open file for 1. testing: " << argv[1] << std::endl; + return 1; + } + { + Hashes hashes; + hashes.AddFD(fileno(fd)); + equals(argv[2], hashes.MD5.Result().Value()); + equals(argv[3], hashes.SHA1.Result().Value()); + equals(argv[4], hashes.SHA256.Result().Value()); + equals(argv[5], hashes.SHA512.Result().Value()); + } + fseek(fd, 0L, SEEK_END); + unsigned long sz = ftell(fd); + fseek(fd, 0L, SEEK_SET); + { + Hashes hashes; + hashes.AddFD(fileno(fd), sz); + equals(argv[2], hashes.MD5.Result().Value()); + equals(argv[3], hashes.SHA1.Result().Value()); + equals(argv[4], hashes.SHA256.Result().Value()); + equals(argv[5], hashes.SHA512.Result().Value()); + } + fseek(fd, 0L, SEEK_SET); + { + MD5Summation md5; + md5.AddFD(fileno(fd)); + equals(argv[2], md5.Result().Value()); + } + fseek(fd, 0L, SEEK_SET); + { + SHA1Summation sha1; + sha1.AddFD(fileno(fd)); + equals(argv[3], sha1.Result().Value()); + } + fseek(fd, 0L, SEEK_SET); + { + SHA256Summation sha2; + sha2.AddFD(fileno(fd)); + equals(argv[4], sha2.Result().Value()); + } + fseek(fd, 0L, SEEK_SET); + { + SHA512Summation sha2; + sha2.AddFD(fileno(fd)); + equals(argv[5], sha2.Result().Value()); + } + fclose(fd); + + // test HashString code + { + HashString sha2("SHA256", argv[4]); + equals(sha2.VerifyFile(argv[1]), true); + } + { + HashString sha2("SHA512", argv[5]); + equals(sha2.VerifyFile(argv[1]), true); + } + { + HashString sha2("SHA256:"+string(argv[4])); + equals(sha2.VerifyFile(argv[1]), true); + } + + return 0; +} + + diff --git a/test/libapt/makefile b/test/libapt/makefile index fec928ad2..a8acabd8e 100644 --- a/test/libapt/makefile +++ b/test/libapt/makefile @@ -47,6 +47,12 @@ 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 diff --git a/test/libapt/run-tests b/test/libapt/run-tests index 4b71c2097..0eea6d4f8 100755 --- a/test/libapt/run-tests +++ b/test/libapt/run-tests @@ -53,6 +53,13 @@ do "${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 fi echo -n "Testing with \033[1;35m${name}\033[0m ... " diff --git a/test/pre-upload-check.py b/test/pre-upload-check.py index f9da8f941..e79c8e800 100755 --- a/test/pre-upload-check.py +++ b/test/pre-upload-check.py @@ -115,7 +115,7 @@ 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/ + bzr branch http://people.ubuntu.com/~mvo/bzr/apt/apt-auth-test-suit/ """ # some class wide data |