summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.bzr-builddeb.moved/default.conf2
-rw-r--r--Makefile1
-rw-r--r--apt-pkg/acquire-item.cc138
-rw-r--r--apt-pkg/acquire-item.h16
-rw-r--r--apt-pkg/acquire-method.cc21
-rw-r--r--apt-pkg/acquire-method.h15
-rw-r--r--apt-pkg/algorithms.cc3
-rw-r--r--apt-pkg/deb/debsystem.cc3
-rw-r--r--apt-pkg/deb/dpkgpm.cc184
-rw-r--r--apt-pkg/deb/dpkgpm.h5
-rw-r--r--apt-pkg/init.cc3
-rw-r--r--apt-pkg/pkgrecords.cc4
-rw-r--r--apt-pkg/tagfile.cc2
-rw-r--r--cmdline/apt-cache.cc4
-rw-r--r--cmdline/apt-get.cc28
-rwxr-xr-xcmdline/apt-key15
-rwxr-xr-xcmdline/apt-report-mirror-failure24
-rw-r--r--cmdline/makefile6
-rw-r--r--debian/README.ubuntu-dev6
-rw-r--r--debian/apt.conf.autoremove12
-rw-r--r--debian/apt.conf.ubuntu3
-rw-r--r--debian/apt.cron.daily72
-rw-r--r--debian/apt.dirs1
-rw-r--r--debian/apt.postinst4
-rw-r--r--debian/changelog1443
-rw-r--r--debian/control9
-rw-r--r--debian/copyright142
-rwxr-xr-xdebian/rules10
-rw-r--r--doc/examples/configure-index20
-rw-r--r--doc/examples/sources.list12
-rw-r--r--methods/connect.cc21
-rw-r--r--methods/copy.cc1
-rw-r--r--methods/http.cc18
-rw-r--r--methods/http.h6
-rw-r--r--methods/http_main.cc20
-rw-r--r--methods/makefile10
-rw-r--r--methods/mirror.cc330
-rw-r--r--methods/mirror.h52
-rw-r--r--mirror-failure.py23
-rw-r--r--po/ar.po550
-rw-r--r--po/ku.po548
-rw-r--r--po/uk.po552
-rw-r--r--share/apt-auth-failure.note11
-rw-r--r--share/debian-archive.gpg.movedbin0 -> 2717 bytes
-rw-r--r--share/makefile12
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages25
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release13
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg7
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages25
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release13
-rw-r--r--test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg7
-rw-r--r--test/authReliability/sources.list.failure2
-rw-r--r--test/authReliability/sources.list.good2
-rwxr-xr-xtest/pre-upload-check.py104
54 files changed, 3432 insertions, 1128 deletions
diff --git a/.bzr-builddeb.moved/default.conf b/.bzr-builddeb.moved/default.conf
new file mode 100644
index 000000000..3a08d6070
--- /dev/null
+++ b/.bzr-builddeb.moved/default.conf
@@ -0,0 +1,2 @@
+[BUILDDEB]
+native = True
diff --git a/Makefile b/Makefile
index 664caca41..8e3ed7e3c 100644
--- a/Makefile
+++ b/Makefile
@@ -15,6 +15,7 @@ all headers library clean veryclean binary program doc dirs:
$(MAKE) -C apt-inst $@
$(MAKE) -C methods $@
$(MAKE) -C cmdline $@
+ $(MAKE) -C share $@
$(MAKE) -C ftparchive $@
$(MAKE) -C dselect $@
$(MAKE) -C doc $@
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index 39ae327cb..a65630afd 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -63,6 +63,7 @@ void pkgAcquire::Item::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
{
Status = StatIdle;
ErrorText = LookupTag(Message,"Message");
+ UsedMirror = LookupTag(Message,"UsedMirror");
if (QueueCounter <= 1)
{
/* This indicates that the file is not available right now but might
@@ -75,10 +76,17 @@ void pkgAcquire::Item::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
Dequeue();
return;
}
-
+
Status = StatError;
Dequeue();
}
+
+ // report mirror failure back to LP if we actually use a mirror
+ string FailReason = LookupTag(Message, "FailReason");
+ if(FailReason.size() != 0)
+ ReportMirrorFailure(FailReason);
+ else
+ ReportMirrorFailure(ErrorText);
}
/*}}}*/
// Acquire::Item::Start - Item has begun to download /*{{{*/
@@ -100,7 +108,7 @@ void pkgAcquire::Item::Done(string Message,unsigned long Size,string Hash,
{
// We just downloaded something..
string FileName = LookupTag(Message,"Filename");
- // we only inform the Log class if it was actually not a local thing
+ UsedMirror = LookupTag(Message,"UsedMirror");
if (Complete == false && !Local && FileName == DestFile)
{
if (Owner->Log != 0)
@@ -109,7 +117,6 @@ void pkgAcquire::Item::Done(string Message,unsigned long Size,string Hash,
if (FileSize == 0)
FileSize= Size;
-
Status = StatDone;
ErrorText = string();
Owner->Dequeue(this);
@@ -131,6 +138,49 @@ void pkgAcquire::Item::Rename(string From,string To)
}
}
/*}}}*/
+
+void pkgAcquire::Item::ReportMirrorFailure(string FailCode)
+{
+ // we only act if a mirror was used at all
+ if(UsedMirror.empty())
+ return;
+#if 0
+ std::cerr << "\nReportMirrorFailure: "
+ << UsedMirror
+ << " Uri: " << DescURI()
+ << " FailCode: "
+ << FailCode << std::endl;
+#endif
+ const char *Args[40];
+ unsigned int i = 0;
+ string report = _config->Find("Methods::Mirror::ProblemReporting",
+ "/usr/lib/apt/apt-report-mirror-failure");
+ if(!FileExists(report))
+ return;
+ Args[i++] = report.c_str();
+ Args[i++] = UsedMirror.c_str();
+ Args[i++] = DescURI().c_str();
+ Args[i++] = FailCode.c_str();
+ Args[i++] = NULL;
+ pid_t pid = ExecFork();
+ if(pid < 0)
+ {
+ _error->Error("ReportMirrorFailure Fork failed");
+ return;
+ }
+ else if(pid == 0)
+ {
+ execvp(Args[0], (char**)Args);
+ std::cerr << "Could not exec " << Args[0] << std::endl;
+ _exit(100);
+ }
+ if(!ExecWait(pid, "report-mirror-failure"))
+ {
+ _error->Warning("Couldn't report problem to '%s'",
+ _config->Find("Methods::Mirror::ProblemReporting").c_str());
+ }
+}
+
// AcqDiffIndex::AcqDiffIndex - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* Get the DiffIndex file first and see if there are patches availabe
@@ -578,7 +628,6 @@ string pkgAcqIndex::Custom600Headers()
struct stat Buf;
if (stat(Final.c_str(),&Buf) != 0)
return "\nIndex-File: true";
-
return "\nIndex-File: true\nLast-Modified: " + TimeRFC1123(Buf.st_mtime);
}
/*}}}*/
@@ -643,6 +692,7 @@ void pkgAcqIndex::Done(string Message,unsigned long Size,string Hash,
Status = StatAuthError;
ErrorText = _("Hash Sum mismatch");
Rename(DestFile,DestFile + ".FAILED");
+ ReportMirrorFailure("HashChecksumFailure");
return;
}
// Done, move it into position
@@ -833,8 +883,9 @@ void pkgAcqMetaSig::Done(string Message,unsigned long Size,string MD5,
Rename(LastGoodSig, DestFile);
// queue a pkgAcqMetaIndex to be verified against the sig we just retrieved
- new pkgAcqMetaIndex(Owner, MetaIndexURI, MetaIndexURIDesc, MetaIndexShortDesc,
- DestFile, IndexTargets, MetaIndexParser);
+ new pkgAcqMetaIndex(Owner, MetaIndexURI, MetaIndexURIDesc,
+ MetaIndexShortDesc, DestFile, IndexTargets,
+ MetaIndexParser);
}
/*}}}*/
@@ -847,7 +898,7 @@ void pkgAcqMetaSig::Failed(string Message,pkgAcquire::MethodConfig *Cnf)/*{{{*/
{
Item::Failed(Message,Cnf);
// move the sigfile back on transient network failures
- if(FileExists(DestFile))
+ if(FileExists(LastGoodSig))
Rename(LastGoodSig,Final);
// set the status back to , Item::Failed likes to reset it
@@ -922,6 +973,15 @@ void pkgAcqMetaIndex::Done(string Message,unsigned long Size,string Hash, /*{{{*
if (AuthPass == true)
{
AuthDone(Message);
+
+ // all cool, move Release file into place
+ Complete = true;
+
+ string FinalFile = _config->FindDir("Dir::State::lists");
+ FinalFile += URItoFileName(RealURI);
+ Rename(DestFile,FinalFile);
+ chmod(FinalFile.c_str(),0644);
+ DestFile = FinalFile;
}
else
{
@@ -973,22 +1033,15 @@ void pkgAcqMetaIndex::RetrievalDone(string Message) /*{{{*/
return;
}
- // see if the download was a IMSHit
+ // make sure to verify against the right file on I-M-S hit
IMSHit = StringToBool(LookupTag(Message,"IMS-Hit"),false);
+ if(IMSHit)
+ {
+ string FinalFile = _config->FindDir("Dir::State::lists");
+ FinalFile += URItoFileName(RealURI);
+ DestFile = FinalFile;
+ }
Complete = true;
-
- string FinalFile = _config->FindDir("Dir::State::lists");
- FinalFile += URItoFileName(RealURI);
-
- // If we get a IMS hit we can remove the empty file in partial
- // othersie we move the file in place
- if (IMSHit)
- unlink(DestFile.c_str());
- else
- Rename(DestFile,FinalFile);
-
- chmod(FinalFile.c_str(),0644);
- DestFile = FinalFile;
}
/*}}}*/
void pkgAcqMetaIndex::AuthDone(string Message) /*{{{*/
@@ -1018,7 +1071,6 @@ void pkgAcqMetaIndex::AuthDone(string Message) /*{{{*/
QueueIndexes(true);
// Done, move signature file into position
-
string VerifiedSigFile = _config->FindDir("Dir::State::lists") +
URItoFileName(RealURI) + ".gpg";
Rename(SigFile,VerifiedSigFile);
@@ -1059,7 +1111,7 @@ void pkgAcqMetaIndex::QueueIndexes(bool verify) /*{{{*/
// Queue Packages file (either diff or full packages files, depending
// on the users option)
- if(_config->FindB("Acquire::PDiffs",true) == true)
+ if(_config->FindB("Acquire::PDiffs",false) == true)
new pkgAcqDiffIndex(Owner, (*Target)->URI, (*Target)->Description,
(*Target)->ShortDesc, ExpectedIndexHash);
else
@@ -1162,30 +1214,30 @@ void pkgAcqMetaIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
{
if (AuthPass == true)
{
- // if we fail the authentication but got the file via a IMS-Hit
- // this means that the file wasn't downloaded and that it might be
- // just stale (server problem, proxy etc). we delete what we have
- // queue it again without i-m-s
- // alternatively we could just unlink the file and let the user try again
- if (IMSHit)
+ // gpgv method failed, if we have a good signature
+ string LastGoodSigFile = _config->FindDir("Dir::State::lists") +
+ "partial/" + URItoFileName(RealURI) + ".gpg.reverify";
+ if(FileExists(LastGoodSigFile))
{
- Complete = false;
- Local = false;
- AuthPass = false;
- unlink(DestFile.c_str());
-
- DestFile = _config->FindDir("Dir::State::lists") + "partial/";
- DestFile += URItoFileName(RealURI);
- Desc.URI = RealURI;
- QueueURI(Desc);
+ string VerifiedSigFile = _config->FindDir("Dir::State::lists") +
+ URItoFileName(RealURI) + ".gpg";
+ Rename(LastGoodSigFile,VerifiedSigFile);
+ Status = StatTransientNetworkError;
+ _error->Warning(_("A error occurred during the signature "
+ "verification. The repository is not updated "
+ "and the previous index files will be used."
+ "GPG error: %s: %s\n"),
+ Desc.Description.c_str(),
+ LookupTag(Message,"Message").c_str());
+ RunScripts("APT::Update::Auth-Failure");
return;
+ } else {
+ _error->Warning(_("GPG error: %s: %s"),
+ Desc.Description.c_str(),
+ LookupTag(Message,"Message").c_str());
}
-
// gpgv method failed
- _error->Warning("GPG error: %s: %s",
- Desc.Description.c_str(),
- LookupTag(Message,"Message").c_str());
-
+ ReportMirrorFailure("GPGFailure");
}
// No Release file was present, or verification failed, so fall
diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h
index 36a926a0f..de657ecc4 100644
--- a/apt-pkg/acquire-item.h
+++ b/apt-pkg/acquire-item.h
@@ -142,6 +142,7 @@ class pkgAcquire::Item
* download progress indicator's overall statistics.
*/
bool Local;
+ string UsedMirror;
/** \brief The number of fetch queues into which this item has been
* inserted.
@@ -242,6 +243,17 @@ class pkgAcquire::Item
/** \return \b true if this object is being fetched from a trusted source. */
virtual bool IsTrusted() {return false;};
+
+ // report mirror problems
+ /** \brief Report mirror problem
+ *
+ * This allows reporting mirror failures back to a centralized
+ * server. The apt-report-mirror-failure script is called for this
+ *
+ * \param FailCode A short failure string that is send
+ */
+ void ReportMirrorFailure(string FailCode);
+
/** \brief Initialize an item.
*
@@ -543,7 +555,8 @@ class pkgAcqIndex : public pkgAcquire::Item
* (".bz2" is used if bzip2 is installed, ".gz" otherwise).
*/
pkgAcqIndex(pkgAcquire *Owner,string URI,string URIDesc,
- string ShortDesc, HashString ExpectedHash, string compressExt="");
+ string ShortDesc, HashString ExpectedHash,
+ string compressExt="");
};
/*}}}*/
/** \brief An acquire item that is responsible for fetching a {{{
@@ -612,7 +625,6 @@ class pkgAcqMetaSig : public pkgAcquire::Item
/** \brief The last good signature file */
string LastGoodSig;
-
/** \brief The fetch request that is currently being processed. */
pkgAcquire::ItemDesc Desc;
diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc
index fe066741c..3008c8d1a 100644
--- a/apt-pkg/acquire-method.cc
+++ b/apt-pkg/acquire-method.cc
@@ -96,12 +96,11 @@ void pkgAcqMethod::Fail(string Err,bool Transient)
}
char S[1024];
+ char *End = S;
if (Queue != 0)
{
- snprintf(S,sizeof(S)-50,"400 URI Failure\nURI: %s\n"
- "Message: %s %s\n",Queue->Uri.c_str(),Err.c_str(),
- FailExtra.c_str());
-
+ End += snprintf(S,sizeof(S)-50,"400 URI Failure\nURI: %s\n"
+ "Message: %s %s\n",Queue->Uri.c_str(), Err.c_str(), IP.c_str());
// Dequeue
FetchItem *Tmp = Queue;
Queue = Queue->Next;
@@ -110,10 +109,14 @@ void pkgAcqMethod::Fail(string Err,bool Transient)
QueueBack = Queue;
}
else
- snprintf(S,sizeof(S)-50,"400 URI Failure\nURI: <UNKNOWN>\n"
- "Message: %s %s\n",Err.c_str(),
- FailExtra.c_str());
-
+ {
+ End += snprintf(S,sizeof(S)-50,"400 URI Failure\nURI: <UNKNOWN>\n"
+ "Message: %s\n",Err.c_str());
+ }
+ if(FailReason.empty() == false)
+ End += snprintf(End,sizeof(S)-50 - (End - S),"FailReason: %s\n",FailReason.c_str());
+ if (UsedMirror.empty() == false)
+ End += snprintf(End,sizeof(S)-50 - (End - S),"UsedMirror: %s\n",UsedMirror.c_str());
// Set the transient flag
if (Transient == true)
strcat(S,"Transient-Failure: true\n\n");
@@ -184,6 +187,8 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
End += snprintf(End,sizeof(S)-50 - (End - S),"SHA1-Hash: %s\n",Res.SHA1Sum.c_str());
if (Res.SHA256Sum.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"SHA256-Hash: %s\n",Res.SHA256Sum.c_str());
+ if (UsedMirror.empty() == false)
+ End += snprintf(End,sizeof(S)-50 - (End - S),"UsedMirror: %s\n",UsedMirror.c_str());
if (Res.GPGVOutput.size() > 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"GPGVOutput:\n");
for (vector<string>::iterator I = Res.GPGVOutput.begin();
diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h
index fab77e664..99a4605b1 100644
--- a/apt-pkg/acquire-method.h
+++ b/apt-pkg/acquire-method.h
@@ -59,7 +59,9 @@ class pkgAcqMethod
vector<string> Messages;
FetchItem *Queue;
FetchItem *QueueBack;
- string FailExtra;
+ string FailReason;
+ string UsedMirror;
+ string IP;
// Handlers for messages
virtual bool Configuration(string Message);
@@ -68,14 +70,14 @@ class pkgAcqMethod
// Outgoing messages
void Fail(bool Transient = false);
inline void Fail(const char *Why, bool Transient = false) {Fail(string(Why),Transient);};
- void Fail(string Why, bool Transient = false);
- void URIStart(FetchResult &Res);
- void URIDone(FetchResult &Res,FetchResult *Alt = 0);
+ virtual void Fail(string Why, bool Transient = false);
+ virtual void URIStart(FetchResult &Res);
+ virtual void URIDone(FetchResult &Res,FetchResult *Alt = 0);
+
bool MediaFail(string Required,string Drive);
virtual void Exit() {};
public:
-
enum CnfFlags {SingleInstance = (1<<0),
Pipeline = (1<<1), SendConfig = (1<<2),
LocalOnly = (1<<3), NeedsCleanup = (1<<4),
@@ -87,7 +89,8 @@ class pkgAcqMethod
void Redirect(const string &NewURI);
int Run(bool Single = false);
- inline void SetFailExtraMsg(string Msg) {FailExtra = Msg;};
+ inline void SetFailReason(string Msg) {FailReason = Msg;};
+ inline void SetIP(string aIP) {IP = aIP;};
pkgAcqMethod(const char *Ver,unsigned long Flags = 0);
virtual ~pkgAcqMethod() {};
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index 34da745de..a3963d546 100644
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@ -1140,8 +1140,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
return _error->Error(_("Unable to correct problems, you have held broken packages."));
}
- // set the auto-flags (mvo: I'm not sure if we _really_ need this, but
- // I didn't managed
+ // set the auto-flags (mvo: I'm not sure if we _really_ need this)
pkgCache::PkgIterator I = Cache.PkgBegin();
for (;I.end() != true; I++) {
if (Cache[I].NewInstall() && !(Flags[I->ID] & PreInstalled)) {
diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc
index 59f826d96..089a465c1 100644
--- a/apt-pkg/deb/debsystem.cc
+++ b/apt-pkg/deb/debsystem.cc
@@ -18,7 +18,6 @@
#include <apt-pkg/error.h>
#include <apt-pkg/fileutl.h>
#include <apti18n.h>
-
#include <sys/types.h>
#include <unistd.h>
#include <dirent.h>
@@ -80,7 +79,7 @@ bool debSystem::Lock()
close(LockFD);
LockFD = -1;
return _error->Error(_("dpkg was interrupted, you must manually "
- "run 'dpkg --configure -a' to correct the problem. "));
+ "run 'sudo dpkg --configure -a' to correct the problem. "));
}
LockCount++;
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index f787f365e..3e23720e0 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -12,6 +12,7 @@
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/depcache.h>
+#include <apt-pkg/pkgrecords.h>
#include <apt-pkg/strutl.h>
#include <apti18n.h>
#include <apt-pkg/fileutl.h>
@@ -24,6 +25,7 @@
#include <sys/wait.h>
#include <signal.h>
#include <errno.h>
+#include <string.h>
#include <stdio.h>
#include <string.h>
#include <algorithm>
@@ -104,7 +106,7 @@ ionice(int PID)
/* */
pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache)
: pkgPackageManager(Cache), dpkgbuf_pos(0),
- term_out(NULL), PackagesDone(0), PackagesTotal(0)
+ term_out(NULL), PackagesDone(0), PackagesTotal(0), pkgFailures(0)
{
}
/*}}}*/
@@ -331,7 +333,6 @@ bool pkgDPkgPM::RunScriptsWithPkgs(const char *Cnf)
return true;
}
-
/*}}}*/
// DPkgPM::DoStdin - Read stdin and pass to slave pty /*{{{*/
// ---------------------------------------------------------------------
@@ -399,7 +400,7 @@ void pkgDPkgPM::ProcessDpkgStatusLine(int OutStatusFd, char *line)
'processing: trigproc: trigger'
*/
- char* list[5];
+ char* list[6];
// dpkg sends multiline error messages sometimes (see
// #374195 for a example. we should support this by
// either patching dpkg to not send multiline over the
@@ -447,6 +448,14 @@ void pkgDPkgPM::ProcessDpkgStatusLine(int OutStatusFd, char *line)
if(strncmp(action,"error",strlen("error")) == 0)
{
+ // urgs, sometime has ":" in its error string so that we
+ // end up with the error message split between list[3]
+ // and list[4], e.g. the message:
+ // "failed in buffer_write(fd) (10, ret=-1): backend dpkg-deb ..."
+ // concat them again
+ if( list[4] != NULL )
+ list[3][strlen(list[3])] = ':';
+
status << "pmerror:" << list[1]
<< ":" << (PackagesDone/float(PackagesTotal)*100.0)
<< ":" << list[3]
@@ -455,6 +464,8 @@ void pkgDPkgPM::ProcessDpkgStatusLine(int OutStatusFd, char *line)
write(OutStatusFd, status.str().c_str(), status.str().size());
if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
std::clog << "send: '" << status.str() << "'" << endl;
+ pkgFailures++;
+ WriteApportReport(list[1], list[3]);
return;
}
if(strncmp(action,"conffile",strlen("conffile")) == 0)
@@ -940,7 +951,6 @@ bool pkgDPkgPM::Go(int OutStatusFd)
signal(SIGHUP,old_SIGHUP);
return _error->Errno("waitpid","Couldn't wait for subprocess");
}
-
// wait for input or output here
FD_ZERO(&rfds);
if (!stdin_is_dev_null)
@@ -1027,3 +1037,169 @@ void pkgDPkgPM::Reset()
List.erase(List.begin(),List.end());
}
/*}}}*/
+// pkgDpkgPM::WriteApportReport - write out error report pkg failure /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+void pkgDPkgPM::WriteApportReport(const char *pkgpath, const char *errormsg)
+{
+ string pkgname, reportfile, srcpkgname, pkgver, arch;
+ string::size_type pos;
+ FILE *report;
+
+ if (_config->FindB("Dpkg::ApportFailureReport",true) == false)
+ {
+ std::clog << "configured to not write apport reports" << std::endl;
+ return;
+ }
+
+ // only report the first errors
+ if(pkgFailures > _config->FindI("APT::Apport::MaxReports", 3))
+ {
+ std::clog << _("No apport report written because MaxReports is reached already") << std::endl;
+ return;
+ }
+
+ // check if its not a follow up error
+ const char *needle = dgettext("dpkg", "dependency problems - leaving unconfigured");
+ if(strstr(errormsg, needle) != NULL) {
+ std::clog << _("No apport report written because the error message indicates its a followup error from a previous failure.") << std::endl;
+ return;
+ }
+
+ // do not report disk-full failures
+ if(strstr(errormsg, strerror(ENOSPC)) != NULL) {
+ std::clog << _("No apport report written because the error message indicates a disk full error") << std::endl;
+ return;
+ }
+
+ // do not report out-of-memory failures
+ if(strstr(errormsg, strerror(ENOMEM)) != 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;
+ return;
+ }
+
+ // get the pkgname and reportfile
+ pkgname = flNotDir(pkgpath);
+ pos = pkgname.find('_');
+ if(pos != string::npos)
+ pkgname = pkgname.substr(0, pos);
+
+ // find the package versin and source package name
+ pkgCache::PkgIterator Pkg = Cache.FindPkg(pkgname);
+ if (Pkg.end() == true)
+ return;
+ pkgCache::VerIterator Ver = Cache.GetCandidateVer(Pkg);
+ if (Ver.end() == true)
+ return;
+ pkgver = Ver.VerStr() == NULL ? "unknown" : Ver.VerStr();
+ pkgRecords Recs(Cache);
+ pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList());
+ srcpkgname = Parse.SourcePkg();
+ if(srcpkgname.empty())
+ srcpkgname = pkgname;
+
+ // if the file exists already, we check:
+ // - if it was reported already (touched by apport).
+ // If not, we do nothing, otherwise
+ // we overwrite it. This is the same behaviour as apport
+ // - if we have a report with the same pkgversion already
+ // then we skip it
+ reportfile = flCombine("/var/crash",pkgname+".0.crash");
+ if(FileExists(reportfile))
+ {
+ struct stat buf;
+ char strbuf[255];
+
+ // check atime/mtime
+ stat(reportfile.c_str(), &buf);
+ if(buf.st_mtime > buf.st_atime)
+ return;
+
+ // check if the existing report is the same version
+ report = fopen(reportfile.c_str(),"r");
+ while(fgets(strbuf, sizeof(strbuf), report) != NULL)
+ {
+ if(strstr(strbuf,"Package:") == strbuf)
+ {
+ char pkgname[255], version[255];
+ if(sscanf(strbuf, "Package: %s %s", pkgname, version) == 2)
+ if(strcmp(pkgver.c_str(), version) == 0)
+ {
+ fclose(report);
+ return;
+ }
+ }
+ }
+ fclose(report);
+ }
+
+ // now write the report
+ arch = _config->Find("APT::Architecture");
+ report = fopen(reportfile.c_str(),"w");
+ if(report == NULL)
+ return;
+ if(_config->FindB("DPkgPM::InitialReportOnly",false) == true)
+ chmod(reportfile.c_str(), 0);
+ else
+ chmod(reportfile.c_str(), 0600);
+ fprintf(report, "ProblemType: Package\n");
+ fprintf(report, "Architecture: %s\n", arch.c_str());
+ time_t now = time(NULL);
+ fprintf(report, "Date: %s" , ctime(&now));
+ fprintf(report, "Package: %s %s\n", pkgname.c_str(), pkgver.c_str());
+ fprintf(report, "SourcePackage: %s\n", srcpkgname.c_str());
+ fprintf(report, "ErrorMessage:\n %s\n", errormsg);
+
+ // ensure that the log is flushed
+ if(term_out)
+ fflush(term_out);
+
+ // attach terminal log it if we have it
+ string logfile_name = _config->FindFile("Dir::Log::Terminal");
+ if (!logfile_name.empty())
+ {
+ FILE *log = NULL;
+ char buf[1024];
+
+ fprintf(report, "DpkgTerminalLog:\n");
+ log = fopen(logfile_name.c_str(),"r");
+ if(log != NULL)
+ {
+ while( fgets(buf, sizeof(buf), log) != NULL)
+ fprintf(report, " %s", buf);
+ fclose(log);
+ }
+ }
+
+ // log the ordering
+ const char *ops_str[] = {"Install", "Configure","Remove","Purge"};
+ fprintf(report, "AptOrdering:\n");
+ for (vector<Item>::iterator I = List.begin(); I != List.end(); I++)
+ fprintf(report, " %s: %s\n", (*I).Pkg.Name(), ops_str[(*I).Op]);
+
+ // attach dmesg log (to learn about segfaults)
+ if (FileExists("/bin/dmesg"))
+ {
+ FILE *log = NULL;
+ char buf[1024];
+
+ fprintf(report, "Dmesg:\n");
+ log = popen("/bin/dmesg","r");
+ if(log != NULL)
+ {
+ while( fgets(buf, sizeof(buf), log) != NULL)
+ fprintf(report, " %s", buf);
+ fclose(log);
+ }
+ }
+ fclose(report);
+
+}
+ /*}}}*/
diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h
index ebc7e32bf..1675e9e74 100644
--- a/apt-pkg/deb/dpkgpm.h
+++ b/apt-pkg/deb/dpkgpm.h
@@ -31,6 +31,7 @@ class pkgDPkgPM : public pkgPackageManager
FILE *term_out;
protected:
+ int pkgFailures;
// progress reporting
struct DpkgState
@@ -47,6 +48,7 @@ class pkgDPkgPM : public pkgPackageManager
// the int is the state that is already done (e.g. a package that is
// going to be install is already in state "half-installed")
map<string,unsigned int> PackageOpsDone;
+
// progress reporting
unsigned int PackagesDone;
unsigned int PackagesTotal;
@@ -67,6 +69,9 @@ class pkgDPkgPM : public pkgPackageManager
bool RunScriptsWithPkgs(const char *Cnf);
bool SendV2Pkgs(FILE *F);
+ // apport integration
+ void WriteApportReport(const char *pkgpath, const char *errormsg);
+
// dpkg log
bool OpenLog();
bool CloseLog();
diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
index 63caade36..4e7c2cf87 100644
--- a/apt-pkg/init.cc
+++ b/apt-pkg/init.cc
@@ -51,6 +51,7 @@ bool pkgInitConfig(Configuration &Cnf)
Cnf.Set("Dir::State::lists","lists/");
Cnf.Set("Dir::State::cdroms","cdroms.list");
+ Cnf.Set("Dir::State::mirrors","mirrors/");
// Cache
Cnf.Set("Dir::Cache","var/cache/apt/");
@@ -73,7 +74,7 @@ bool pkgInitConfig(Configuration &Cnf)
// State
Cnf.Set("Dir::Log","var/log/apt");
Cnf.Set("Dir::Log::Terminal","term.log");
-
+
// Translation
Cnf.Set("APT::Acquire::Translation", "environment");
diff --git a/apt-pkg/pkgrecords.cc b/apt-pkg/pkgrecords.cc
index e506de73a..a5dab22ff 100644
--- a/apt-pkg/pkgrecords.cc
+++ b/apt-pkg/pkgrecords.cc
@@ -23,8 +23,8 @@
pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache),
Files(Cache.HeaderP->PackageFileCount)
{
- for (pkgCache::PkgFileIterator I = Cache.FileBegin();
- I.end() == false; I++)
+ for (pkgCache::PkgFileIterator I = Cache.FileBegin();
+ I.end() == false; I++)
{
const pkgIndexFile::Type *Type = pkgIndexFile::Type::GetType(I.IndexType());
if (Type == 0)
diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc
index 7c5d15a58..1c41f1265 100644
--- a/apt-pkg/tagfile.cc
+++ b/apt-pkg/tagfile.cc
@@ -418,6 +418,7 @@ static const char *iTFRewritePackageOrder[] = {
"Section",
"Installed-Size",
"Maintainer",
+ "Original-Maintainer",
"Architecture",
"Source",
"Version",
@@ -447,6 +448,7 @@ static const char *iTFRewriteSourceOrder[] = {"Package",
"Priority",
"Section",
"Maintainer",
+ "Original-Maintainer",
"Build-Depends",
"Build-Depends-Indep",
"Build-Conflicts",
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc
index 0e950310b..fcfc67ea1 100644
--- a/cmdline/apt-cache.cc
+++ b/cmdline/apt-cache.cc
@@ -1269,7 +1269,9 @@ bool DisplayRecord(pkgCache::VerIterator V)
return true;
}
/*}}}*/
-
+// Search - Perform a search /*{{{*/
+// ---------------------------------------------------------------------
+/* This searches the package names and package descriptions for a pattern */
struct ExDescFile
{
pkgCache::DescFile *Df;
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index ab6dca388..49553157e 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -2106,6 +2106,33 @@ bool DoSource(CommandLine &CmdL)
if (Last == 0)
return _error->Error(_("Unable to find a source package for %s"),Src.c_str());
+ string srec = Last->AsStr();
+ string::size_type pos = srec.find("\nVcs-");
+ while (pos != string::npos)
+ {
+ pos += strlen("\nVcs-");
+ string vcs = srec.substr(pos,srec.find(":",pos)-pos);
+ if(vcs == "Browser")
+ {
+ pos = srec.find("\nVcs-", pos);
+ continue;
+ }
+ pos += vcs.length()+2;
+ string::size_type epos = srec.find("\n", pos);
+ string uri = srec.substr(pos,epos-pos).c_str();
+ ioprintf(c1out, _("NOTICE: '%s' packaging is maintained in "
+ "the '%s' version control system at:\n"
+ "%s\n"),
+ Src.c_str(), vcs.c_str(), uri.c_str());
+ if(vcs == "Bzr")
+ ioprintf(c1out,_("Please use:\n"
+ "bzr get %s\n"
+ "to retrieve the latest (possibly unreleased) "
+ "updates to the package.\n"),
+ uri.c_str());
+ break;
+ }
+
// Back track
vector<pkgSrcRecords::File> Lst;
if (Last->Files(Lst) == false)
@@ -2752,7 +2779,6 @@ int main(int argc,const char *argv[]) /*{{{*/
{"remove",&DoInstall},
{"purge",&DoInstall},
{"autoremove",&DoInstall},
- {"purge",&DoInstall},
{"dist-upgrade",&DoDistUpgrade},
{"dselect-upgrade",&DoDSelectUpgrade},
{"build-dep",&DoBuildDep},
diff --git a/cmdline/apt-key b/cmdline/apt-key
index 7bb30240e..26aa55633 100755
--- a/cmdline/apt-key
+++ b/cmdline/apt-key
@@ -10,13 +10,10 @@ GPG_CMD="gpg --ignore-time-conflict --no-options --no-default-keyring --secret-k
GPG="$GPG_CMD --keyring /etc/apt/trusted.gpg"
-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
+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
add_keys_with_verify_against_master_keyring() {
ADD_KEYRING=$1
@@ -80,14 +77,14 @@ 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
# add new keys from the package;
# we do not use add_keys_with_verify_against_master_keyring here,
- # because "update" is run on regular package updates. A
+ # because we "update" is run on regular package updates. A
# attacker might as well replace the master-archive-keyring file
# in the package and add his own keys. so this check wouldn't
# add any security. we *need* this check on net-update though
diff --git a/cmdline/apt-report-mirror-failure b/cmdline/apt-report-mirror-failure
new file mode 100755
index 000000000..ef77d4954
--- /dev/null
+++ b/cmdline/apt-report-mirror-failure
@@ -0,0 +1,24 @@
+#!/usr/bin/python
+
+import sys
+import urllib
+import apt_pkg
+
+apt_pkg.init()
+url = apt_pkg.Config.Find("Acquire::Mirror::ReportFailures", "")
+ #"http://people.ubuntu.com:9000/mirror-failure")
+ #"http://localhost:9000/mirror-failure")
+if not url:
+ sys.exit(0)
+
+print "Reporting mirror failure to '%s'" % url
+
+data = {}
+data['mirror'] = sys.argv[1]
+data['failurl'] = sys.argv[2]
+data['error'] = sys.argv[3]
+f = urllib.urlopen(url, urllib.urlencode(data))
+f.read()
+f.close()
+
+
diff --git a/cmdline/makefile b/cmdline/makefile
index 3260e375b..5ae6fb0f1 100644
--- a/cmdline/makefile
+++ b/cmdline/makefile
@@ -58,3 +58,9 @@ SOURCE=apt-mark
TO=$(BIN)
TARGET=program
include $(COPY_H)
+
+# The apt-key program
+SOURCE=apt-report-mirror-failure
+TO=$(BIN)
+TARGET=program
+include $(COPY_H)
diff --git a/debian/README.ubuntu-dev b/debian/README.ubuntu-dev
new file mode 100644
index 000000000..9da152556
--- /dev/null
+++ b/debian/README.ubuntu-dev
@@ -0,0 +1,6 @@
+Build this package with:
+$ debian/rules arch-build
+or
+$ DEB_BUILD_PROG_OPTS="-S" debian/rules arch-build
+
+make sure you have the pre-build-depds in README.arch installed
diff --git a/debian/apt.conf.autoremove b/debian/apt.conf.autoremove
index 98143ce9a..42081014a 100644
--- a/debian/apt.conf.autoremove
+++ b/debian/apt.conf.autoremove
@@ -1,8 +1,18 @@
APT
{
NeverAutoRemove
- {
+ {
+ "^linux-firmware$";
"^linux-image.*";
"^linux-restricted-modules.*";
+ "^linux-ubuntu-modules-.*";
+ };
+
+ Never-MarkAuto-Sections
+ {
+ "metapackages";
+ "restricted/metapackages";
+ "universe/metapackages";
+ "multiverse/metapackages";
};
};
diff --git a/debian/apt.conf.ubuntu b/debian/apt.conf.ubuntu
new file mode 100644
index 000000000..d295aee25
--- /dev/null
+++ b/debian/apt.conf.ubuntu
@@ -0,0 +1,3 @@
+APT
+{
+};
diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily
index b6099ee75..328282a41 100644
--- a/debian/apt.cron.daily
+++ b/debian/apt.cron.daily
@@ -1,4 +1,6 @@
#!/bin/sh
+#
+
#set -e
#
# This file understands the following apt configuration variables:
@@ -47,7 +49,7 @@
# APT::Periodic::Update-Package-Lists "0";
# - Do "apt-get update" automatically every n-days (0=disable)
#
-# APT::Periodic::Download-Upgradeable-Packages "0";
+# "APT::Periodic::Download-Upgradeable-Packages=0",
# - Do "apt-get upgrade --download-only" every n-days (0=disable)
#
# APT::Periodic::Download-Upgradeable-Packages-Debdelta "1";
@@ -59,15 +61,21 @@
# Requires the package "unattended-upgrades" and will write
# a log in /var/log/unattended-upgrades
#
-# APT::Periodic::AutocleanInterval "0";
-# - Do "apt-get autoclean" every n-days (0=disable)
+# "APT::Archives::MaxAge",
+# - Set maximum allowed age of a cache package file. If a cache
+# package file is older it is deleted (0=disable)
#
-# APT::Periodic::Verbose "0";
-# - Send report mail to root
-# 0: no report (or null string)
-# 1: progress report (actually any string)
-# 2: + command outputs (remove -qq, remove 2>/dev/null, add -d)
-# 3: + trace on
+# "APT::Archives::MaxSize",
+# - Set maximum size of the cache in MB (0=disable). If the cache
+# is bigger, cached package files are deleted until the size
+# requirement is met (the biggest packages will be deleted
+# first).
+#
+# "APT::Archives::MinAge"
+# - Set minimum age of a package file. If a file is younger it
+# will not be deleted (0=disable). Usefull to prevent races
+# and to keep backups of the packages for emergency.
+#
check_stamp()
{
@@ -108,9 +116,17 @@ check_stamp()
delta=$(($now-$stamp))
- # intervall is in days, convert to sec.
+ # intervall is in days,
interval=$(($interval*60*60*24))
- debug_echo "check_stamp: interval=$interval, now=$now, stamp=$stamp, delta=$delta (sec)"
+ #echo "stampfile: $1"
+ #echo "interval=$interval, now=$now, stamp=$stamp, delta=$delta"
+
+ # remove timestamps a day (or more) in the future and force re-check
+ if [ $stamp -gt $(($now+86400)) ]; then
+ echo "WARNING: file $stamp_file has a timestamp in the future: $stamp"
+ rm -f "$stamp_file"
+ return 0
+ fi
# remove timestamps a day (or more) in the future and force re-check
if [ $stamp -gt $(($now+86400)) ]; then
@@ -129,6 +145,7 @@ check_stamp()
update_stamp()
{
stamp="$1"
+
touch $stamp
}
@@ -384,11 +401,10 @@ now=$(date +%s)
# Document only Periodic for all controling parameters of this script.
UpdateInterval=0
-eval $(apt-config shell UpdateInterval APT::Periodic::Update-Package-Lists)
-
DownloadUpgradeableInterval=0
-eval $(apt-config shell DownloadUpgradeableInterval APT::Periodic::Download-Upgradeable-Packages)
-
+eval $(apt-config shell UpdateInterval APT::Periodic::Update-Package-Lists DownloadUpgradeableInterval APT::Periodic::Download-Upgradeable-Packages)
+AutocleanInterval=$DownloadUpgradeableInterval
+eval $(apt-config shell AutocleanInterval APT::Periodic::AutocleanInterval)
UnattendedUpgradeInterval=0
eval $(apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade)
@@ -405,11 +421,22 @@ eval $(apt-config shell Debdelta APT::Periodic::Download-Upgradeable-Packages-De
if [ $UpdateInterval -eq 0 ] &&
[ $DownloadUpgradeableInterval -eq 0 ] &&
[ $UnattendedUpgradeInterval -eq 0 ] &&
- [ $BackupArchiveInterval -eq 0 ] &&
[ $AutocleanInterval -eq 0 ]; then
exit 0
fi
+# set the proxy based on the admin users gconf settings
+admin_user=$(getent group admin|cut -d: -f4|cut -d, -f1)
+if [ -n "$admin_user" ] && [ -x /usr/bin/sudo ] && [ -z "$http_proxy" ] && [ -x /usr/bin/gconftool ]; then
+ use=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/use_http_proxy 2>/dev/null)
+ host=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/host 2>/dev/null)
+ port=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/port 2>/dev/null)
+ if [ "$use" = "true" ] && [ -n "$host" ] && [ -n "$port" ]; then
+ export http_proxy="http://$host:$port/"
+ fi
+fi
+
+
# deal with BackupArchiveInterval
do_cache_backup $BackupArchiveInterval
@@ -421,7 +448,13 @@ random_sleep
UPDATED=0
UPDATE_STAMP=/var/lib/apt/periodic/update-stamp
if check_stamp $UPDATE_STAMP $UpdateInterval; then
- if eval apt-get $XAPTOPT -y update $XSTDERR; 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
+ if eval apt-get $XAPTOPT -y update -o APT::Update::Auth-Failure::="cp /usr/share/apt/apt-auth-failure.note /var/lib/update-notifier/user.d/" $XSTDERR; then
debug_echo "download updated metadata (success)."
if which dbus-send >/dev/null && pidof dbus-daemon >/dev/null; then
if dbus-send --system / app.apt.dbus.updated boolean:true ; then
@@ -434,6 +467,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
+ 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 fb6716c35..d11ee0f2f 100644
--- a/debian/apt.dirs
+++ b/debian/apt.dirs
@@ -8,6 +8,7 @@ etc/apt/sources.list.d
etc/logrotate.d
var/cache/apt/archives/partial
var/lib/apt/lists/partial
+var/lib/apt/mirrors/partial
var/lib/apt/periodic
var/log/apt
usr/share/bug/apt
diff --git a/debian/apt.postinst b/debian/apt.postinst
index 88fb932df..df0433057 100644
--- a/debian/apt.postinst
+++ b/debian/apt.postinst
@@ -17,11 +17,9 @@ case "$1" in
configure)
if ! test -f /etc/apt/trusted.gpg; then
- cp /usr/share/apt/debian-archive.gpg /etc/apt/trusted.gpg
+ cp /usr/share/apt/ubuntu-archive.gpg /etc/apt/trusted.gpg
fi
- apt-key update
-
;;
abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/changelog b/debian/changelog
index 6692191d1..dbd8fe5b3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,15 @@ apt (0.7.22.3) UNRELEASED; urgency=low
it if does it before we trigger it, dpkg will error out
(LP: #414631)
+ [ 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)
+
+ [ Brian Murray ]
+ * cmdline/apt-get.cc:
+ - typo fix (LP: #370094)
+
-- Michael Vogt <mvo@debian.org> Wed, 19 Aug 2009 11:14:15 +0200
apt (0.7.22.2) unstable; urgency=low
@@ -48,6 +57,7 @@ apt (0.7.22.1) unstable; urgency=low
apt (0.7.22) unstable; urgency=low
+
[ Christian Perrier ]
* Documentation translations:
- Fix a typo in apt-get(8) French translation. Closes: #525043
@@ -56,7 +66,7 @@ apt (0.7.22) unstable; urgency=low
Thanks to Aurélien Couderc.
* Translations:
- fr.po
- - sk.po. Closes: #525857
+ - sk.po. Closes: #525857
- ru.po. Closes: #526816
- eu.po. Closes: #528985
- zh_CN.po. Closes: #531390
@@ -91,6 +101,7 @@ apt (0.7.22) unstable; urgency=low
which can arise if cache doesn't fit into the mmap (Closes: #535218)
* display warnings instead of errors if the parts dirs doesn't exist
+
[ Michael Vogt ]
* honor the dpkg hold state in new Marker hooks (closes: #64141)
* debian/apt.cron.daily:
@@ -178,6 +189,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 ]
@@ -190,7 +229,7 @@ apt (0.7.21) unstable; urgency=low
- sk.po. Closes: #520403
- it.po. Closes: #522222
- sk.po. Closes: #520403
-
+
[ Jamie Strandboge ]
* apt.cron.daily: catch invalid dates due to DST time changes
in the stamp files
@@ -211,7 +250,7 @@ apt (0.7.21) unstable; urgency=low
* Clarify the --help for 'purge' (LP: #243948)
* 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
+ a source package of the same name but from different
packages (LP: #330103)
[ Colin Watson ]
@@ -221,6 +260,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 ]
@@ -269,10 +427,10 @@ apt (0.7.20) unstable; urgency=low
(Closes: #440049, #509337)
[ Michael Vogt ]
- * add option to "apt-get build-dep" to mark the needed
- build-dep packages as automatic installed.
+ * add option to "apt-get build-dep" to mark the needed
+ build-dep packages as automatic installed.
This is controlled via the value of
- APT::Get::Build-Dep-Automatic and is set "false" by default.
+ APT::Get::Build-Dep-Automatic and is set "false" by default.
Thanks to Aaron Haviland, closes: #448743
* apt-inst/contrib/arfile.cc:
- support members ending with '/' as well (thanks to Michal Cihr,
@@ -280,15 +438,21 @@ apt (0.7.20) unstable; urgency=low
[ Christian Perrier ]
* Translations:
- - Finnish updated. Closes: #508449
+ - Finnish updated. Closes: #508449
- Galician updated. Closes: #509151
- Catalan updated. Closes: #509375
- Vietnamese updated. Closes: #509422
- Traditional Chinese added. Closes: #510664
- - French corrected (remove awful use of first person)
+ - French corrected (remove awful use of first person)
-- 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 ]
@@ -306,6 +470,8 @@ apt (0.7.19) unstable; urgency=low
(Closes: #419521)
[ Michael Vogt ]
+ * doc/makefile:
+ - add examples/apt-https-method-example.conf
- fix SIGHUP handling (closes: #463030)
[ Christian Perrier ]
@@ -587,6 +753,103 @@ 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.14ubuntu1) intrepid; urgency=low
+
+ [ Michael Vogt ]
+ * enable installation of recommends by default
+ * debian/apt.conf.ubuntu:
+ - remove APT::Install-Recommends-Sections (no longer needed)
+ * merged from debian/sid, remaining changes:
+ - authentication-reliable branch (to be merged into debian soon)
+ - mirror:// uri branch (breaks ABI in debian, not merged yet)
+ - apport failure reporting
+ - show warning on apt-get source with 'Vcs-' header
+ - proxy detection from gconf in apt.cron
+
apt (0.7.14) unstable; urgency=low
[ Christian Perrier ]
@@ -656,7 +919,7 @@ apt (0.7.12) unstable; urgency=low
* apt-pkg/deb/dpkgpm.cc:
- merged patch from Kees Cook to fix anoying upper-case display
on amd64 in sbuild
- * apt-pkg/algorithms.cc:
+ * 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.
@@ -695,7 +958,7 @@ apt (0.7.12) unstable; urgency=low
- French updated.
- Bulgarian updated. Closes: #448492
- Galician updated. Closes: #476839
-
+
[ Daniel Burrows ]
* apt-pkg/depcache.cc:
- Patch MarkInstall to follow currently satisfied Recommends even
@@ -713,7 +976,7 @@ apt (0.7.12) unstable; urgency=low
- Add missing Build-Depends-Indep on xsltproc, docbook-xsl, and xmlto.
-- Daniel Burrows <dburrows@debian.org> Sat, 26 Apr 2008 12:24:35 -0700
-
+
apt (0.7.11) unstable; urgency=critical
[ Raise urgency to critical since it fixes a critical but for Debian
@@ -772,7 +1035,6 @@ apt (0.7.10) unstable; urgency=low
- Simplified Chinese updated. Closes: #458039
- French updated.
- Norwegian Bokmål updated. Closes: #457917
-
[ Michael Vogt ]
* debian/rules
- fix https install location
@@ -787,7 +1049,7 @@ apt (0.7.10) unstable; urgency=low
- make the authentication download code more robust against
servers/proxies with broken If-Range implementations
* apt-pkg/packagemanager.{cc,h}:
- - propergate the Immediate flag to make hitting the
+ - propergate the Immediate flag to make hitting the
"E: Internal Error, Could not perform immediate configuration (2)"
harder
* debian/control:
@@ -801,7 +1063,7 @@ apt (0.7.10) unstable; urgency=low
- support lzma data members
* ftparchive/multicompress.cc:
- support lzma output
-
+
[ Daniel Burrows ]
* apt-pkg/contrib/configuration.cc:
- if RootDir is set, then FindFile and FindDir will return paths
@@ -810,8 +1072,270 @@ apt (0.7.10) unstable; urgency=low
[ Christian Perrier ]
* Fix wording for "After unpacking...". Thanks to Michael Gilbert
for the patch. Closes: #260825
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 03 Jan 2008 11:31:45 +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 <mvo@debian.org> Mon, 07 Jan 2008 21:40:47 +0100
+ -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 13 Dec 2007 14:46:27 +0100
apt (0.7.9) unstable; urgency=low
@@ -938,12 +1462,192 @@ apt (0.7.7) unstable; urgency=low
-- Michael Vogt <mvo@debian.org> Tue, 23 Oct 2007 14:58:03 +0200
-apt (0.7.6) unstable; urgency=low
+apt (0.7.6ubuntu14.1) gutsy-proposed; urgency=low
- * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong
- directory downloading on non-linux architectures (closes: #435597)
+ [ 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)
- -- Otavio Salvador <otavio@debian.org> Wed, 01 Aug 2007 19:49:51 -0300
+ [ 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
@@ -972,6 +1676,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 ]
@@ -1031,6 +1743,90 @@ apt (0.7.3) unstable; urgency=low
which disappeared from the BZR repositories
-- 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
@@ -1098,12 +1894,16 @@ apt (0.7.1) experimental; urgency=low
* methods/cdrom.cc:
- only umount if it was mounted by the method before
* po/gl.po:
- - fix error translation that causes trouble to lsb_release
+ - fix error in translation that causes trouble to lsb_release
+ (LP#79165)
* apt-pkg/acquire-item.cc:
- if decompression of a index fails, delete the index
* apt-pkg/acquire.{cc,h}:
- deal better with duplicated sources.list entries (avoid
double queuing of URLs) - this fixes hangs in bzip/gzip
+ (LP#102511)
+ * Fix broken use of awk in apt-key that caused removal of the wrong keys
+ from the keyring. Closes: #412572
* merged from Christian Perrier:
* mr.po: New Marathi translation Closes: #416806
* zh_CN.po: Updated by Eric Pareja Closes: #416822
@@ -1127,6 +1927,93 @@ apt (0.7.1) experimental; urgency=low
-- Michael Vogt <mvo@debian.org> Wed, 2 May 2007 13:43:44 +0200
+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.7.0) experimental; urgency=low
* Package that contains all the new features
@@ -1154,6 +2041,29 @@ apt (0.7.0) experimental; urgency=low
-- Michael Vogt <mvo@debian.org> Fri, 12 Jan 2007 20:48:07 +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
@@ -1200,6 +2110,26 @@ apt (0.6.46.3-0.1) unstable; urgency=high
-- Andreas Barth <aba@not.so.argh.org> Tue, 5 Dec 2006 10:34:56 +0000
+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) unstable; urgency=low
* apt-pkg/deb/dpkgpm.cc:
@@ -1264,10 +2194,46 @@ apt (0.6.46) unstable; 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)
+ - 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.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:
@@ -1292,8 +2258,113 @@ apt (0.6.46) unstable; urgency=low
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 <mvo@debian.org> Thu, 21 Sep 2006 10:25:03 +0200
+ -- 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
@@ -1331,42 +2402,57 @@ apt (0.6.45) unstable; urgency=low
* dz.po: New Dzongkha translation: 512t
* ro.po: Updated to 512t
* eu.po: Updated
- * eu.po: Updated
- * fix apt-get dist-upgrade
- * fix warning if no /var/lib/apt/extended_states is present
- * don't download Translations for deb-src sources.list lines
- * apt-pkg/tagfile.cc:
- - support not-mmapable files again
-- Michael Vogt <mvo@debian.org> Thu, 27 Jul 2006 00:52:05 +0200
-apt (0.6.44.2exp1) experimental; urgency=low
+apt (0.6.44.2ubuntu4) edgy; urgency=low
- * added support for i18n of the package descriptions
- * added support for aptitude like auto-install tracking (a HUGE
- HUGE thanks to Daniel Burrows who made this possible)
- * synced with the http://people.debian.org/~mvo/bzr/apt/debian-sid branch
- * build from http://people.debian.org/~mvo/bzr/apt/debian-experimental
+ * Make apt-get dselect-upgrade happy again
- -- Michael Vogt <mvo@debian.org> Mon, 3 Jul 2006 21:50:31 +0200
+ -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 21 Jul 2006 11:03:02 +0200
-apt (0.6.44.2) unstable; urgency=low
+apt (0.6.44.2ubuntu3) edgy; urgency=low
- * apt-pkg/depcache.cc:
- - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
- * apt-pkg/acquire-item.cc:
- - fix missing chmod() in the new aquire code
- (thanks to Bastian Blank, Closes: #367425)
- * merged from
- http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
- * sk.po: Completed to 512t
- * eu.po: Completed to 512t
- * fr.po: Completed to 512t
- * sv.po: Completed to 512t
- * Update all PO and the POT. Gives 506t6f for formerly
- complete translations
+ * 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
- -- Michael Vogt <mvo@debian.org> Wed, 14 Jun 2006 12:00:57 +0200
+ * 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.2) unstable; urgency=low
+
+ * apt-pkg/depcache.cc:
+ - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
+ * apt-pkg/acquire-item.cc:
+ - fix missing chmod() in the new aquire code
+ (thanks to Bastian Blank, Closes: #367425)
+ * merged from
+ http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
+ * sk.po: Completed to 512t
+ * eu.po: Completed to 512t
+ * fr.po: Completed to 512t
+ * sv.po: Completed to 512t
+ * Update all PO and the POT. Gives 506t6f for formerly
+ complete translations
+
+ -- Michael Vogt <mvo@debian.org> Wed, 14 Jun 2006 12:00:57 +0200
apt (0.6.44.1-0.1) unstable; urgency=low
@@ -1428,6 +2514,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:
@@ -1437,16 +2543,46 @@ apt (0.6.43.3) unstable; urgency=low
* 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
- * zh_CN.po: Completed to 512t. Closes: #353936
- * it.po: Completed to 512t. Closes: #352803
- * pt_BR.po: Completed to 512t. Closes: #352419
+ * 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 <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)
@@ -1457,8 +2593,10 @@ apt (0.6.43.3) unstable; urgency=low
* 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 <mvo@debian.org> Wed, 22 Feb 2006 10:13:04 +0100
+ -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 20 Feb 2006 22:27:48 +0100
apt (0.6.43.2) unstable; urgency=low
@@ -1483,8 +2621,26 @@ 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.1) unstable; urgency=low
+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:
* fr.po: Completed to 510 strings
* it.po: Completed to 510t
@@ -1506,6 +2662,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:
@@ -1526,6 +2695,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:
@@ -1573,13 +2758,13 @@ apt (0.6.42) unstable; urgency=low
- unmount the cdrom when apt failed to locate any package files
* allow cdrom failures and fallback to other sources in that case
(closes: #44135)
- * better error text when dpkg-source fails
+ * better error text when dpkg-source fails
* Merge bubulle@debian.org--2005/apt--main--0 up to patch-115:
- patch-99: Added Galician translation
- patch-100: Completed Danish translation (Closes: #325686)
- patch-104: French translation completed
- patch-109: Italian translation completed
- - patch-112: Swedish translation update
+ - patch-112: Swedish translation update
- patch-115: Basque translation completed (Closes: #333299)
* applied french man-page update (thanks to Philippe Batailler)
(closes: #316638, #327456)
@@ -1593,9 +2778,9 @@ apt (0.6.42) unstable; urgency=low
* apt-pkg/contrib/md5.cc:
- fix a alignment problem on sparc64 that gives random bus errors
(thanks to Fabbione for providing a test-case)
- * init the default ScreenWidth to 79 columns by default
+ * init the default ScreenWidth to 79 columns by default
(Closes: #324921)
- * cmdline/apt-cdrom.cc:
+ * cmdline/apt-cdrom.cc:
- fix some missing gettext() calls (closes: #334539)
* doc/apt-cache.8.xml: fix typo (closes: #334714)
@@ -1606,8 +2791,8 @@ apt (0.6.41) unstable; 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
- * improved the network timeout handling, if a index file from a
- sources.list times out or EAI_AGAIN is returned from getaddrinfo,
+ * improved the network timeout handling, if a index file from a
+ sources.list times out or EAI_AGAIN is returned from getaddrinfo,
don't try to get the other files from that entry
* Support architecture-specific extra overrides
(closes: #225947). Thanks to Anthony Towns for idea and
@@ -1615,10 +2800,10 @@ apt (0.6.41) unstable; urgency=low
* Javier Fernandez-Sanguino Pen~a:
- Added a first version of an apt-secure.8 manpage, and modified
apt-key and apt.end accordingly. Also added the 'update'
- argument to apt-key which was previously not documented
+ argument to apt-key which was previously not documented
(Closes: #322120)
* Andreas Pakulat:
- - added example apt-ftparchive.conf file to doc/examples
+ - added example apt-ftparchive.conf file to doc/examples
(closes: #322483)
* Fix a incorrect example in the man-page (closes: #282918)
* Fix a bug for very long lines in the apt-cdrom code (closes: #280356)
@@ -1627,10 +2812,84 @@ apt (0.6.41) unstable; urgency=low
* Change pkgPolicy::Pin from private to protected to let subclasses
access it too (closes: #321799)
* add default constructor for PrvIterator (closes: #322267)
- * Reread status configuration on debSystem::Initialize()
+ * Reread status configuration on debSystem::Initialize()
(needed for apt-proxy, thanks to Otavio for this patch)
-
+
-- 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
@@ -1641,6 +2900,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
@@ -1656,6 +2921,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
@@ -1666,7 +2964,14 @@ apt (0.6.39) unstable; urgency=low
* Update priority of apt-utils to important, to match the override file
* Install only one keyring on each branch (Closes: #316119)
- -- Matt Zimmerman <mdz@debian.org> Tue, 28 Jun 2005 11:51:09 -0700
+ -- Matt Zimmerman <mdz@debian.org> Tue, 28 Jun 2005 11:35:21 -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
diff --git a/debian/control b/debian/control
index cb20e2864..6587c2eb6 100644
--- a/debian/control
+++ b/debian/control
@@ -1,20 +1,21 @@
Source: apt
Section: admin
Priority: important
-Maintainer: APT Development Team <deity@lists.debian.org>
+Maintainer: Ubuntu Core 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>,
Luca Bruno <lethalman88@gmail.com>, Julian Andres Klode <jak@debian.org>
Standards-Version: 3.8.2.0
-Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, docbook-utils (>= 0.6.12), xsltproc, docbook-xsl, xmlto
-Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/
+Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, docbook-utils (>= 0.6.12), xsltproc, docbook-xsl, xmlto, intltool
Package: apt
Architecture: any
-Depends: ${shlibs:Depends}, debian-archive-keyring
+Depends: ${shlibs:Depends}
Priority: important
Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
Provides: ${libapt-pkg:provides}
+Recommends: ubuntu-keyring
Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt
Section: admin
Description: Advanced front-end for dpkg
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 000000000..3baf9ac5a
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,142 @@
+Apt is copyright 1997, 1998, 1999 Jason Gunthorpe and others.
+
+Apt is licensed under the terms of the GNU General Public License (GPL),
+version 2.0 or later, as published by the Free Software Foundation. See
+the file COPYING.GPL [included], /usr/share/common-licenses/GPL, or
+<http://www.gnu.org/copyleft/gpl.txt> for the terms of the latest version
+of the GNU General Public License.
+
+In addition, prior to November 15th, 2000, apt may be distributed under
+terms identical to the above with the following addition:
+
+Works using apt may link against the GUI library "libqt", copyright by
+Troll Tech AS, Norway, provided that:
+
+1. The version of "libqt" is licensed under the terms of the "Qt Free Edition
+ License" published by Troll Tech AS. The license terms identified as
+ the Qt Free Edition License below are the only such terms under which
+ distribution of works derived from both apt and "libqt" are permitted;
+
+and
+
+2. The source code of the version of "libqt" used is
+
+ a) Distributed with the binary version;
+
+ or
+
+ b) Downloadable by anyone, without fee, using a publicly-announced
+ URL on the Internet, for a duration of at least three years
+ starting with distribution of the binary version.
+
+On and after November 15th, 2000, the above additional terms lose all
+force, and apt will be licensed only under the terms of the GNU General
+Public License, version 2.0 or later.
+
+ _______________________________________________________________
+
+The following text, up to the text of the Qt Free Edition License, is
+informational and not part of the license terms on apt.
+
+Modifications to apt in either source or compiled form must be licensed
+under the terms of the GNU General Public License, version 2.0 (or later),
+but need not include the above clause permitting usage of the "libqt"
+library under the Qt Free Edition License. Note that removal of this
+clause will result in software which is not licensed for binary
+redistribution linked against software governed by the Qt Free Edition
+License. In the event that a version of "libqt" is released that is
+licensed under terms that do not conflict with the GPL, the additional
+clause above is not required to grant permission for distribution of works
+that are derived from both apt and "libqt".
+
+No part of apt is licensed under the Qt Free Edition License. The terms
+below are provided to help identify the circumstances under which the
+"libqt" library may be used with apt (or a work derived from both). The
+terms below are copied from the LICENSE file of the qt-1.44 distribution,
+as of November 10th, 1999.
+
+ _______________________________________________________________
+
+ QT FREE EDITION LICENSE
+
+Copyright (C) 1992-1999 Troll Tech AS. All rights reserved.
+
+This is the license for Qt Free Edition version 1.44; it covers private use,
+use of third-party application programs based on Qt, and development of
+free software for the free software community.
+
+
+ COPYRIGHT AND RESTRICTIONS
+
+The Qt toolkit is a product of Troll Tech AS. The Qt Free Edition is limited
+to use with the X Window System.
+
+You may copy this version of the Qt Free Edition provided that the entire
+archive is distributed unchanged and as a whole, including this notice.
+
+You may use this version of the Qt Free Edition to compile, link and run
+application programs legally developed by third parties.
+
+You may use the Qt Free Edition to create application programs
+provided that:
+
+ You accept this license.
+ Your software does not require modifications to Qt Free Edition.
+ You satisfy ONE of the following three requirements
+ EITHER
+ Users of your software can freely obtain source code for the
+ software, freely modify the source code (possibly with
+ restrictions on copyright notices, attributions and legal
+ responsibility), and freely redistribute original or modified
+ versions of the software.
+ OR
+ Your software is distributed under the GNU GENERAL
+ PUBLIC LICENSE, version 2 or later, as defined by the
+ Free Software Foundation.
+ OR
+ Your software is distributed under the GNU LIBRARY
+ GENERAL PUBLIC LICENSE, version 2 or later, as
+ defined by the Free Software Foundation.
+
+If you are paid to develop something with Qt Free Edition or it is a part of
+your job the following conditions also apply:
+
+ Your software must not require libraries, programs, data or
+ documentation that are not available outside your organization in
+ order to compile or use.
+ If and when your organization starts using the software, you must
+ notify Troll Tech AS of the following:
+ Your organization's name and purpose.
+ The software's name and purpose.
+ The software's license.
+ That your organization considers the software to be free
+ software.
+
+You may also use the Qt Free Edition to create reusable components
+(such as libraries) provided that you accept the terms above, and in
+addition that:
+
+ Your components' license includes the following text:
+
+ [Your package] requires the Qt library, which is
+ copyright Troll Tech AS. Freely distributable
+ programs may generally use Qt Free Edition free of
+ charge, see [README.QT] for details.
+
+ README.QT is distributed along with your components.
+ Qt Free Edition is not distributed as an integral part of your
+ components.
+
+ LIMITATIONS OF LIABILITY
+
+Troll Tech AS makes no obligation under this license to support or
+upgrade Qt Free Edition, or assist in the use of Qt Free Edition.
+
+In no event shall Troll Tech AS be liable for any lost revenue or profits or
+other direct, indirect, special, incidental or consequential damages, even
+if Troll Tech has been advised of the possibility of such damages.
+
+QT FREE EDITION IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND,
+INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE.
+ _______________________________________________________________
diff --git a/debian/rules b/debian/rules
index f1eb62b57..8e2b18f67 100755
--- a/debian/rules
+++ b/debian/rules
@@ -131,7 +131,7 @@ clean:
rm -rf build
# Add here commands to clean up after the build process.
- dh_clean debian/copyright debian/shlibs.local debian/shlibs.local.apt debian/shlibs.local.apt-utils
+ dh_clean debian/shlibs.local debian/shlibs.local.apt debian/shlibs.local.apt-utils
binary-indep: apt-doc libapt-pkg-doc
# Build architecture-independent files here.
@@ -213,8 +213,10 @@ apt: build build-doc debian/shlibs.local
cp debian/bugscript debian/$@/usr/share/bug/apt/script
cp debian/apt.logrotate debian/$@/etc/logrotate.d/apt
- cp share/debian-archive.gpg debian/$@/usr/share/$@
+ cp share/ubuntu-archive.gpg debian/$@/usr/share/$@
+ sed 's/^_//' share/apt-auth-failure.note > debian/$@/usr/share/$@/apt-auth-failure.note
cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove
+ cp debian/apt.conf.ubuntu debian/$@/etc/apt/apt.conf.d/01ubuntu
# head -n 500 ChangeLog > debian/ChangeLog
# copy lintian override
@@ -225,6 +227,10 @@ apt: build build-doc debian/shlibs.local
rm -f build/po/*.pot
rm -f po/*.pot
+ # move the mirror failure script in place
+ mv debian/$@/usr/bin/apt-report-mirror-failure \
+ debian/$@/usr/lib/apt/apt-report-mirror-failure \
+
dh_installexamples -p$@ $(BLD)/docs/examples/*
dh_installman -p$@
dh_installcron -p$@
diff --git a/doc/examples/configure-index b/doc/examples/configure-index
index 5dc7b5246..175f0e480 100644
--- a/doc/examples/configure-index
+++ b/doc/examples/configure-index
@@ -108,6 +108,9 @@ APT
Install-Recommends "true";
Install-Suggests "false";
+ // install recommends automatically for packages in this section
+ Install-Recommends-Section { "metapackages"; "universe/metapackages"; };
+
// consider dependencies of packages in this section manual
Never-MarkAuto-Sections {"metapackages"; "universe/metapackages"; };
@@ -246,6 +249,20 @@ Acquire
{
Options {"--ignore-time-conflict";} // not very useful on a normal system
};
+
+ mirror
+ {
+ RefreshInterval "360"; // refresh interval in minutes
+ MaxAge "90"; // max age for a mirror file in days before
+ // it gets deleted
+ // mirror failure reporting script
+ ProblemReporting "/usr/lib/apt/apt-report-mirror-failure";
+ // mirror failure reporting url
+ ReportFailures "http://example.com/mirror-failure";
+ };
+
+ // translations can be set here to "none", "environment" or "$locale"
+ Translation "none";
};
// Directory layout
@@ -259,6 +276,7 @@ Dir "/"
userstatus "status.user";
status "/var/lib/dpkg/status";
cdroms "cdroms.list";
+ mirrors "mirrors/";
};
// Location of the cache dir
@@ -362,9 +380,9 @@ Debug
Acquire::Http "false"; // Show http command traffic
Acquire::Https "false"; // Show https debug
Acquire::gpgv "false"; // Show the gpgv traffic
+ Acquire::Mirror "false"; // Show debugging of the mirror method
aptcdrom "false"; // Show found package files
IdentCdrom "false";
-
}
/* Whatever you do, do not use this configuration file!! Take out ONLY
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/methods/connect.cc b/methods/connect.cc
index 355bd5c4d..c5d57a99f 100644
--- a/methods/connect.cc
+++ b/methods/connect.cc
@@ -18,6 +18,7 @@
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
+#include <sstream>
#include<set>
#include<string>
@@ -70,19 +71,17 @@ static bool DoConnect(struct addrinfo *Addr,string Host,
Owner->Status(_("Connecting to %s (%s)"),Host.c_str(),Name);
// if that addr did timeout before, we do not try it again
- if(bad_addr.find(string(Name)) != bad_addr.end())
+ if(bad_addr.find(string(Name)) != bad_addr.end())
return false;
/* If this is an IP rotation store the IP we are using.. If something goes
wrong this will get tacked onto the end of the error message */
if (LastHostAddr->ai_next != 0)
{
- char Name2[NI_MAXHOST + NI_MAXSERV + 10];
- snprintf(Name2,sizeof(Name2),_("[IP: %s %s]"),Name,Service);
- Owner->SetFailExtraMsg(string(Name2));
- }
- else
- Owner->SetFailExtraMsg("");
+ std::stringstream ss;
+ ioprintf(ss, _("[IP: %s %s]"),Name,Service);
+ Owner->SetIP(ss.str());
+ }
// Get a socket
if ((Fd = socket(Addr->ai_family,Addr->ai_socktype,
@@ -100,7 +99,7 @@ static bool DoConnect(struct addrinfo *Addr,string Host,
nonblocking */
if (WaitFd(Fd,true,TimeOut) == false) {
bad_addr.insert(bad_addr.begin(), string(Name));
- Owner->SetFailExtraMsg("\nFailReason: Timeout");
+ Owner->SetFailReason("Timeout");
return _error->Error(_("Could not connect to %s:%s (%s), "
"connection timed out"),Host.c_str(),Service,Name);
}
@@ -115,7 +114,7 @@ static bool DoConnect(struct addrinfo *Addr,string Host,
{
errno = Err;
if(errno == ECONNREFUSED)
- Owner->SetFailExtraMsg("\nFailReason: ConnectionRefused");
+ Owner->SetFailReason("ConnectionRefused");
return _error->Errno("connect",_("Could not connect to %s:%s (%s)."),Host.c_str(),
Service,Name);
}
@@ -180,13 +179,13 @@ bool Connect(string Host,int Port,const char *Service,int DefPort,int &Fd,
continue;
}
bad_addr.insert(bad_addr.begin(), Host);
- Owner->SetFailExtraMsg("\nFailReason: ResolveFailure");
+ Owner->SetFailReason("ResolveFailure");
return _error->Error(_("Could not resolve '%s'"),Host.c_str());
}
if (Res == EAI_AGAIN)
{
- Owner->SetFailExtraMsg("\nFailReason: TmpResolveFailure");
+ Owner->SetFailReason("TmpResolveFailure");
return _error->Error(_("Temporary failure resolving '%s'"),
Host.c_str());
}
diff --git a/methods/copy.cc b/methods/copy.cc
index 72896b4c0..027b59f46 100644
--- a/methods/copy.cc
+++ b/methods/copy.cc
@@ -84,6 +84,7 @@ bool CopyMethod::Fetch(FetchItem *Itm)
FileFd Fd(Res.Filename, FileFd::ReadOnly);
Hash.AddFD(Fd.Fd(), Fd.Size());
Res.TakeHashes(Hash);
+
URIDone(Res);
return true;
}
diff --git a/methods/http.cc b/methods/http.cc
index 1eba0f279..7b61973d7 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -728,7 +728,7 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out)
Req += string("Authorization: Basic ") +
Base64Encode(Uri.User + ":" + Uri.Password) + "\r\n";
- Req += "User-Agent: Debian APT-HTTP/1.3 ("VERSION")\r\n\r\n";
+ Req += "User-Agent: Ubuntu APT-HTTP/1.3 ("VERSION")\r\n\r\n";
if (Debug == true)
cerr << Req << endl;
@@ -952,6 +952,9 @@ int HttpMethod::DealWithHeaders(FetchResult &Res,ServerState *Srv)
failure */
if (Srv->Result < 200 || Srv->Result >= 300)
{
+ char err[255];
+ snprintf(err,sizeof(err)-1,"HttpError%i",Srv->Result);
+ SetFailReason(err);
_error->Error("%u %s",Srv->Result,Srv->Code);
if (Srv->HaveContent == true)
return 4;
@@ -1028,7 +1031,7 @@ void HttpMethod::SigTerm(int)
depth. */
bool HttpMethod::Fetch(FetchItem *)
{
- if (Server == 0)
+ if (Server == 0)
return true;
// Queue the requests
@@ -1318,15 +1321,4 @@ int HttpMethod::Loop()
}
/*}}}*/
-int main()
-{
- setlocale(LC_ALL, "");
- // ignore SIGPIPE, this can happen on write() if the socket
- // closes the connection (this is dealt with via ServerDie())
- signal(SIGPIPE, SIG_IGN);
-
- HttpMethod Mth;
- return Mth.Loop();
-}
-
diff --git a/methods/http.h b/methods/http.h
index 13f02ec77..bc076e1f8 100644
--- a/methods/http.h
+++ b/methods/http.h
@@ -13,7 +13,7 @@
#define MAXLEN 360
-#include <iostream>
+
using std::cout;
using std::endl;
@@ -135,7 +135,6 @@ class HttpMethod : public pkgAcqMethod
bool ServerDie(ServerState *Srv);
int DealWithHeaders(FetchResult &Res,ServerState *Srv);
- virtual bool Fetch(FetchItem *);
virtual bool Configuration(string Message);
// In the event of a fatal signal this file will be closed and timestamped.
@@ -143,6 +142,9 @@ class HttpMethod : public pkgAcqMethod
static int FailFd;
static time_t FailTime;
static void SigTerm(int);
+
+ protected:
+ virtual bool Fetch(FetchItem *);
string NextURI;
diff --git a/methods/http_main.cc b/methods/http_main.cc
new file mode 100644
index 000000000..7815c2fc1
--- /dev/null
+++ b/methods/http_main.cc
@@ -0,0 +1,20 @@
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/acquire-method.h>
+#include <signal.h>
+
+#include "connect.h"
+#include "rfc2553emu.h"
+#include "http.h"
+
+
+int main()
+{
+ setlocale(LC_ALL, "");
+
+ // ignore SIGPIPE, this can happen on write() if the socket
+ // closes the connection (this is dealt with via ServerDie())
+ signal(SIGPIPE, SIG_IGN);
+
+ HttpMethod Mth;
+ return Mth.Loop();
+}
diff --git a/methods/makefile b/methods/makefile
index 134166ba3..f4d417cee 100644
--- a/methods/makefile
+++ b/methods/makefile
@@ -49,7 +49,7 @@ include $(PROGRAM_H)
PROGRAM=http
SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS)
LIB_MAKES = apt-pkg/makefile
-SOURCE = http.cc rfc2553emu.cc connect.cc
+SOURCE = http.cc http_main.cc rfc2553emu.cc connect.cc
include $(PROGRAM_H)
# The https method
@@ -80,9 +80,17 @@ LIB_MAKES = apt-pkg/makefile
SOURCE = rsh.cc
include $(PROGRAM_H)
+# The mirror method
+PROGRAM=mirror
+SLIBS = -lapt-pkg $(SOCKETLIBS)
+LIB_MAKES = apt-pkg/makefile
+SOURCE = mirror.cc http.cc rfc2553emu.cc connect.cc
+include $(PROGRAM_H)
+
# SSH and bzip2 method symlink
binary: $(BIN)/ssh $(BIN)/bzip2 $(BIN)/lzma
veryclean: clean-$(BIN)/ssh clean-$(BIN)/bzip2 clean-$(BIN)/lzma
+
$(BIN)/ssh:
echo "Installing ssh method link"
ln -fs rsh $(BIN)/ssh
diff --git a/methods/mirror.cc b/methods/mirror.cc
new file mode 100644
index 000000000..b3a956b95
--- /dev/null
+++ b/methods/mirror.cc
@@ -0,0 +1,330 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/
+// $Id: mirror.cc,v 1.59 2004/05/08 19:42:35 mdz Exp $
+/* ######################################################################
+
+ Mirror Aquire Method - This is the Mirror aquire method for APT.
+
+ ##################################################################### */
+ /*}}}*/
+// Include Files /*{{{*/
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/acquire-method.h>
+#include <apt-pkg/acquire-item.h>
+#include <apt-pkg/acquire.h>
+#include <apt-pkg/error.h>
+#include <apt-pkg/hashes.h>
+#include <apt-pkg/sourcelist.h>
+
+#include <fstream>
+#include <iostream>
+#include <stdarg.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <dirent.h>
+
+using namespace std;
+
+#include "mirror.h"
+#include "http.h"
+#include "apti18n.h"
+ /*}}}*/
+
+/* Done:
+ * - works with http (only!)
+ * - always picks the first mirror from the list
+ * - call out to problem reporting script
+ * - supports "deb mirror://host/path/to/mirror-list/// dist component"
+ * - uses pkgAcqMethod::FailReason() to have a string representation
+ * of the failure that is also send to LP
+ *
+ * TODO:
+ * - deal with runing as non-root because we can't write to the lists
+ dir then -> use the cached mirror file
+ * - better method to download than having a pkgAcquire interface here
+ * and better error handling there!
+ * - support more than http
+ * - testing :)
+ */
+
+MirrorMethod::MirrorMethod()
+ : HttpMethod(), DownloadedMirrorFile(false)
+{
+};
+
+// HttpMethod::Configuration - Handle a configuration message /*{{{*/
+// ---------------------------------------------------------------------
+/* We stash the desired pipeline depth */
+bool MirrorMethod::Configuration(string Message)
+{
+ if (pkgAcqMethod::Configuration(Message) == false)
+ return false;
+ Debug = _config->FindB("Debug::Acquire::mirror",false);
+
+ return true;
+}
+ /*}}}*/
+
+// clean the mirrors dir based on ttl information
+bool MirrorMethod::Clean(string Dir)
+{
+ vector<metaIndex *>::const_iterator I;
+
+ if(Debug)
+ clog << "MirrorMethod::Clean(): " << Dir << endl;
+
+ if(Dir == "/")
+ return _error->Error("will not clean: '/'");
+
+ // read sources.list
+ pkgSourceList list;
+ list.ReadMainList();
+
+ DIR *D = opendir(Dir.c_str());
+ if (D == 0)
+ return _error->Errno("opendir",_("Unable to read %s"),Dir.c_str());
+
+ string StartDir = SafeGetCWD();
+ if (chdir(Dir.c_str()) != 0)
+ {
+ closedir(D);
+ return _error->Errno("chdir",_("Unable to change to %s"),Dir.c_str());
+ }
+
+ for (struct dirent *Dir = readdir(D); Dir != 0; Dir = readdir(D))
+ {
+ // Skip some files..
+ if (strcmp(Dir->d_name,"lock") == 0 ||
+ strcmp(Dir->d_name,"partial") == 0 ||
+ strcmp(Dir->d_name,".") == 0 ||
+ strcmp(Dir->d_name,"..") == 0)
+ continue;
+
+ // see if we have that uri
+ for(I=list.begin(); I != list.end(); I++)
+ {
+ string uri = (*I)->GetURI();
+ if(uri.substr(0,strlen("mirror://")) != string("mirror://"))
+ continue;
+ string BaseUri = uri.substr(0,uri.size()-1);
+ if (URItoFileName(BaseUri) == Dir->d_name)
+ break;
+ }
+ // nothing found, nuke it
+ if (I == list.end())
+ unlink(Dir->d_name);
+ };
+
+ chdir(StartDir.c_str());
+ closedir(D);
+ return true;
+}
+
+
+bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str)
+{
+ if(Debug)
+ clog << "MirrorMethod::DownloadMirrorFile(): " << endl;
+
+ // check the file, if it is not older than RefreshInterval just use it
+ // otherwise try to get a new one
+ if(FileExists(MirrorFile))
+ {
+ struct stat buf;
+ time_t t,now,refresh;
+ if(stat(MirrorFile.c_str(), &buf) != 0)
+ return false;
+ t = std::max(buf.st_mtime, buf.st_ctime);
+ now = time(NULL);
+ refresh = 60*_config->FindI("Acquire::Mirror::RefreshInterval",360);
+ if(t + refresh > now)
+ {
+ if(Debug)
+ clog << "Mirror file is in RefreshInterval" << endl;
+ DownloadedMirrorFile = true;
+ return true;
+ }
+ if(Debug)
+ clog << "Mirror file " << MirrorFile << " older than " << refresh << "min, re-download it" << endl;
+ }
+
+ // not that great to use pkgAcquire here, but we do not have
+ // any other way right now
+ string fetch = BaseUri;
+ fetch.replace(0,strlen("mirror://"),"http://");
+
+ pkgAcquire Fetcher;
+ new pkgAcqFile(&Fetcher, fetch, "", 0, "", "", "", MirrorFile);
+ bool res = (Fetcher.Run() == pkgAcquire::Continue);
+ if(res)
+ DownloadedMirrorFile = true;
+ Fetcher.Shutdown();
+ return res;
+}
+
+bool MirrorMethod::SelectMirror()
+{
+ // if we do not have a MirrorFile, fallback
+ if(!FileExists(MirrorFile))
+ {
+ // FIXME: fallback to a default mirror here instead
+ // and provide a config option to define that default
+ return _error->Error(_("No mirror file '%s' found "), MirrorFile.c_str());
+ }
+
+ // FIXME: make the mirror selection more clever, do not
+ // just use the first one!
+ // BUT: we can not make this random, the mirror has to be
+ // stable accross session, because otherwise we can
+ // get into sync issues (got indexfiles from mirror A,
+ // but packages from mirror B - one might be out of date etc)
+ ifstream in(MirrorFile.c_str());
+ getline(in, Mirror);
+ if(Debug)
+ cerr << "Using mirror: " << Mirror << endl;
+
+ UsedMirror = Mirror;
+ return true;
+}
+
+string MirrorMethod::GetMirrorFileName(string mirror_uri_str)
+{
+ /*
+ - a mirror_uri_str looks like this:
+ mirror://people.ubuntu.com/~mvo/apt/mirror/mirrors/dists/feisty/Release.gpg
+
+ - the matching source.list entry
+ deb mirror://people.ubuntu.com/~mvo/apt/mirror/mirrors feisty main
+
+ - we actually want to go after:
+ http://people.ubuntu.com/~mvo/apt/mirror/mirrors
+
+ And we need to save the BaseUri for later:
+ - mirror://people.ubuntu.com/~mvo/apt/mirror/mirrors
+
+ FIXME: what if we have two similar prefixes?
+ mirror://people.ubuntu.com/~mvo/mirror
+ mirror://people.ubuntu.com/~mvo/mirror2
+ then mirror_uri_str looks like:
+ mirror://people.ubuntu.com/~mvo/apt/mirror/dists/feisty/Release.gpg
+ mirror://people.ubuntu.com/~mvo/apt/mirror2/dists/feisty/Release.gpg
+ we search sources.list and find:
+ mirror://people.ubuntu.com/~mvo/apt/mirror
+ in both cases! So we need to apply some domain knowledge here :( and
+ check for /dists/ or /Release.gpg as suffixes
+ */
+ string name;
+ if(Debug)
+ std::cerr << "GetMirrorFileName: " << mirror_uri_str << std::endl;
+
+ // read sources.list and find match
+ vector<metaIndex *>::const_iterator I;
+ pkgSourceList list;
+ list.ReadMainList();
+ for(I=list.begin(); I != list.end(); I++)
+ {
+ string uristr = (*I)->GetURI();
+ if(Debug)
+ std::cerr << "Checking: " << uristr << std::endl;
+ if(uristr.substr(0,strlen("mirror://")) != string("mirror://"))
+ continue;
+ // find matching uri in sources.list
+ if(mirror_uri_str.substr(0,uristr.size()) == uristr)
+ {
+ if(Debug)
+ std::cerr << "found BaseURI: " << uristr << std::endl;
+ BaseUri = uristr.substr(0,uristr.size()-1);
+ }
+ }
+ // get new file
+ name = _config->FindDir("Dir::State::mirrors") + URItoFileName(BaseUri);
+
+ if(Debug)
+ {
+ cerr << "base-uri: " << BaseUri << endl;
+ cerr << "mirror-file: " << name << endl;
+ }
+ return name;
+}
+
+// MirrorMethod::Fetch - Fetch an item /*{{{*/
+// ---------------------------------------------------------------------
+/* This adds an item to the pipeline. We keep the pipeline at a fixed
+ depth. */
+bool MirrorMethod::Fetch(FetchItem *Itm)
+{
+ if(Debug)
+ clog << "MirrorMethod::Fetch()" << endl;
+
+ // the http method uses Fetch(0) as a way to update the pipeline,
+ // just let it do its work in this case - Fetch() with a valid
+ // Itm will always run before the first Fetch(0)
+ if(Itm == NULL)
+ return HttpMethod::Fetch(Itm);
+
+ // if we don't have the name of the mirror file on disk yet,
+ // calculate it now (can be derived from the uri)
+ if(MirrorFile.empty())
+ MirrorFile = GetMirrorFileName(Itm->Uri);
+
+ // download mirror file once (if we are after index files)
+ if(Itm->IndexFile && !DownloadedMirrorFile)
+ {
+ Clean(_config->FindDir("Dir::State::mirrors"));
+ DownloadMirrorFile(Itm->Uri);
+ }
+
+ if(Mirror.empty()) {
+ if(!SelectMirror()) {
+ // no valid mirror selected, something went wrong downloading
+ // from the master mirror site most likely and there is
+ // no old mirror file availalbe
+ return false;
+ }
+ }
+ if(Debug)
+ clog << "selected mirror: " << Mirror << endl;
+
+
+ for (FetchItem *I = Queue; I != 0; I = I->Next)
+ {
+ if(I->Uri.find("mirror://") != string::npos)
+ I->Uri.replace(0,BaseUri.size(), Mirror);
+ }
+
+ // now run the real fetcher
+ return HttpMethod::Fetch(Itm);
+};
+
+void MirrorMethod::Fail(string Err,bool Transient)
+{
+ if(Queue->Uri.find("http://") != string::npos)
+ Queue->Uri.replace(0,Mirror.size(), BaseUri);
+ pkgAcqMethod::Fail(Err, Transient);
+}
+
+void MirrorMethod::URIStart(FetchResult &Res)
+{
+ if(Queue->Uri.find("http://") != string::npos)
+ Queue->Uri.replace(0,Mirror.size(), BaseUri);
+ pkgAcqMethod::URIStart(Res);
+}
+
+void MirrorMethod::URIDone(FetchResult &Res,FetchResult *Alt)
+{
+ if(Queue->Uri.find("http://") != string::npos)
+ Queue->Uri.replace(0,Mirror.size(), BaseUri);
+ pkgAcqMethod::URIDone(Res, Alt);
+}
+
+
+int main()
+{
+ setlocale(LC_ALL, "");
+
+ MirrorMethod Mth;
+
+ return Mth.Loop();
+}
+
+
diff --git a/methods/mirror.h b/methods/mirror.h
new file mode 100644
index 000000000..ed817806b
--- /dev/null
+++ b/methods/mirror.h
@@ -0,0 +1,52 @@
+// -*- mode: cpp; mode: fold -*-
+// Description /*{{{*/// $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $
+// $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $
+/* ######################################################################
+
+ MIRROR Aquire Method - This is the MIRROR aquire method for APT.
+
+ ##################################################################### */
+ /*}}}*/
+
+#ifndef APT_MIRROR_H
+#define APT_MIRROR_H
+
+
+#include <iostream>
+
+using std::cout;
+using std::cerr;
+using std::endl;
+
+#include "http.h"
+
+class MirrorMethod : public HttpMethod
+{
+ FetchResult Res;
+ // we simply transform between BaseUri and Mirror
+ string BaseUri; // the original mirror://... url
+ string Mirror; // the selected mirror uri (http://...)
+ string MirrorFile; // the file that contains the list of mirrors
+ bool DownloadedMirrorFile; // already downloaded this session
+
+ bool Debug;
+
+ protected:
+ bool DownloadMirrorFile(string uri);
+ string GetMirrorFileName(string uri);
+ bool SelectMirror();
+ bool Clean(string dir);
+
+ // we need to overwrite those to transform the url back
+ virtual void Fail(string Why, bool Transient = false);
+ virtual void URIStart(FetchResult &Res);
+ virtual void URIDone(FetchResult &Res,FetchResult *Alt = 0);
+ virtual bool Configuration(string Message);
+
+ public:
+ MirrorMethod();
+ virtual bool Fetch(FetchItem *Itm);
+};
+
+
+#endif
diff --git a/mirror-failure.py b/mirror-failure.py
new file mode 100644
index 000000000..e7d2bbf54
--- /dev/null
+++ b/mirror-failure.py
@@ -0,0 +1,23 @@
+# File: cgihttpserver-example-1.py
+
+import CGIHTTPServer
+import BaseHTTPServer
+
+class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
+ #cgi_directories = ["/cgi"]
+ def do_POST(self):
+ print "do_POST"
+ #print self.command
+ #print self.path
+ #print self.headers
+ print self.client_address
+ data = self.rfile.read(int(self.headers["content-length"]))
+ print data
+ self.wfile.write("200 Ok\n");
+
+PORT = 8000
+
+httpd = BaseHTTPServer.HTTPServer(("", PORT), Handler)
+print "serving at port", PORT
+httpd.serve_forever()
+
diff --git a/po/ar.po b/po/ar.po
index 92f74b614..4cc0cafc0 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt_po\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-21 15:49+0200\n"
+"POT-Creation-Date: 2009-04-22 12:25+0200\n"
"PO-Revision-Date: 2006-10-20 21:28+0300\n"
"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
"Language-Team: Arabic <support@arabeyes.org>\n"
@@ -18,150 +18,155 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: KBabel 1.11.4\n"
-#: cmdline/apt-cache.cc:141
+#: cmdline/apt-cache.cc:143
#, c-format
msgid "Package %s version %s has an unmet dep:\n"
msgstr "الحزمة %s النسخة %s لها معتمد غير مستوفى:\n"
-#: cmdline/apt-cache.cc:181 cmdline/apt-cache.cc:550 cmdline/apt-cache.cc:644
-#: cmdline/apt-cache.cc:800 cmdline/apt-cache.cc:1022
-#: cmdline/apt-cache.cc:1423 cmdline/apt-cache.cc:1575
+#: cmdline/apt-cache.cc:183 cmdline/apt-cache.cc:552 cmdline/apt-cache.cc:640
+#: cmdline/apt-cache.cc:796 cmdline/apt-cache.cc:1018
+#: cmdline/apt-cache.cc:1419 cmdline/apt-cache.cc:1570
#, c-format
msgid "Unable to locate package %s"
msgstr "تعذر العثور على الحزمة %s"
-#: cmdline/apt-cache.cc:245
+#: cmdline/apt-cache.cc:247
msgid "Total package names: "
msgstr "أسماء الحزم الكلية :"
-#: cmdline/apt-cache.cc:285
+#: cmdline/apt-cache.cc:287
msgid " Normal packages: "
msgstr " الحزم العادية:"
-#: cmdline/apt-cache.cc:286
+#: cmdline/apt-cache.cc:288
msgid " Pure virtual packages: "
msgstr "الحزمة الوهمية تماماً:"
-#: cmdline/apt-cache.cc:287
+#: cmdline/apt-cache.cc:289
msgid " Single virtual packages: "
msgstr " الحزمة الوهمية المفردة:"
-#: cmdline/apt-cache.cc:288
+#: cmdline/apt-cache.cc:290
msgid " Mixed virtual packages: "
msgstr " الحزم الوهمية المختلطة:"
-#: cmdline/apt-cache.cc:289
+#: cmdline/apt-cache.cc:291
msgid " Missing: "
msgstr " مفقودة:"
-#: cmdline/apt-cache.cc:291
+#: cmdline/apt-cache.cc:293
msgid "Total distinct versions: "
msgstr "مجموع النسخ الفريدة:"
-#: cmdline/apt-cache.cc:293
+#: cmdline/apt-cache.cc:295
#, fuzzy
msgid "Total distinct descriptions: "
msgstr "مجموع النسخ الفريدة:"
-#: cmdline/apt-cache.cc:295
+#: cmdline/apt-cache.cc:297
msgid "Total dependencies: "
msgstr "مجموع المعتمدات:"
-#: cmdline/apt-cache.cc:298
+#: cmdline/apt-cache.cc:300
msgid "Total ver/file relations: "
msgstr "مجموع علاقات النسخ/الملفات:"
-#: cmdline/apt-cache.cc:300
+#: cmdline/apt-cache.cc:302
#, fuzzy
msgid "Total Desc/File relations: "
msgstr "مجموع علاقات النسخ/الملفات:"
-#: cmdline/apt-cache.cc:302
+#: cmdline/apt-cache.cc:304
msgid "Total Provides mappings: "
msgstr "مجموع علاقات النسخ/الملفات:"
-#: cmdline/apt-cache.cc:314
+#: cmdline/apt-cache.cc:316
msgid "Total globbed strings: "
msgstr ""
-#: cmdline/apt-cache.cc:328
+#: cmdline/apt-cache.cc:330
msgid "Total dependency version space: "
msgstr ""
-#: cmdline/apt-cache.cc:333
+#: cmdline/apt-cache.cc:335
msgid "Total slack space: "
msgstr ""
-#: cmdline/apt-cache.cc:341
+#: cmdline/apt-cache.cc:343
msgid "Total space accounted for: "
msgstr "مجموع المساحة المحسوب حسابها:"
-#: cmdline/apt-cache.cc:469 cmdline/apt-cache.cc:1222
+#: cmdline/apt-cache.cc:471 cmdline/apt-cache.cc:1218
#, c-format
msgid "Package file %s is out of sync."
msgstr ""
-#: cmdline/apt-cache.cc:1297
+#: cmdline/apt-cache.cc:1293
msgid "You must give exactly one pattern"
msgstr "يجب أن تعطي صيغة واحدة بالضبط"
-#: cmdline/apt-cache.cc:1451
+#: cmdline/apt-cache.cc:1447
msgid "No packages found"
msgstr "لم يُعثر على أية حزم"
-#: cmdline/apt-cache.cc:1528
+#: cmdline/apt-cache.cc:1524
msgid "Package files:"
msgstr "ملفات الحزم:"
-#: cmdline/apt-cache.cc:1535 cmdline/apt-cache.cc:1622
+#: cmdline/apt-cache.cc:1531 cmdline/apt-cache.cc:1617
msgid "Cache is out of sync, can't x-ref a package file"
msgstr ""
+#: cmdline/apt-cache.cc:1532
+#, c-format
+msgid "%4i %s\n"
+msgstr "%4i %s\n"
+
#. Show any packages have explicit pins
-#: cmdline/apt-cache.cc:1549
+#: cmdline/apt-cache.cc:1544
msgid "Pinned packages:"
msgstr "الحزم المُدبّسة:"
-#: cmdline/apt-cache.cc:1561 cmdline/apt-cache.cc:1602
+#: cmdline/apt-cache.cc:1556 cmdline/apt-cache.cc:1597
msgid "(not found)"
msgstr "(غير موجود)"
#. Installed version
-#: cmdline/apt-cache.cc:1582
+#: cmdline/apt-cache.cc:1577
msgid " Installed: "
msgstr " مُثبّت:"
-#: cmdline/apt-cache.cc:1584 cmdline/apt-cache.cc:1592
+#: cmdline/apt-cache.cc:1579 cmdline/apt-cache.cc:1587
msgid "(none)"
msgstr "(لاشيء)"
#. Candidate Version
-#: cmdline/apt-cache.cc:1589
+#: cmdline/apt-cache.cc:1584
msgid " Candidate: "
msgstr " مرشّح: "
-#: cmdline/apt-cache.cc:1599
+#: cmdline/apt-cache.cc:1594
msgid " Package pin: "
msgstr ""
#. Show the priority tables
-#: cmdline/apt-cache.cc:1608
+#: cmdline/apt-cache.cc:1603
msgid " Version table:"
msgstr " جدول النسخ:"
-#: cmdline/apt-cache.cc:1623
+#: cmdline/apt-cache.cc:1618
#, c-format
msgid " %4i %s\n"
msgstr " %4i %s\n"
-#: cmdline/apt-cache.cc:1719 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
+#: cmdline/apt-cache.cc:1714 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547
-#: cmdline/apt-get.cc:2586 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:2582 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s لـ%s %s مُجمّع على %s %s\n"
-#: cmdline/apt-cache.cc:1726
+#: cmdline/apt-cache.cc:1721
msgid ""
"Usage: apt-cache [options] command\n"
" apt-cache [options] add file1 [file2 ...]\n"
@@ -550,79 +555,79 @@ msgstr ""
msgid "Failed to rename %s to %s"
msgstr "فشل تغيير اسم %s إلى %s"
-#: cmdline/apt-get.cc:127
+#: cmdline/apt-get.cc:124
msgid "Y"
msgstr "Y"
-#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1661
+#: cmdline/apt-get.cc:146 cmdline/apt-get.cc:1658
#, c-format
msgid "Regex compilation error - %s"
msgstr ""
-#: cmdline/apt-get.cc:244
+#: cmdline/apt-get.cc:241
msgid "The following packages have unmet dependencies:"
msgstr ""
-#: cmdline/apt-get.cc:334
+#: cmdline/apt-get.cc:331
#, c-format
msgid "but %s is installed"
msgstr "إلا أن %s مثبت"
-#: cmdline/apt-get.cc:336
+#: cmdline/apt-get.cc:333
#, c-format
msgid "but %s is to be installed"
msgstr "إلا أنه سيتم تثبيت %s"
-#: cmdline/apt-get.cc:343
+#: cmdline/apt-get.cc:340
msgid "but it is not installable"
msgstr "إلا أنه غير قابل للتثبيت"
-#: cmdline/apt-get.cc:345
+#: cmdline/apt-get.cc:342
msgid "but it is a virtual package"
msgstr "إلا أنها حزمة وهمية"
-#: cmdline/apt-get.cc:348
+#: cmdline/apt-get.cc:345
msgid "but it is not installed"
msgstr "إلا أنها غير مثبتة"
-#: cmdline/apt-get.cc:348
+#: cmdline/apt-get.cc:345
msgid "but it is not going to be installed"
msgstr "إلا أنه لن يتم تثبيتها"
-#: cmdline/apt-get.cc:353
+#: cmdline/apt-get.cc:350
msgid " or"
msgstr " أو"
-#: cmdline/apt-get.cc:382
+#: cmdline/apt-get.cc:379
msgid "The following NEW packages will be installed:"
msgstr "سيتم تثبيت الحزم الجديدة التالية:"
-#: cmdline/apt-get.cc:408
+#: cmdline/apt-get.cc:405
msgid "The following packages will be REMOVED:"
msgstr "سيتم إزالة الحزم التالية:"
-#: cmdline/apt-get.cc:430
+#: cmdline/apt-get.cc:427
msgid "The following packages have been kept back:"
msgstr "سيتم الإبقاء على الحزم التالية:"
-#: cmdline/apt-get.cc:451
+#: cmdline/apt-get.cc:448
msgid "The following packages will be upgraded:"
msgstr "ستتم ترقية الحزم التالية:"
-#: cmdline/apt-get.cc:472
+#: cmdline/apt-get.cc:469
msgid "The following packages will be DOWNGRADED:"
msgstr "سيتم تثبيط الحزم التالية:"
-#: cmdline/apt-get.cc:492
+#: cmdline/apt-get.cc:489
msgid "The following held packages will be changed:"
msgstr "سيتم تغيير الحزم المبقاة التالية:"
-#: cmdline/apt-get.cc:545
+#: cmdline/apt-get.cc:542
#, c-format
msgid "%s (due to %s) "
msgstr "%s (بسبب %s) "
-#: cmdline/apt-get.cc:553
+#: cmdline/apt-get.cc:550
msgid ""
"WARNING: The following essential packages will be removed.\n"
"This should NOT be done unless you know exactly what you are doing!"
@@ -630,143 +635,143 @@ msgstr ""
"تحذير: ستتم إزالة الحزم الأساسية التالية.\n"
"لا يجب أن تقوم بهذا إلى إن كنت تعرف تماماً ما تقوم به!"
-#: cmdline/apt-get.cc:584
+#: cmdline/apt-get.cc:581
#, c-format
msgid "%lu upgraded, %lu newly installed, "
msgstr "%lu سيتم ترقيتها، %lu مثبتة حديثاً، "
-#: cmdline/apt-get.cc:588
+#: cmdline/apt-get.cc:585
#, c-format
msgid "%lu reinstalled, "
msgstr "%lu أعيد تثبيتها، "
-#: cmdline/apt-get.cc:590
+#: cmdline/apt-get.cc:587
#, c-format
msgid "%lu downgraded, "
msgstr "%lu مثبطة، "
-#: cmdline/apt-get.cc:592
+#: cmdline/apt-get.cc:589
#, c-format
msgid "%lu to remove and %lu not upgraded.\n"
msgstr "%lu لإزالتها و %lu لم يتم ترقيتها.\n"
-#: cmdline/apt-get.cc:596
+#: cmdline/apt-get.cc:593
#, c-format
msgid "%lu not fully installed or removed.\n"
msgstr "%lu غير مثبتة بالكامل أو مزالة.\n"
-#: cmdline/apt-get.cc:670
+#: cmdline/apt-get.cc:667
msgid "Correcting dependencies..."
msgstr "تصحيح المعتمدات..."
-#: cmdline/apt-get.cc:673
+#: cmdline/apt-get.cc:670
msgid " failed."
msgstr " فشل."
-#: cmdline/apt-get.cc:676
+#: cmdline/apt-get.cc:673
msgid "Unable to correct dependencies"
msgstr "لم يمكن تصحيح المعتمدات"
-#: cmdline/apt-get.cc:679
+#: cmdline/apt-get.cc:676
msgid "Unable to minimize the upgrade set"
msgstr "لم يمكن تقليص مجموعة الترقية"
-#: cmdline/apt-get.cc:681
+#: cmdline/apt-get.cc:678
msgid " Done"
msgstr " تم"
-#: cmdline/apt-get.cc:685
+#: cmdline/apt-get.cc:682
msgid "You might want to run `apt-get -f install' to correct these."
msgstr "قد ترغب بتنفيذ الأمر `apt-get -f install' لتصحيح هذه."
-#: cmdline/apt-get.cc:688
+#: cmdline/apt-get.cc:685
msgid "Unmet dependencies. Try using -f."
msgstr "مُعتمدات غير مستوفاة. حاول استخدام -f."
-#: cmdline/apt-get.cc:710
+#: cmdline/apt-get.cc:707
msgid "WARNING: The following packages cannot be authenticated!"
msgstr "تحذير: تعذرت المصادقة على الحزم التالية!"
-#: cmdline/apt-get.cc:714
+#: cmdline/apt-get.cc:711
msgid "Authentication warning overridden.\n"
msgstr "تم غض النظر عن تحذير المصادقة.\n"
-#: cmdline/apt-get.cc:721
+#: cmdline/apt-get.cc:718
msgid "Install these packages without verification [y/N]? "
msgstr "تثبيت هذه الحزم دون التحقق منها [y/N]؟ "
-#: cmdline/apt-get.cc:723
+#: cmdline/apt-get.cc:720
msgid "Some packages could not be authenticated"
msgstr "تعذرت المصادقة على بعض الحزم"
-#: cmdline/apt-get.cc:732 cmdline/apt-get.cc:884
+#: cmdline/apt-get.cc:729 cmdline/apt-get.cc:881
msgid "There are problems and -y was used without --force-yes"
msgstr "هناك مشاكل وتم استخدام -y دون --force-yes"
-#: cmdline/apt-get.cc:776
+#: cmdline/apt-get.cc:773
msgid "Internal error, InstallPackages was called with broken packages!"
msgstr "خطأ داخلي، تم طلب InstallPackages مع وجود حزم معطوبة!"
-#: cmdline/apt-get.cc:785
+#: cmdline/apt-get.cc:782
msgid "Packages need to be removed but remove is disabled."
msgstr "حزم بحاجة للإزالة لكن الإزالة مُعطّلة."
-#: cmdline/apt-get.cc:796
+#: cmdline/apt-get.cc:793
msgid "Internal error, Ordering didn't finish"
msgstr "خطأ داخلي، لم تنته عملية الترتيب"
-#: cmdline/apt-get.cc:812 cmdline/apt-get.cc:2003 cmdline/apt-get.cc:2036
+#: cmdline/apt-get.cc:809 cmdline/apt-get.cc:1999 cmdline/apt-get.cc:2032
msgid "Unable to lock the download directory"
msgstr "تعذر قَفْل دليل التنزيل"
-#: cmdline/apt-get.cc:822 cmdline/apt-get.cc:2084 cmdline/apt-get.cc:2330
+#: cmdline/apt-get.cc:819 cmdline/apt-get.cc:2080 cmdline/apt-get.cc:2326
#: apt-pkg/cachefile.cc:65
msgid "The list of sources could not be read."
msgstr "تعذرت قراءة قائمة المصادر."
-#: cmdline/apt-get.cc:837
+#: cmdline/apt-get.cc:834
msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
msgstr "يا للغرابة.. لم تتطابق الأحجام، الرجاء مراسلة apt@packages.debian.org"
-#: cmdline/apt-get.cc:842
+#: cmdline/apt-get.cc:839
#, c-format
msgid "Need to get %sB/%sB of archives.\n"
msgstr "بحاجة إلى جلب %sب/%sب من الأرشيف.\n"
-#: cmdline/apt-get.cc:845
+#: cmdline/apt-get.cc:842
#, c-format
msgid "Need to get %sB of archives.\n"
msgstr "بحاجة إلى جلب %sب من الأرشيف.\n"
-#: cmdline/apt-get.cc:850
+#: cmdline/apt-get.cc:847
#, fuzzy, c-format
msgid "After this operation, %sB of additional disk space will be used.\n"
msgstr "بعد الاستخراج %sب من المساحة الإضافيّة سيتمّ استخدامها.\n"
-#: cmdline/apt-get.cc:853
+#: cmdline/apt-get.cc:850
#, fuzzy, c-format
msgid "After this operation, %sB disk space will be freed.\n"
msgstr "بعد الاستخراج %sب من المساحة ستفرّغ.\n"
-#: cmdline/apt-get.cc:867 cmdline/apt-get.cc:2179
+#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:2175
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "تعذر حساب المساحة الحرة في %s"
-#: cmdline/apt-get.cc:874
+#: cmdline/apt-get.cc:871
#, c-format
msgid "You don't have enough free space in %s."
msgstr "ليس هناك مساحة كافية في %s."
-#: cmdline/apt-get.cc:890 cmdline/apt-get.cc:910
+#: cmdline/apt-get.cc:887 cmdline/apt-get.cc:907
msgid "Trivial Only specified but this is not a trivial operation."
msgstr ""
-#: cmdline/apt-get.cc:892
+#: cmdline/apt-get.cc:889
msgid "Yes, do as I say!"
msgstr "نعم، افعل ما أقوله!"
-#: cmdline/apt-get.cc:894
+#: cmdline/apt-get.cc:891
#, c-format
msgid ""
"You are about to do something potentially harmful.\n"
@@ -777,28 +782,28 @@ msgstr ""
"كي تستمر اكتب العبارة '%s'\n"
" ؟] "
-#: cmdline/apt-get.cc:900 cmdline/apt-get.cc:919
+#: cmdline/apt-get.cc:897 cmdline/apt-get.cc:916
msgid "Abort."
msgstr "إجهاض."
-#: cmdline/apt-get.cc:915
+#: cmdline/apt-get.cc:912
msgid "Do you want to continue [Y/n]? "
msgstr "هل تريد الاستمرار [Y/n]؟"
-#: cmdline/apt-get.cc:987 cmdline/apt-get.cc:2227 apt-pkg/algorithms.cc:1407
+#: cmdline/apt-get.cc:984 cmdline/apt-get.cc:2223 apt-pkg/algorithms.cc:1349
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "فشل إحضار %s %s\n"
-#: cmdline/apt-get.cc:1005
+#: cmdline/apt-get.cc:1002
msgid "Some files failed to download"
msgstr "فشل تنزيل بعض الملفات"
-#: cmdline/apt-get.cc:1006 cmdline/apt-get.cc:2236
+#: cmdline/apt-get.cc:1003 cmdline/apt-get.cc:2232
msgid "Download complete and in download only mode"
msgstr "اكتمل التنزيل وفي وضع التنزيل فقط"
-#: cmdline/apt-get.cc:1012
+#: cmdline/apt-get.cc:1009
msgid ""
"Unable to fetch some archives, maybe run apt-get update or try with --fix-"
"missing?"
@@ -806,47 +811,47 @@ msgstr ""
"تعذر إحضار بعض الأرشيف، ربما يمكنك محاولة تنفيذ apt-get update أو إضافة --"
"fix-missing؟"
-#: cmdline/apt-get.cc:1016
+#: cmdline/apt-get.cc:1013
msgid "--fix-missing and media swapping is not currently supported"
msgstr "--fix-missing وتبديل الأوساط غير مدعومة حالياً"
-#: cmdline/apt-get.cc:1021
+#: cmdline/apt-get.cc:1018
msgid "Unable to correct missing packages."
msgstr "تعذر تصحيح الحزم المفقودة."
-#: cmdline/apt-get.cc:1022
+#: cmdline/apt-get.cc:1019
msgid "Aborting install."
msgstr "إجهاض التثبيت."
-#: cmdline/apt-get.cc:1056
+#: cmdline/apt-get.cc:1053
#, c-format
msgid "Note, selecting %s instead of %s\n"
msgstr "لاحظ، تحديد %s بدلاً من %s\n"
-#: cmdline/apt-get.cc:1066
+#: cmdline/apt-get.cc:1063
#, c-format
msgid "Skipping %s, it is already installed and upgrade is not set.\n"
msgstr "تخطّي %s، حيث أنها مثبتة ولم يتمّ تعيين الترقية.\n"
-#: cmdline/apt-get.cc:1084
+#: cmdline/apt-get.cc:1081
#, c-format
msgid "Package %s is not installed, so not removed\n"
msgstr "الحزمة %s غير مُثبّتة، لذلك لن تُزال\n"
-#: cmdline/apt-get.cc:1095
+#: cmdline/apt-get.cc:1092
#, c-format
msgid "Package %s is a virtual package provided by:\n"
msgstr "الحزمة %s وهميّة وتوفّرها:\n"
-#: cmdline/apt-get.cc:1107
+#: cmdline/apt-get.cc:1104
msgid " [Installed]"
msgstr " [مُثبّتة]"
-#: cmdline/apt-get.cc:1112
+#: cmdline/apt-get.cc:1109
msgid "You should explicitly select one to install."
msgstr "يجب اختيار واحدة بالتحديد لتثبيتها."
-#: cmdline/apt-get.cc:1117
+#: cmdline/apt-get.cc:1114
#, c-format
msgid ""
"Package %s is not available, but is referred to by another package.\n"
@@ -854,69 +859,69 @@ msgid ""
"is only available from another source\n"
msgstr ""
-#: cmdline/apt-get.cc:1136
+#: cmdline/apt-get.cc:1133
msgid "However the following packages replace it:"
msgstr "على أيّ فإن الحزم التالية تحلّ مكانها:"
-#: cmdline/apt-get.cc:1139
+#: cmdline/apt-get.cc:1136
#, c-format
msgid "Package %s has no installation candidate"
msgstr "الحزمة %s ليس لها مرشح تثبيت"
-#: cmdline/apt-get.cc:1159
+#: cmdline/apt-get.cc:1156
#, c-format
msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
msgstr "إعادة تثبيت %s غير ممكنة، حيث أنّه لا يمكن تنزيلها.\n"
-#: cmdline/apt-get.cc:1167
+#: cmdline/apt-get.cc:1164
#, c-format
msgid "%s is already the newest version.\n"
msgstr "%s هي النسخة الأحدث.\n"
-#: cmdline/apt-get.cc:1196
+#: cmdline/apt-get.cc:1193
#, c-format
msgid "Release '%s' for '%s' was not found"
msgstr "تعذر العثور على الإصدارة '%s' للحزمة '%s'"
-#: cmdline/apt-get.cc:1198
+#: cmdline/apt-get.cc:1195
#, c-format
msgid "Version '%s' for '%s' was not found"
msgstr "تعذر العثور على النسخة '%s' للحزمة '%s'"
-#: cmdline/apt-get.cc:1204
+#: cmdline/apt-get.cc:1201
#, c-format
msgid "Selected version %s (%s) for %s\n"
msgstr "النسخة المحددة %s (%s) للإصدارة %s\n"
-#: cmdline/apt-get.cc:1310
+#: cmdline/apt-get.cc:1307
#, c-format
msgid "No source package '%s' picking '%s' instead\n"
msgstr ""
-#: cmdline/apt-get.cc:1348
+#: cmdline/apt-get.cc:1345
msgid "The update command takes no arguments"
msgstr "لا يقبل الأمر update أية مُعطيات"
-#: cmdline/apt-get.cc:1361
+#: cmdline/apt-get.cc:1358
msgid "Unable to lock the list directory"
msgstr "تعذر قفل دليل القائمة"
-#: cmdline/apt-get.cc:1413
+#: cmdline/apt-get.cc:1410
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1445
+#: cmdline/apt-get.cc:1442
#, fuzzy
msgid ""
"The following packages were automatically installed and are no longer "
"required:"
msgstr "سيتم تثبيت الحزم الجديدة التالية:"
-#: cmdline/apt-get.cc:1447
+#: cmdline/apt-get.cc:1444
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1452
+#: cmdline/apt-get.cc:1449
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -932,51 +937,51 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1455 cmdline/apt-get.cc:1745
+#: cmdline/apt-get.cc:1452 cmdline/apt-get.cc:1742
msgid "The following information may help to resolve the situation:"
msgstr "قد تساعد المعلومات التالية في حل المشكلة:"
-#: cmdline/apt-get.cc:1459
+#: cmdline/apt-get.cc:1456
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "خطأ داخلي، عطب AllUpgrade بعض الأشياء"
-#: cmdline/apt-get.cc:1478
+#: cmdline/apt-get.cc:1475
msgid "Internal error, AllUpgrade broke stuff"
msgstr "خطأ داخلي، عطب AllUpgrade بعض الأشياء"
-#: cmdline/apt-get.cc:1533
+#: cmdline/apt-get.cc:1530
#, fuzzy, c-format
msgid "Couldn't find task %s"
msgstr "تعذر العثور على الحزمة %s"
-#: cmdline/apt-get.cc:1648 cmdline/apt-get.cc:1684
+#: cmdline/apt-get.cc:1645 cmdline/apt-get.cc:1681
#, c-format
msgid "Couldn't find package %s"
msgstr "تعذر العثور على الحزمة %s"
-#: cmdline/apt-get.cc:1671
+#: cmdline/apt-get.cc:1668
#, c-format
msgid "Note, selecting %s for regex '%s'\n"
msgstr "لاحظ، تحديد %s بسبب صيغة regex '%s'\n"
-#: cmdline/apt-get.cc:1702
+#: cmdline/apt-get.cc:1699
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "إلا أنه سيتم تثبيت %s"
-#: cmdline/apt-get.cc:1715
+#: cmdline/apt-get.cc:1712
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr "قد ترغب بتشغيل `apt-get -f install' لتصحيح هذه:"
-#: cmdline/apt-get.cc:1718
+#: cmdline/apt-get.cc:1715
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
"مُعتمدات غير مستوفاة. جرب 'apt-get -f install' بدون أسماء حزم (أو حدّد حلاً)."
-#: cmdline/apt-get.cc:1730
+#: cmdline/apt-get.cc:1727
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"
@@ -984,152 +989,152 @@ msgid ""
"or been moved out of Incoming."
msgstr ""
-#: cmdline/apt-get.cc:1748
+#: cmdline/apt-get.cc:1745
msgid "Broken packages"
msgstr "حزم معطوبة"
-#: cmdline/apt-get.cc:1777
+#: cmdline/apt-get.cc:1774
msgid "The following extra packages will be installed:"
msgstr "سيتم تثبيت الحزم الإضافيّة التالية:"
-#: cmdline/apt-get.cc:1866
+#: cmdline/apt-get.cc:1863
msgid "Suggested packages:"
msgstr "الحزم المقترحة:"
-#: cmdline/apt-get.cc:1867
+#: cmdline/apt-get.cc:1864
msgid "Recommended packages:"
msgstr "الحزم المستحسنة:"
-#: cmdline/apt-get.cc:1896
+#: cmdline/apt-get.cc:1892
msgid "Calculating upgrade... "
msgstr "حساب الترقية..."
-#: cmdline/apt-get.cc:1899 methods/ftp.cc:702 methods/connect.cc:112
+#: cmdline/apt-get.cc:1895 methods/ftp.cc:702 methods/connect.cc:112
msgid "Failed"
msgstr "فشل"
-#: cmdline/apt-get.cc:1904
+#: cmdline/apt-get.cc:1900
msgid "Done"
msgstr "تمّ"
-#: cmdline/apt-get.cc:1971 cmdline/apt-get.cc:1979
+#: cmdline/apt-get.cc:1967 cmdline/apt-get.cc:1975
msgid "Internal error, problem resolver broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:2079
+#: cmdline/apt-get.cc:2075
msgid "Must specify at least one package to fetch source for"
msgstr "يجب تحديد حزمة واحدة على الأقل لجلب مصدرها"
-#: cmdline/apt-get.cc:2109 cmdline/apt-get.cc:2348
+#: cmdline/apt-get.cc:2105 cmdline/apt-get.cc:2344
#, c-format
msgid "Unable to find a source package for %s"
msgstr "تعذر العثور على مصدر الحزمة %s"
-#: cmdline/apt-get.cc:2158
+#: cmdline/apt-get.cc:2154
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "تخطي الملف '%s' المنزل مسبقاً\n"
-#: cmdline/apt-get.cc:2186
+#: cmdline/apt-get.cc:2182
#, c-format
msgid "You don't have enough free space in %s"
msgstr "ليس هناك مساحة كافية في %s"
-#: cmdline/apt-get.cc:2192
+#: cmdline/apt-get.cc:2188
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "يجب جلب %sب/%sب من الأرشيفات المصدرية.\n"
-#: cmdline/apt-get.cc:2195
+#: cmdline/apt-get.cc:2191
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "يجب جلب %sب من الأرشيفات المصدريّة.\n"
-#: cmdline/apt-get.cc:2201
+#: cmdline/apt-get.cc:2197
#, c-format
msgid "Fetch source %s\n"
msgstr "إحضار المصدر %s\n"
-#: cmdline/apt-get.cc:2232
+#: cmdline/apt-get.cc:2228
msgid "Failed to fetch some archives."
msgstr "فشل إحضار بعض الأرشيفات."
-#: cmdline/apt-get.cc:2260
+#: cmdline/apt-get.cc:2256
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2272
+#: cmdline/apt-get.cc:2268
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "أمر فك الحزمة '%s' فشل.\n"
-#: cmdline/apt-get.cc:2273
+#: cmdline/apt-get.cc:2269
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2290
+#: cmdline/apt-get.cc:2286
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "أمر البناء '%s' فشل.\n"
-#: cmdline/apt-get.cc:2309
+#: cmdline/apt-get.cc:2305
msgid "Child process failed"
msgstr ""
-#: cmdline/apt-get.cc:2325
+#: cmdline/apt-get.cc:2321
msgid "Must specify at least one package to check builddeps for"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2349
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
-#: cmdline/apt-get.cc:2373
+#: cmdline/apt-get.cc:2369
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
-#: cmdline/apt-get.cc:2425
+#: cmdline/apt-get.cc:2421
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
-#: cmdline/apt-get.cc:2478
+#: cmdline/apt-get.cc:2474
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because no available versions of "
"package %s can satisfy version requirements"
msgstr ""
-#: cmdline/apt-get.cc:2514
+#: cmdline/apt-get.cc:2510
#, c-format
msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
msgstr ""
-#: cmdline/apt-get.cc:2541
+#: cmdline/apt-get.cc:2537
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
-#: cmdline/apt-get.cc:2555
+#: cmdline/apt-get.cc:2551
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
-#: cmdline/apt-get.cc:2559
+#: cmdline/apt-get.cc:2555
msgid "Failed to process build dependencies"
msgstr ""
-#: cmdline/apt-get.cc:2591
+#: cmdline/apt-get.cc:2587
msgid "Supported modules:"
msgstr "الوحدات المدعومة:"
-#: cmdline/apt-get.cc:2632
+#: cmdline/apt-get.cc:2628
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1173,14 +1178,6 @@ msgid ""
" This APT has Super Cow Powers.\n"
msgstr ""
-#: cmdline/apt-get.cc:2799
-msgid ""
-"NOTE: This is only a simulation!\n"
-" apt-get needs root privileges for real execution.\n"
-" Keep also in mind that locking is deactivated,\n"
-" so don't depend on the relevance to the real current situation!"
-msgstr ""
-
#: cmdline/acqprogress.cc:55
msgid "Hit "
msgstr ""
@@ -1399,9 +1396,9 @@ msgstr ""
msgid "File %s/%s overwrites the one in the package %s"
msgstr ""
-#: apt-inst/extract.cc:464 apt-pkg/contrib/configuration.cc:822
+#: apt-inst/extract.cc:464 apt-pkg/contrib/configuration.cc:821
#: apt-pkg/contrib/cdromutl.cc:150 apt-pkg/sourcelist.cc:320
-#: apt-pkg/acquire.cc:419 apt-pkg/clean.cc:34 apt-pkg/policy.cc:268
+#: apt-pkg/acquire.cc:418 apt-pkg/clean.cc:34
#, c-format
msgid "Unable to read %s"
msgstr "تعذرت قراءة %s"
@@ -1630,7 +1627,7 @@ msgstr "انتهى وقت الاتصال"
msgid "Server closed the connection"
msgstr "أغلق الخادم الاتصال"
-#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:541 methods/rsh.cc:190
+#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:538 methods/rsh.cc:190
msgid "Read error"
msgstr "خطأ في القراءة"
@@ -1642,7 +1639,7 @@ msgstr ""
msgid "Protocol corruption"
msgstr ""
-#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:580 methods/rsh.cc:232
+#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:577 methods/rsh.cc:232
msgid "Write error"
msgstr "خطأ في الكتابة"
@@ -1945,7 +1942,7 @@ msgstr ""
msgid "%lis"
msgstr ""
-#: apt-pkg/contrib/strutl.cc:1029
+#: apt-pkg/contrib/strutl.cc:1018
#, c-format
msgid "Selection %s not found"
msgstr "تعذر العثور على التحديد %s"
@@ -1960,42 +1957,42 @@ msgstr "اختصار نوع مجهول: '%c'"
msgid "Opening configuration file %s"
msgstr "فتح ملف التهيئة %s"
-#: apt-pkg/contrib/configuration.cc:663
+#: apt-pkg/contrib/configuration.cc:662
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr ""
-#: apt-pkg/contrib/configuration.cc:682
+#: apt-pkg/contrib/configuration.cc:681
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:699
+#: apt-pkg/contrib/configuration.cc:698
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:739
+#: apt-pkg/contrib/configuration.cc:738
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:746
+#: apt-pkg/contrib/configuration.cc:745
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:750 apt-pkg/contrib/configuration.cc:755
+#: apt-pkg/contrib/configuration.cc:749 apt-pkg/contrib/configuration.cc:754
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:759
+#: apt-pkg/contrib/configuration.cc:758
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:810
+#: apt-pkg/contrib/configuration.cc:809
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr ""
@@ -2062,7 +2059,7 @@ msgid "Unable to stat the mount point %s"
msgstr ""
#: apt-pkg/contrib/cdromutl.cc:146 apt-pkg/contrib/cdromutl.cc:180
-#: apt-pkg/acquire.cc:425 apt-pkg/acquire.cc:450 apt-pkg/clean.cc:40
+#: apt-pkg/acquire.cc:424 apt-pkg/acquire.cc:449 apt-pkg/clean.cc:40
#, c-format
msgid "Unable to change to %s"
msgstr ""
@@ -2096,153 +2093,144 @@ msgstr ""
msgid "Waited for %s but it wasn't there"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:455
+#: apt-pkg/contrib/fileutl.cc:454
#, c-format
msgid "Sub-process %s received a segmentation fault."
msgstr ""
#: apt-pkg/contrib/fileutl.cc:457
#, c-format
-msgid "Sub-process %s received signal %u."
-msgstr ""
-
-#: apt-pkg/contrib/fileutl.cc:460
-#, c-format
msgid "Sub-process %s returned an error code (%u)"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:462
+#: apt-pkg/contrib/fileutl.cc:459
#, c-format
msgid "Sub-process %s exited unexpectedly"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:506
+#: apt-pkg/contrib/fileutl.cc:503
#, c-format
msgid "Could not open file %s"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:562
+#: apt-pkg/contrib/fileutl.cc:559
#, c-format
msgid "read, still have %lu to read but none left"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:592
+#: apt-pkg/contrib/fileutl.cc:589
#, c-format
msgid "write, still have %lu to write but couldn't"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:667
+#: apt-pkg/contrib/fileutl.cc:664
msgid "Problem closing the file"
msgstr "مشكلة في إغلاق الملف"
-#: apt-pkg/contrib/fileutl.cc:673
+#: apt-pkg/contrib/fileutl.cc:670
msgid "Problem unlinking the file"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:684
+#: apt-pkg/contrib/fileutl.cc:681
msgid "Problem syncing the file"
msgstr "مشكلة في مزامنة الملف"
-#: apt-pkg/pkgcache.cc:133
+#: apt-pkg/pkgcache.cc:132
msgid "Empty package cache"
msgstr ""
-#: apt-pkg/pkgcache.cc:139
+#: apt-pkg/pkgcache.cc:138
msgid "The package cache file is corrupted"
msgstr ""
-#: apt-pkg/pkgcache.cc:144
+#: apt-pkg/pkgcache.cc:143
msgid "The package cache file is an incompatible version"
msgstr ""
-#: apt-pkg/pkgcache.cc:149
+#: apt-pkg/pkgcache.cc:148
#, c-format
msgid "This APT does not support the versioning system '%s'"
msgstr ""
-#: apt-pkg/pkgcache.cc:154
+#: apt-pkg/pkgcache.cc:153
msgid "The package cache was built for a different architecture"
msgstr ""
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "Depends"
msgstr "يعتمد"
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "PreDepends"
msgstr "يعتمد مسبقاً"
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "Suggests"
msgstr "يستحسن"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Recommends"
msgstr "يقترح"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Conflicts"
msgstr "يعارض"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Replaces"
msgstr "يستبدل"
-#: apt-pkg/pkgcache.cc:227
+#: apt-pkg/pkgcache.cc:226
msgid "Obsoletes"
msgstr "يُلغي"
-#: apt-pkg/pkgcache.cc:227
+#: apt-pkg/pkgcache.cc:226
msgid "Breaks"
msgstr ""
-#: apt-pkg/pkgcache.cc:227
-msgid "Enhances"
-msgstr ""
-
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "important"
msgstr "مهم"
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "required"
msgstr "مطلوب"
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "standard"
msgstr "قياسي"
-#: apt-pkg/pkgcache.cc:239
+#: apt-pkg/pkgcache.cc:238
msgid "optional"
msgstr "اختياري"
-#: apt-pkg/pkgcache.cc:239
+#: apt-pkg/pkgcache.cc:238
msgid "extra"
msgstr "إضافي"
-#: apt-pkg/depcache.cc:123 apt-pkg/depcache.cc:152
+#: apt-pkg/depcache.cc:121 apt-pkg/depcache.cc:150
msgid "Building dependency tree"
msgstr ""
-#: apt-pkg/depcache.cc:124
+#: apt-pkg/depcache.cc:122
msgid "Candidate versions"
msgstr ""
-#: apt-pkg/depcache.cc:153
+#: apt-pkg/depcache.cc:151
msgid "Dependency generation"
msgstr ""
-#: apt-pkg/depcache.cc:174 apt-pkg/depcache.cc:193 apt-pkg/depcache.cc:197
+#: apt-pkg/depcache.cc:172 apt-pkg/depcache.cc:191 apt-pkg/depcache.cc:195
#, fuzzy
msgid "Reading state information"
msgstr "دمج المعلومات المتوفرة"
-#: apt-pkg/depcache.cc:221
+#: apt-pkg/depcache.cc:219
#, fuzzy, c-format
msgid "Failed to open StateFile %s"
msgstr "فشل فتح %s"
-#: apt-pkg/depcache.cc:227
+#: apt-pkg/depcache.cc:225
#, fuzzy, c-format
msgid "Failed to write temporary StateFile %s"
msgstr "فشلت كتابة الملف %s"
@@ -2326,40 +2314,40 @@ msgid ""
"The package %s needs to be reinstalled, but I can't find an archive for it."
msgstr ""
-#: apt-pkg/algorithms.cc:1154
+#: apt-pkg/algorithms.cc:1107
msgid ""
"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
"held packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1156
+#: apt-pkg/algorithms.cc:1109
msgid "Unable to correct problems, you have held broken packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1433 apt-pkg/algorithms.cc:1435
+#: apt-pkg/algorithms.cc:1375 apt-pkg/algorithms.cc:1377
msgid ""
"Some index files failed to download, they have been ignored, or old ones "
"used instead."
msgstr ""
-#: apt-pkg/acquire.cc:60
+#: apt-pkg/acquire.cc:59
#, c-format
msgid "Lists directory %spartial is missing."
msgstr ""
-#: apt-pkg/acquire.cc:64
+#: apt-pkg/acquire.cc:63
#, c-format
msgid "Archive directory %spartial is missing."
msgstr ""
#. only show the ETA if it makes sense
#. two days
-#: apt-pkg/acquire.cc:829
+#: apt-pkg/acquire.cc:828
#, c-format
msgid "Retrieving file %li of %li (%s remaining)"
msgstr ""
-#: apt-pkg/acquire.cc:831
+#: apt-pkg/acquire.cc:830
#, c-format
msgid "Retrieving file %li of %li"
msgstr ""
@@ -2379,12 +2367,12 @@ msgstr ""
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "الرجاء إدخال القرص المُسمّى '%s' في السوّاقة '%s' وضغط مفتاح الإدخال."
-#: apt-pkg/init.cc:125
+#: apt-pkg/init.cc:124
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "نظام الحزم '%s' غير مدعوم"
-#: apt-pkg/init.cc:141
+#: apt-pkg/init.cc:140
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@@ -2405,17 +2393,16 @@ msgstr ""
msgid "You may want to run apt-get update to correct these problems"
msgstr "قد يساعدك تنفيذ الأمر apt-get update في تصحيح هذه المشاكل"
-#: apt-pkg/policy.cc:329
-#, c-format
-msgid "Invalid record in the preferences file %s, no Package header"
+#: apt-pkg/policy.cc:267
+msgid "Invalid record in the preferences file, no Package header"
msgstr ""
-#: apt-pkg/policy.cc:351
+#: apt-pkg/policy.cc:289
#, c-format
msgid "Did not understand pin type %s"
msgstr ""
-#: apt-pkg/policy.cc:359
+#: apt-pkg/policy.cc:297
msgid "No priority (or zero) specified for pin"
msgstr ""
@@ -2554,23 +2541,6 @@ msgstr ""
msgid "Size mismatch"
msgstr "الحجم غير متطابق"
-#: apt-pkg/indexrecords.cc:40
-#, fuzzy, c-format
-#| msgid "Unable to open DB file %s: %s"
-msgid "Unable to parse Release file %s"
-msgstr "تعذر فتح ملف قاعدة البيانات %s: %s"
-
-#: apt-pkg/indexrecords.cc:47
-#, fuzzy, c-format
-#| msgid "Note, selecting %s instead of %s\n"
-msgid "No sections in Release file %s"
-msgstr "لاحظ، تحديد %s بدلاً من %s\n"
-
-#: apt-pkg/indexrecords.cc:81
-#, c-format
-msgid "No Hash entry in Release file %s"
-msgstr ""
-
#: apt-pkg/vendorlist.cc:66
#, c-format
msgid "Vendor block %s contains no fingerprint"
@@ -2626,12 +2596,6 @@ msgid ""
"zu signatures\n"
msgstr ""
-#: apt-pkg/cdrom.cc:689
-msgid ""
-"Unable to locate any package files, perhaps this is not a Debian Disc or the "
-"wrong architecture?"
-msgstr ""
-
#: apt-pkg/cdrom.cc:715
#, c-format
msgid "Found label '%s'\n"
@@ -2662,22 +2626,22 @@ msgstr "كتابة لائحة المصادر الجديدة\n"
msgid "Source list entries for this disc are:\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:833
+#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:823
#, c-format
msgid "Wrote %i records.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:835
+#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:825
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:838
+#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:828
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:841
+#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:831
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -2687,12 +2651,12 @@ msgstr ""
msgid "Installing %s"
msgstr "تم تثبيت %s"
-#: apt-pkg/deb/dpkgpm.cc:50 apt-pkg/deb/dpkgpm.cc:642
+#: apt-pkg/deb/dpkgpm.cc:50 apt-pkg/deb/dpkgpm.cc:612
#, c-format
msgid "Configuring %s"
msgstr "تهيئة %s"
-#: apt-pkg/deb/dpkgpm.cc:51 apt-pkg/deb/dpkgpm.cc:649
+#: apt-pkg/deb/dpkgpm.cc:51 apt-pkg/deb/dpkgpm.cc:627
#, c-format
msgid "Removing %s"
msgstr "إزالة %s"
@@ -2702,78 +2666,61 @@ msgstr "إزالة %s"
msgid "Running post-installation trigger %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:546
+#: apt-pkg/deb/dpkgpm.cc:521
#, c-format
msgid "Directory '%s' missing"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:635
+#: apt-pkg/deb/dpkgpm.cc:605
#, c-format
msgid "Preparing %s"
msgstr "تحضير %s"
-#: apt-pkg/deb/dpkgpm.cc:636
+#: apt-pkg/deb/dpkgpm.cc:606
#, c-format
msgid "Unpacking %s"
msgstr "فتح %s"
-#: apt-pkg/deb/dpkgpm.cc:641
+#: apt-pkg/deb/dpkgpm.cc:611
#, c-format
msgid "Preparing to configure %s"
msgstr "التحضير لتهيئة %s"
-#: apt-pkg/deb/dpkgpm.cc:643
+#: apt-pkg/deb/dpkgpm.cc:614 apt-pkg/deb/dpkgpm.cc:615
+#, fuzzy, c-format
+msgid "Processing triggers for %s"
+msgstr "خطأ في معالجة الدليل %s"
+
+#: apt-pkg/deb/dpkgpm.cc:617
#, c-format
msgid "Installed %s"
msgstr "تم تثبيت %s"
-#: apt-pkg/deb/dpkgpm.cc:648
+#: apt-pkg/deb/dpkgpm.cc:622 apt-pkg/deb/dpkgpm.cc:624
+#: apt-pkg/deb/dpkgpm.cc:625
#, c-format
msgid "Preparing for removal of %s"
msgstr "التحضير لإزالة %s"
-#: apt-pkg/deb/dpkgpm.cc:650
+#: apt-pkg/deb/dpkgpm.cc:628
#, c-format
msgid "Removed %s"
msgstr "تم إزالة %s"
-#: apt-pkg/deb/dpkgpm.cc:655
+#: apt-pkg/deb/dpkgpm.cc:633
#, c-format
msgid "Preparing to completely remove %s"
msgstr "التحضير لإزالة %s بالكامل"
-#: apt-pkg/deb/dpkgpm.cc:656
+#: apt-pkg/deb/dpkgpm.cc:634
#, c-format
msgid "Completely removed %s"
msgstr "تمت إزالة %s بالكامل"
-#: apt-pkg/deb/dpkgpm.cc:820
+#: apt-pkg/deb/dpkgpm.cc:789
msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:848
-msgid "Running dpkg"
-msgstr ""
-
-#: apt-pkg/deb/debsystem.cc:70
-#, c-format
-msgid ""
-"Unable to lock the administration directory (%s), is another process using "
-"it?"
-msgstr ""
-
-#: apt-pkg/deb/debsystem.cc:73
-#, fuzzy, c-format
-#| msgid "Unable to lock the list directory"
-msgid "Unable to lock the administration directory (%s), are you root?"
-msgstr "تعذر قفل دليل القائمة"
-
-#: apt-pkg/deb/debsystem.cc:82
-msgid ""
-"dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct "
-"the problem. "
-msgstr ""
-
#: apt-pkg/deb/debsystem.cc:100
msgid "Not locked"
msgstr ""
@@ -2786,13 +2733,6 @@ msgstr ""
msgid "Connection closed prematurely"
msgstr ""
-#~ msgid "%4i %s\n"
-#~ msgstr "%4i %s\n"
-
-#, fuzzy
-#~ msgid "Processing triggers for %s"
-#~ msgstr "خطأ في معالجة الدليل %s"
-
#, fuzzy
#~ msgid "Line %d too long (max %lu)"
#~ msgstr "السطر %d طويل جداً (أقصاه %d)"
diff --git a/po/ku.po b/po/ku.po
index de3ef37d5..5568898fb 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-ku\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-21 15:49+0200\n"
+"POT-Creation-Date: 2009-04-22 12:25+0200\n"
"PO-Revision-Date: 2008-05-08 12:48+0200\n"
"Last-Translator: Erdal Ronahi <erdal dot ronahi at gmail dot com>\n"
"Language-Team: ku <ubuntu-l10n-kur@lists.ubuntu.com>\n"
@@ -18,150 +18,155 @@ msgstr ""
"X-Generator: KAider 0.1\n"
"Plural-Forms: nplurals=2; plural= n != 1;\n"
-#: cmdline/apt-cache.cc:141
+#: cmdline/apt-cache.cc:143
#, c-format
msgid "Package %s version %s has an unmet dep:\n"
msgstr ""
-#: cmdline/apt-cache.cc:181 cmdline/apt-cache.cc:550 cmdline/apt-cache.cc:644
-#: cmdline/apt-cache.cc:800 cmdline/apt-cache.cc:1022
-#: cmdline/apt-cache.cc:1423 cmdline/apt-cache.cc:1575
+#: cmdline/apt-cache.cc:183 cmdline/apt-cache.cc:552 cmdline/apt-cache.cc:640
+#: cmdline/apt-cache.cc:796 cmdline/apt-cache.cc:1018
+#: cmdline/apt-cache.cc:1419 cmdline/apt-cache.cc:1570
#, c-format
msgid "Unable to locate package %s"
msgstr "Pakêt nehate dîtin %s"
-#: cmdline/apt-cache.cc:245
+#: cmdline/apt-cache.cc:247
msgid "Total package names: "
msgstr "Navên paketan bi giştî :"
-#: cmdline/apt-cache.cc:285
+#: cmdline/apt-cache.cc:287
msgid " Normal packages: "
msgstr " Pakêtên normal:"
-#: cmdline/apt-cache.cc:286
+#: cmdline/apt-cache.cc:288
msgid " Pure virtual packages: "
msgstr " Pakêtên farazî yên safî:"
-#: cmdline/apt-cache.cc:287
+#: cmdline/apt-cache.cc:289
msgid " Single virtual packages: "
msgstr " Pakêta tenê ya farazî:"
-#: cmdline/apt-cache.cc:288
+#: cmdline/apt-cache.cc:290
msgid " Mixed virtual packages: "
msgstr " Pakêtên hevbeş yên farazî:"
-#: cmdline/apt-cache.cc:289
+#: cmdline/apt-cache.cc:291
msgid " Missing: "
msgstr " Winda: "
-#: cmdline/apt-cache.cc:291
+#: cmdline/apt-cache.cc:293
msgid "Total distinct versions: "
msgstr "Guhertoyên vekirî yên giştî:"
-#: cmdline/apt-cache.cc:293
+#: cmdline/apt-cache.cc:295
#, fuzzy
msgid "Total distinct descriptions: "
msgstr "Guhertoyên vekirî yên giştî:"
-#: cmdline/apt-cache.cc:295
+#: cmdline/apt-cache.cc:297
msgid "Total dependencies: "
msgstr "Bindestên giştî:"
-#: cmdline/apt-cache.cc:298
+#: cmdline/apt-cache.cc:300
msgid "Total ver/file relations: "
msgstr ""
-#: cmdline/apt-cache.cc:300
+#: cmdline/apt-cache.cc:302
#, fuzzy
msgid "Total Desc/File relations: "
msgstr "Guhertoyên vekirî yên giştî:"
-#: cmdline/apt-cache.cc:302
+#: cmdline/apt-cache.cc:304
msgid "Total Provides mappings: "
msgstr ""
-#: cmdline/apt-cache.cc:314
+#: cmdline/apt-cache.cc:316
msgid "Total globbed strings: "
msgstr ""
-#: cmdline/apt-cache.cc:328
+#: cmdline/apt-cache.cc:330
msgid "Total dependency version space: "
msgstr ""
-#: cmdline/apt-cache.cc:333
+#: cmdline/apt-cache.cc:335
msgid "Total slack space: "
msgstr "Cihê giştî yê sist:"
-#: cmdline/apt-cache.cc:341
+#: cmdline/apt-cache.cc:343
msgid "Total space accounted for: "
msgstr "Cihê giştî yê veqetandî: "
-#: cmdline/apt-cache.cc:469 cmdline/apt-cache.cc:1222
+#: cmdline/apt-cache.cc:471 cmdline/apt-cache.cc:1218
#, c-format
msgid "Package file %s is out of sync."
msgstr "Pakêta dosya %s li derveyî demê ye."
-#: cmdline/apt-cache.cc:1297
+#: cmdline/apt-cache.cc:1293
msgid "You must give exactly one pattern"
msgstr "Pêwist e tu mînakekê bidî"
-#: cmdline/apt-cache.cc:1451
+#: cmdline/apt-cache.cc:1447
msgid "No packages found"
msgstr "Pakêt nayên dîtin"
-#: cmdline/apt-cache.cc:1528
+#: cmdline/apt-cache.cc:1524
msgid "Package files:"
msgstr "Pelgehên Pakêt:"
-#: cmdline/apt-cache.cc:1535 cmdline/apt-cache.cc:1622
+#: cmdline/apt-cache.cc:1531 cmdline/apt-cache.cc:1617
msgid "Cache is out of sync, can't x-ref a package file"
msgstr ""
+#: cmdline/apt-cache.cc:1532
+#, c-format
+msgid "%4i %s\n"
+msgstr "%4i %s\n"
+
#. Show any packages have explicit pins
-#: cmdline/apt-cache.cc:1549
+#: cmdline/apt-cache.cc:1544
msgid "Pinned packages:"
msgstr ""
-#: cmdline/apt-cache.cc:1561 cmdline/apt-cache.cc:1602
+#: cmdline/apt-cache.cc:1556 cmdline/apt-cache.cc:1597
msgid "(not found)"
msgstr "(nehate dîtin)"
#. Installed version
-#: cmdline/apt-cache.cc:1582
+#: cmdline/apt-cache.cc:1577
msgid " Installed: "
msgstr " Sazkirî: "
-#: cmdline/apt-cache.cc:1584 cmdline/apt-cache.cc:1592
+#: cmdline/apt-cache.cc:1579 cmdline/apt-cache.cc:1587
msgid "(none)"
msgstr "(ne tiştek)"
#. Candidate Version
-#: cmdline/apt-cache.cc:1589
+#: cmdline/apt-cache.cc:1584
msgid " Candidate: "
msgstr " Berendam: "
-#: cmdline/apt-cache.cc:1599
+#: cmdline/apt-cache.cc:1594
msgid " Package pin: "
msgstr " Destika pakêtê:"
#. Show the priority tables
-#: cmdline/apt-cache.cc:1608
+#: cmdline/apt-cache.cc:1603
msgid " Version table:"
msgstr " Tabloya guhertoyan:"
-#: cmdline/apt-cache.cc:1623
+#: cmdline/apt-cache.cc:1618
#, c-format
msgid " %4i %s\n"
msgstr " %4i %s\n"
-#: cmdline/apt-cache.cc:1719 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
+#: cmdline/apt-cache.cc:1714 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547
-#: cmdline/apt-get.cc:2586 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:2582 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s ji bo %s %s komkirî di %s %s de\n"
-#: cmdline/apt-cache.cc:1726
+#: cmdline/apt-cache.cc:1721
msgid ""
"Usage: apt-cache [options] command\n"
" apt-cache [options] add file1 [file2 ...]\n"
@@ -562,221 +567,221 @@ msgstr ""
msgid "Failed to rename %s to %s"
msgstr ""
-#: cmdline/apt-get.cc:127
+#: cmdline/apt-get.cc:124
msgid "Y"
msgstr "E"
-#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1661
+#: cmdline/apt-get.cc:146 cmdline/apt-get.cc:1658
#, c-format
msgid "Regex compilation error - %s"
msgstr ""
-#: cmdline/apt-get.cc:244
+#: cmdline/apt-get.cc:241
msgid "The following packages have unmet dependencies:"
msgstr ""
-#: cmdline/apt-get.cc:334
+#: cmdline/apt-get.cc:331
#, c-format
msgid "but %s is installed"
msgstr "lê %s sazkirî ye"
-#: cmdline/apt-get.cc:336
+#: cmdline/apt-get.cc:333
#, c-format
msgid "but %s is to be installed"
msgstr "lê %s dê were sazkirin"
-#: cmdline/apt-get.cc:343
+#: cmdline/apt-get.cc:340
msgid "but it is not installable"
msgstr "lê sazkirina wê ne gengaz e"
-#: cmdline/apt-get.cc:345
+#: cmdline/apt-get.cc:342
msgid "but it is a virtual package"
msgstr "lê paketeke farazî ye"
-#: cmdline/apt-get.cc:348
+#: cmdline/apt-get.cc:345
msgid "but it is not installed"
msgstr "lê ne sazkirî ye"
-#: cmdline/apt-get.cc:348
+#: cmdline/apt-get.cc:345
msgid "but it is not going to be installed"
msgstr "lê dê neyê sazkirin"
-#: cmdline/apt-get.cc:353
+#: cmdline/apt-get.cc:350
msgid " or"
msgstr " û"
-#: cmdline/apt-get.cc:382
+#: cmdline/apt-get.cc:379
msgid "The following NEW packages will be installed:"
msgstr "Ev pakêtên NÛ dê werine sazkirin:"
-#: cmdline/apt-get.cc:408
+#: cmdline/apt-get.cc:405
msgid "The following packages will be REMOVED:"
msgstr "Ev pakêt dê werine RAKIRIN:"
-#: cmdline/apt-get.cc:430
+#: cmdline/apt-get.cc:427
msgid "The following packages have been kept back:"
msgstr ""
-#: cmdline/apt-get.cc:451
+#: cmdline/apt-get.cc:448
msgid "The following packages will be upgraded:"
msgstr "Ev paket dê werine bilindkirin:"
-#: cmdline/apt-get.cc:472
+#: cmdline/apt-get.cc:469
msgid "The following packages will be DOWNGRADED:"
msgstr ""
-#: cmdline/apt-get.cc:492
+#: cmdline/apt-get.cc:489
msgid "The following held packages will be changed:"
msgstr ""
-#: cmdline/apt-get.cc:545
+#: cmdline/apt-get.cc:542
#, c-format
msgid "%s (due to %s) "
msgstr "%s (ji ber %s)"
-#: cmdline/apt-get.cc:553
+#: cmdline/apt-get.cc:550
msgid ""
"WARNING: The following essential packages will be removed.\n"
"This should NOT be done unless you know exactly what you are doing!"
msgstr ""
-#: cmdline/apt-get.cc:584
+#: cmdline/apt-get.cc:581
#, c-format
msgid "%lu upgraded, %lu newly installed, "
msgstr "%lu hatine bilindkirin, %lu nû hatine sazkirin."
-#: cmdline/apt-get.cc:588
+#: cmdline/apt-get.cc:585
#, c-format
msgid "%lu reinstalled, "
msgstr "%lu ji nû ve sazkirî,"
-#: cmdline/apt-get.cc:590
+#: cmdline/apt-get.cc:587
#, c-format
msgid "%lu downgraded, "
msgstr "%lu hatine nizmkirin."
-#: cmdline/apt-get.cc:592
+#: cmdline/apt-get.cc:589
#, c-format
msgid "%lu to remove and %lu not upgraded.\n"
msgstr "%lu werin rakirin û %lu neyên bilindkirin. \n"
-#: cmdline/apt-get.cc:596
+#: cmdline/apt-get.cc:593
#, c-format
msgid "%lu not fully installed or removed.\n"
msgstr ""
-#: cmdline/apt-get.cc:670
+#: cmdline/apt-get.cc:667
msgid "Correcting dependencies..."
msgstr "Bindestî tên serrastkirin..."
-#: cmdline/apt-get.cc:673
+#: cmdline/apt-get.cc:670
msgid " failed."
msgstr " neserketî."
-#: cmdline/apt-get.cc:676
+#: cmdline/apt-get.cc:673
msgid "Unable to correct dependencies"
msgstr "Nikare bindestiyan rast kirin"
-#: cmdline/apt-get.cc:679
+#: cmdline/apt-get.cc:676
msgid "Unable to minimize the upgrade set"
msgstr ""
-#: cmdline/apt-get.cc:681
+#: cmdline/apt-get.cc:678
msgid " Done"
msgstr " Temam"
-#: cmdline/apt-get.cc:685
+#: cmdline/apt-get.cc:682
msgid "You might want to run `apt-get -f install' to correct these."
msgstr ""
-#: cmdline/apt-get.cc:688
+#: cmdline/apt-get.cc:685
msgid "Unmet dependencies. Try using -f."
msgstr ""
-#: cmdline/apt-get.cc:710
+#: cmdline/apt-get.cc:707
msgid "WARNING: The following packages cannot be authenticated!"
msgstr ""
-#: cmdline/apt-get.cc:714
+#: cmdline/apt-get.cc:711
msgid "Authentication warning overridden.\n"
msgstr ""
-#: cmdline/apt-get.cc:721
+#: cmdline/apt-get.cc:718
msgid "Install these packages without verification [y/N]? "
msgstr ""
-#: cmdline/apt-get.cc:723
+#: cmdline/apt-get.cc:720
msgid "Some packages could not be authenticated"
msgstr ""
-#: cmdline/apt-get.cc:732 cmdline/apt-get.cc:884
+#: cmdline/apt-get.cc:729 cmdline/apt-get.cc:881
msgid "There are problems and -y was used without --force-yes"
msgstr ""
-#: cmdline/apt-get.cc:776
+#: cmdline/apt-get.cc:773
msgid "Internal error, InstallPackages was called with broken packages!"
msgstr ""
-#: cmdline/apt-get.cc:785
+#: cmdline/apt-get.cc:782
msgid "Packages need to be removed but remove is disabled."
msgstr ""
-#: cmdline/apt-get.cc:796
+#: cmdline/apt-get.cc:793
msgid "Internal error, Ordering didn't finish"
msgstr ""
-#: cmdline/apt-get.cc:812 cmdline/apt-get.cc:2003 cmdline/apt-get.cc:2036
+#: cmdline/apt-get.cc:809 cmdline/apt-get.cc:1999 cmdline/apt-get.cc:2032
msgid "Unable to lock the download directory"
msgstr "Pelrêça daxistinê nayê quflekirin"
-#: cmdline/apt-get.cc:822 cmdline/apt-get.cc:2084 cmdline/apt-get.cc:2330
+#: cmdline/apt-get.cc:819 cmdline/apt-get.cc:2080 cmdline/apt-get.cc:2326
#: apt-pkg/cachefile.cc:65
msgid "The list of sources could not be read."
msgstr ""
-#: cmdline/apt-get.cc:837
+#: cmdline/apt-get.cc:834
msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
msgstr ""
-#: cmdline/apt-get.cc:842
+#: cmdline/apt-get.cc:839
#, c-format
msgid "Need to get %sB/%sB of archives.\n"
msgstr "Anîna %sB/%sB ji arşîvan pêwist e.\n"
-#: cmdline/apt-get.cc:845
+#: cmdline/apt-get.cc:842
#, c-format
msgid "Need to get %sB of archives.\n"
msgstr "Anîna %sB ji arşîvan pêwist e.\n"
-#: cmdline/apt-get.cc:850
+#: cmdline/apt-get.cc:847
#, c-format
msgid "After this operation, %sB of additional disk space will be used.\n"
msgstr ""
-#: cmdline/apt-get.cc:853
+#: cmdline/apt-get.cc:850
#, c-format
msgid "After this operation, %sB disk space will be freed.\n"
msgstr ""
-#: cmdline/apt-get.cc:867 cmdline/apt-get.cc:2179
+#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:2175
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Nikarî cihê vala li %s tesbît bike"
-#: cmdline/apt-get.cc:874
+#: cmdline/apt-get.cc:871
#, c-format
msgid "You don't have enough free space in %s."
msgstr "Cihê vala li %s têre nake."
-#: cmdline/apt-get.cc:890 cmdline/apt-get.cc:910
+#: cmdline/apt-get.cc:887 cmdline/apt-get.cc:907
msgid "Trivial Only specified but this is not a trivial operation."
msgstr ""
-#: cmdline/apt-get.cc:892
+#: cmdline/apt-get.cc:889
msgid "Yes, do as I say!"
msgstr "Erê, wusa bike!"
-#: cmdline/apt-get.cc:894
+#: cmdline/apt-get.cc:891
#, c-format
msgid ""
"You are about to do something potentially harmful.\n"
@@ -784,74 +789,74 @@ msgid ""
" ?] "
msgstr ""
-#: cmdline/apt-get.cc:900 cmdline/apt-get.cc:919
+#: cmdline/apt-get.cc:897 cmdline/apt-get.cc:916
msgid "Abort."
msgstr "Betal."
-#: cmdline/apt-get.cc:915
+#: cmdline/apt-get.cc:912
msgid "Do you want to continue [Y/n]? "
msgstr "Dixwazî bidomînî [E/n]?"
-#: cmdline/apt-get.cc:987 cmdline/apt-get.cc:2227 apt-pkg/algorithms.cc:1407
+#: cmdline/apt-get.cc:984 cmdline/apt-get.cc:2223 apt-pkg/algorithms.cc:1349
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Anîna %s %s biserneket\n"
-#: cmdline/apt-get.cc:1005
+#: cmdline/apt-get.cc:1002
msgid "Some files failed to download"
msgstr "Daxistina çend pelan biserneket"
-#: cmdline/apt-get.cc:1006 cmdline/apt-get.cc:2236
+#: cmdline/apt-get.cc:1003 cmdline/apt-get.cc:2232
msgid "Download complete and in download only mode"
msgstr ""
-#: cmdline/apt-get.cc:1012
+#: cmdline/apt-get.cc:1009
msgid ""
"Unable to fetch some archives, maybe run apt-get update or try with --fix-"
"missing?"
msgstr ""
-#: cmdline/apt-get.cc:1016
+#: cmdline/apt-get.cc:1013
msgid "--fix-missing and media swapping is not currently supported"
msgstr ""
-#: cmdline/apt-get.cc:1021
+#: cmdline/apt-get.cc:1018
msgid "Unable to correct missing packages."
msgstr ""
-#: cmdline/apt-get.cc:1022
+#: cmdline/apt-get.cc:1019
msgid "Aborting install."
msgstr "Sazkirin tê betalkirin."
-#: cmdline/apt-get.cc:1056
+#: cmdline/apt-get.cc:1053
#, c-format
msgid "Note, selecting %s instead of %s\n"
msgstr ""
-#: cmdline/apt-get.cc:1066
+#: cmdline/apt-get.cc:1063
#, c-format
msgid "Skipping %s, it is already installed and upgrade is not set.\n"
msgstr ""
-#: cmdline/apt-get.cc:1084
+#: cmdline/apt-get.cc:1081
#, c-format
msgid "Package %s is not installed, so not removed\n"
msgstr ""
-#: cmdline/apt-get.cc:1095
+#: cmdline/apt-get.cc:1092
#, c-format
msgid "Package %s is a virtual package provided by:\n"
msgstr ""
-#: cmdline/apt-get.cc:1107
+#: cmdline/apt-get.cc:1104
msgid " [Installed]"
msgstr " [Sazkirî]"
-#: cmdline/apt-get.cc:1112
+#: cmdline/apt-get.cc:1109
msgid "You should explicitly select one to install."
msgstr ""
-#: cmdline/apt-get.cc:1117
+#: cmdline/apt-get.cc:1114
#, c-format
msgid ""
"Package %s is not available, but is referred to by another package.\n"
@@ -859,69 +864,69 @@ msgid ""
"is only available from another source\n"
msgstr ""
-#: cmdline/apt-get.cc:1136
+#: cmdline/apt-get.cc:1133
msgid "However the following packages replace it:"
msgstr ""
-#: cmdline/apt-get.cc:1139
+#: cmdline/apt-get.cc:1136
#, c-format
msgid "Package %s has no installation candidate"
msgstr ""
-#: cmdline/apt-get.cc:1159
+#: cmdline/apt-get.cc:1156
#, c-format
msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
msgstr ""
-#: cmdline/apt-get.cc:1167
+#: cmdline/apt-get.cc:1164
#, c-format
msgid "%s is already the newest version.\n"
msgstr "%s jixwe guhertoya nûtirîn e.\n"
-#: cmdline/apt-get.cc:1196
+#: cmdline/apt-get.cc:1193
#, c-format
msgid "Release '%s' for '%s' was not found"
msgstr ""
-#: cmdline/apt-get.cc:1198
+#: cmdline/apt-get.cc:1195
#, c-format
msgid "Version '%s' for '%s' was not found"
msgstr ""
-#: cmdline/apt-get.cc:1204
+#: cmdline/apt-get.cc:1201
#, c-format
msgid "Selected version %s (%s) for %s\n"
msgstr ""
-#: cmdline/apt-get.cc:1310
+#: cmdline/apt-get.cc:1307
#, c-format
msgid "No source package '%s' picking '%s' instead\n"
msgstr ""
-#: cmdline/apt-get.cc:1348
+#: cmdline/apt-get.cc:1345
msgid "The update command takes no arguments"
msgstr ""
-#: cmdline/apt-get.cc:1361
+#: cmdline/apt-get.cc:1358
msgid "Unable to lock the list directory"
msgstr ""
-#: cmdline/apt-get.cc:1413
+#: cmdline/apt-get.cc:1410
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1445
+#: cmdline/apt-get.cc:1442
#, fuzzy
msgid ""
"The following packages were automatically installed and are no longer "
"required:"
msgstr "Ev pakêtên NÛ dê werine sazkirin:"
-#: cmdline/apt-get.cc:1447
+#: cmdline/apt-get.cc:1444
msgid "Use 'apt-get autoremove' to remove them."
msgstr ""
-#: cmdline/apt-get.cc:1452
+#: cmdline/apt-get.cc:1449
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -937,49 +942,49 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1455 cmdline/apt-get.cc:1745
+#: cmdline/apt-get.cc:1452 cmdline/apt-get.cc:1742
msgid "The following information may help to resolve the situation:"
msgstr ""
-#: cmdline/apt-get.cc:1459
+#: cmdline/apt-get.cc:1456
msgid "Internal Error, AutoRemover broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:1478
+#: cmdline/apt-get.cc:1475
msgid "Internal error, AllUpgrade broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:1533
+#: cmdline/apt-get.cc:1530
#, c-format
msgid "Couldn't find task %s"
msgstr "Peywira %s nehate dîtin"
-#: cmdline/apt-get.cc:1648 cmdline/apt-get.cc:1684
+#: cmdline/apt-get.cc:1645 cmdline/apt-get.cc:1681
#, c-format
msgid "Couldn't find package %s"
msgstr "Nikarî pakêta %s bibîne"
-#: cmdline/apt-get.cc:1671
+#: cmdline/apt-get.cc:1668
#, c-format
msgid "Note, selecting %s for regex '%s'\n"
msgstr ""
-#: cmdline/apt-get.cc:1702
+#: cmdline/apt-get.cc:1699
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "lê %s dê were sazkirin"
-#: cmdline/apt-get.cc:1715
+#: cmdline/apt-get.cc:1712
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr ""
-#: cmdline/apt-get.cc:1718
+#: cmdline/apt-get.cc:1715
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
msgstr ""
-#: cmdline/apt-get.cc:1730
+#: cmdline/apt-get.cc:1727
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"
@@ -987,152 +992,152 @@ msgid ""
"or been moved out of Incoming."
msgstr ""
-#: cmdline/apt-get.cc:1748
+#: cmdline/apt-get.cc:1745
msgid "Broken packages"
msgstr "Paketên şikestî"
-#: cmdline/apt-get.cc:1777
+#: cmdline/apt-get.cc:1774
msgid "The following extra packages will be installed:"
msgstr ""
-#: cmdline/apt-get.cc:1866
+#: cmdline/apt-get.cc:1863
msgid "Suggested packages:"
msgstr "Paketên tên pêşniyaz kirin:"
-#: cmdline/apt-get.cc:1867
+#: cmdline/apt-get.cc:1864
msgid "Recommended packages:"
msgstr "Paketên tên tawsiyê kirin:"
-#: cmdline/apt-get.cc:1896
+#: cmdline/apt-get.cc:1892
msgid "Calculating upgrade... "
msgstr "Bilindkirin tê hesibandin..."
-#: cmdline/apt-get.cc:1899 methods/ftp.cc:702 methods/connect.cc:112
+#: cmdline/apt-get.cc:1895 methods/ftp.cc:702 methods/connect.cc:112
msgid "Failed"
msgstr "Serneket"
-#: cmdline/apt-get.cc:1904
+#: cmdline/apt-get.cc:1900
msgid "Done"
msgstr "Temam"
-#: cmdline/apt-get.cc:1971 cmdline/apt-get.cc:1979
+#: cmdline/apt-get.cc:1967 cmdline/apt-get.cc:1975
msgid "Internal error, problem resolver broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:2079
+#: cmdline/apt-get.cc:2075
msgid "Must specify at least one package to fetch source for"
msgstr ""
-#: cmdline/apt-get.cc:2109 cmdline/apt-get.cc:2348
+#: cmdline/apt-get.cc:2105 cmdline/apt-get.cc:2344
#, c-format
msgid "Unable to find a source package for %s"
msgstr ""
-#: cmdline/apt-get.cc:2158
+#: cmdline/apt-get.cc:2154
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr ""
-#: cmdline/apt-get.cc:2186
+#: cmdline/apt-get.cc:2182
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Cihê vala li %s têre nake"
-#: cmdline/apt-get.cc:2192
+#: cmdline/apt-get.cc:2188
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr ""
-#: cmdline/apt-get.cc:2195
+#: cmdline/apt-get.cc:2191
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr ""
-#: cmdline/apt-get.cc:2201
+#: cmdline/apt-get.cc:2197
#, c-format
msgid "Fetch source %s\n"
msgstr "Çavkanîna %s bîne\n"
-#: cmdline/apt-get.cc:2232
+#: cmdline/apt-get.cc:2228
msgid "Failed to fetch some archives."
msgstr "Anîna çend arşîvan biserneket."
-#: cmdline/apt-get.cc:2260
+#: cmdline/apt-get.cc:2256
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2272
+#: cmdline/apt-get.cc:2268
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2273
+#: cmdline/apt-get.cc:2269
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2290
+#: cmdline/apt-get.cc:2286
#, c-format
msgid "Build command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2309
+#: cmdline/apt-get.cc:2305
msgid "Child process failed"
msgstr ""
-#: cmdline/apt-get.cc:2325
+#: cmdline/apt-get.cc:2321
msgid "Must specify at least one package to check builddeps for"
msgstr ""
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2349
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
-#: cmdline/apt-get.cc:2373
+#: cmdline/apt-get.cc:2369
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
-#: cmdline/apt-get.cc:2425
+#: cmdline/apt-get.cc:2421
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
-#: cmdline/apt-get.cc:2478
+#: cmdline/apt-get.cc:2474
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because no available versions of "
"package %s can satisfy version requirements"
msgstr ""
-#: cmdline/apt-get.cc:2514
+#: cmdline/apt-get.cc:2510
#, c-format
msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
msgstr ""
-#: cmdline/apt-get.cc:2541
+#: cmdline/apt-get.cc:2537
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
-#: cmdline/apt-get.cc:2555
+#: cmdline/apt-get.cc:2551
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
-#: cmdline/apt-get.cc:2559
+#: cmdline/apt-get.cc:2555
msgid "Failed to process build dependencies"
msgstr ""
-#: cmdline/apt-get.cc:2591
+#: cmdline/apt-get.cc:2587
msgid "Supported modules:"
msgstr ""
-#: cmdline/apt-get.cc:2632
+#: cmdline/apt-get.cc:2628
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1176,14 +1181,6 @@ msgid ""
" This APT has Super Cow Powers.\n"
msgstr ""
-#: cmdline/apt-get.cc:2799
-msgid ""
-"NOTE: This is only a simulation!\n"
-" apt-get needs root privileges for real execution.\n"
-" Keep also in mind that locking is deactivated,\n"
-" so don't depend on the relevance to the real current situation!"
-msgstr ""
-
#: cmdline/acqprogress.cc:55
msgid "Hit "
msgstr ""
@@ -1402,9 +1399,9 @@ msgstr ""
msgid "File %s/%s overwrites the one in the package %s"
msgstr ""
-#: apt-inst/extract.cc:464 apt-pkg/contrib/configuration.cc:822
+#: apt-inst/extract.cc:464 apt-pkg/contrib/configuration.cc:821
#: apt-pkg/contrib/cdromutl.cc:150 apt-pkg/sourcelist.cc:320
-#: apt-pkg/acquire.cc:419 apt-pkg/clean.cc:34 apt-pkg/policy.cc:268
+#: apt-pkg/acquire.cc:418 apt-pkg/clean.cc:34
#, c-format
msgid "Unable to read %s"
msgstr "Nikare %s bixwîne"
@@ -1630,7 +1627,7 @@ msgstr ""
msgid "Server closed the connection"
msgstr ""
-#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:541 methods/rsh.cc:190
+#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:538 methods/rsh.cc:190
msgid "Read error"
msgstr "Çewiya xwendinê"
@@ -1642,7 +1639,7 @@ msgstr ""
msgid "Protocol corruption"
msgstr ""
-#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:580 methods/rsh.cc:232
+#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:577 methods/rsh.cc:232
msgid "Write error"
msgstr "Çewtiya nivîsînê"
@@ -1948,7 +1945,7 @@ msgstr ""
msgid "%lis"
msgstr ""
-#: apt-pkg/contrib/strutl.cc:1029
+#: apt-pkg/contrib/strutl.cc:1018
#, c-format
msgid "Selection %s not found"
msgstr "Hilbijartina %s nehatiye dîtin"
@@ -1963,42 +1960,42 @@ msgstr ""
msgid "Opening configuration file %s"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:663
+#: apt-pkg/contrib/configuration.cc:662
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr ""
-#: apt-pkg/contrib/configuration.cc:682
+#: apt-pkg/contrib/configuration.cc:681
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:699
+#: apt-pkg/contrib/configuration.cc:698
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:739
+#: apt-pkg/contrib/configuration.cc:738
#, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:746
+#: apt-pkg/contrib/configuration.cc:745
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:750 apt-pkg/contrib/configuration.cc:755
+#: apt-pkg/contrib/configuration.cc:749 apt-pkg/contrib/configuration.cc:754
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:759
+#: apt-pkg/contrib/configuration.cc:758
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr ""
-#: apt-pkg/contrib/configuration.cc:810
+#: apt-pkg/contrib/configuration.cc:809
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr ""
@@ -2065,7 +2062,7 @@ msgid "Unable to stat the mount point %s"
msgstr "Nivîsandin ji bo %s ne pêkane"
#: apt-pkg/contrib/cdromutl.cc:146 apt-pkg/contrib/cdromutl.cc:180
-#: apt-pkg/acquire.cc:425 apt-pkg/acquire.cc:450 apt-pkg/clean.cc:40
+#: apt-pkg/acquire.cc:424 apt-pkg/acquire.cc:449 apt-pkg/clean.cc:40
#, c-format
msgid "Unable to change to %s"
msgstr "Nikarî derbasa %s bike"
@@ -2099,152 +2096,143 @@ msgstr ""
msgid "Waited for %s but it wasn't there"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:455
+#: apt-pkg/contrib/fileutl.cc:454
#, c-format
msgid "Sub-process %s received a segmentation fault."
msgstr ""
#: apt-pkg/contrib/fileutl.cc:457
#, c-format
-msgid "Sub-process %s received signal %u."
-msgstr ""
-
-#: apt-pkg/contrib/fileutl.cc:460
-#, c-format
msgid "Sub-process %s returned an error code (%u)"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:462
+#: apt-pkg/contrib/fileutl.cc:459
#, c-format
msgid "Sub-process %s exited unexpectedly"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:506
+#: apt-pkg/contrib/fileutl.cc:503
#, c-format
msgid "Could not open file %s"
msgstr "Nikarî pelê %s veke"
-#: apt-pkg/contrib/fileutl.cc:562
+#: apt-pkg/contrib/fileutl.cc:559
#, c-format
msgid "read, still have %lu to read but none left"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:592
+#: apt-pkg/contrib/fileutl.cc:589
#, c-format
msgid "write, still have %lu to write but couldn't"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:667
+#: apt-pkg/contrib/fileutl.cc:664
msgid "Problem closing the file"
msgstr "Di girtina pelî de pirsgirêkek derket"
-#: apt-pkg/contrib/fileutl.cc:673
+#: apt-pkg/contrib/fileutl.cc:670
msgid "Problem unlinking the file"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:684
+#: apt-pkg/contrib/fileutl.cc:681
msgid "Problem syncing the file"
msgstr ""
-#: apt-pkg/pkgcache.cc:133
+#: apt-pkg/pkgcache.cc:132
msgid "Empty package cache"
msgstr ""
-#: apt-pkg/pkgcache.cc:139
+#: apt-pkg/pkgcache.cc:138
msgid "The package cache file is corrupted"
msgstr ""
-#: apt-pkg/pkgcache.cc:144
+#: apt-pkg/pkgcache.cc:143
msgid "The package cache file is an incompatible version"
msgstr ""
-#: apt-pkg/pkgcache.cc:149
+#: apt-pkg/pkgcache.cc:148
#, c-format
msgid "This APT does not support the versioning system '%s'"
msgstr ""
-#: apt-pkg/pkgcache.cc:154
+#: apt-pkg/pkgcache.cc:153
msgid "The package cache was built for a different architecture"
msgstr ""
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "Depends"
msgstr "Bindest"
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "PreDepends"
msgstr "PêşBindest"
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "Suggests"
msgstr "Pêşniyaz dike"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Recommends"
msgstr "Tawsiye dike"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Conflicts"
msgstr "Nakokî"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Replaces"
msgstr "Dikeve şunve"
-#: apt-pkg/pkgcache.cc:227
+#: apt-pkg/pkgcache.cc:226
msgid "Obsoletes"
msgstr "Kevin dike"
-#: apt-pkg/pkgcache.cc:227
+#: apt-pkg/pkgcache.cc:226
msgid "Breaks"
msgstr "Dişkîne"
-#: apt-pkg/pkgcache.cc:227
-msgid "Enhances"
-msgstr ""
-
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "important"
msgstr "girîng"
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "required"
msgstr "pêwist"
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "standard"
msgstr "standard"
-#: apt-pkg/pkgcache.cc:239
+#: apt-pkg/pkgcache.cc:238
msgid "optional"
msgstr "opsiyonel"
-#: apt-pkg/pkgcache.cc:239
+#: apt-pkg/pkgcache.cc:238
msgid "extra"
msgstr "ekstra"
-#: apt-pkg/depcache.cc:123 apt-pkg/depcache.cc:152
+#: apt-pkg/depcache.cc:121 apt-pkg/depcache.cc:150
msgid "Building dependency tree"
msgstr ""
-#: apt-pkg/depcache.cc:124
+#: apt-pkg/depcache.cc:122
msgid "Candidate versions"
msgstr "Guhartoyên berendam"
-#: apt-pkg/depcache.cc:153
+#: apt-pkg/depcache.cc:151
msgid "Dependency generation"
msgstr ""
-#: apt-pkg/depcache.cc:174 apt-pkg/depcache.cc:193 apt-pkg/depcache.cc:197
+#: apt-pkg/depcache.cc:172 apt-pkg/depcache.cc:191 apt-pkg/depcache.cc:195
msgid "Reading state information"
msgstr ""
-#: apt-pkg/depcache.cc:221
+#: apt-pkg/depcache.cc:219
#, c-format
msgid "Failed to open StateFile %s"
msgstr "Vekirina StateFile %s biserneket"
-#: apt-pkg/depcache.cc:227
+#: apt-pkg/depcache.cc:225
#, fuzzy, c-format
msgid "Failed to write temporary StateFile %s"
msgstr "%s ji hev nehate veçirandin"
@@ -2328,40 +2316,40 @@ msgid ""
"The package %s needs to be reinstalled, but I can't find an archive for it."
msgstr ""
-#: apt-pkg/algorithms.cc:1154
+#: apt-pkg/algorithms.cc:1107
msgid ""
"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
"held packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1156
+#: apt-pkg/algorithms.cc:1109
msgid "Unable to correct problems, you have held broken packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1433 apt-pkg/algorithms.cc:1435
+#: apt-pkg/algorithms.cc:1375 apt-pkg/algorithms.cc:1377
msgid ""
"Some index files failed to download, they have been ignored, or old ones "
"used instead."
msgstr ""
-#: apt-pkg/acquire.cc:60
+#: apt-pkg/acquire.cc:59
#, c-format
msgid "Lists directory %spartial is missing."
msgstr ""
-#: apt-pkg/acquire.cc:64
+#: apt-pkg/acquire.cc:63
#, c-format
msgid "Archive directory %spartial is missing."
msgstr ""
#. only show the ETA if it makes sense
#. two days
-#: apt-pkg/acquire.cc:829
+#: apt-pkg/acquire.cc:828
#, c-format
msgid "Retrieving file %li of %li (%s remaining)"
msgstr ""
-#: apt-pkg/acquire.cc:831
+#: apt-pkg/acquire.cc:830
#, c-format
msgid "Retrieving file %li of %li"
msgstr "Pel tê anîn %li ji %li"
@@ -2381,12 +2369,12 @@ msgstr ""
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr "Dîsketê siwar bike û piştre bişkoja derbaskirinê bitikîne"
-#: apt-pkg/init.cc:125
+#: apt-pkg/init.cc:124
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr ""
-#: apt-pkg/init.cc:141
+#: apt-pkg/init.cc:140
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@@ -2407,17 +2395,16 @@ msgstr ""
msgid "You may want to run apt-get update to correct these problems"
msgstr ""
-#: apt-pkg/policy.cc:329
-#, c-format
-msgid "Invalid record in the preferences file %s, no Package header"
+#: apt-pkg/policy.cc:267
+msgid "Invalid record in the preferences file, no Package header"
msgstr ""
-#: apt-pkg/policy.cc:351
+#: apt-pkg/policy.cc:289
#, c-format
msgid "Did not understand pin type %s"
msgstr ""
-#: apt-pkg/policy.cc:359
+#: apt-pkg/policy.cc:297
msgid "No priority (or zero) specified for pin"
msgstr ""
@@ -2555,21 +2542,6 @@ msgstr ""
msgid "Size mismatch"
msgstr "Mezinahî li hev nayên"
-#: apt-pkg/indexrecords.cc:40
-#, fuzzy, c-format
-msgid "Unable to parse Release file %s"
-msgstr "Pakêt nehate dîtin %s"
-
-#: apt-pkg/indexrecords.cc:47
-#, c-format
-msgid "No sections in Release file %s"
-msgstr ""
-
-#: apt-pkg/indexrecords.cc:81
-#, c-format
-msgid "No Hash entry in Release file %s"
-msgstr ""
-
#: apt-pkg/vendorlist.cc:66
#, c-format
msgid "Vendor block %s contains no fingerprint"
@@ -2624,12 +2596,6 @@ msgid ""
"zu signatures\n"
msgstr ""
-#: apt-pkg/cdrom.cc:689
-msgid ""
-"Unable to locate any package files, perhaps this is not a Debian Disc or the "
-"wrong architecture?"
-msgstr ""
-
#: apt-pkg/cdrom.cc:715
#, c-format
msgid "Found label '%s'\n"
@@ -2660,22 +2626,22 @@ msgstr ""
msgid "Source list entries for this disc are:\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:833
+#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:823
#, c-format
msgid "Wrote %i records.\n"
msgstr "%i tomar hatin nivîsîn.\n"
-#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:835
+#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:825
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:838
+#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:828
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:841
+#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:831
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -2685,12 +2651,12 @@ msgstr ""
msgid "Installing %s"
msgstr "%s hatine sazkirin"
-#: apt-pkg/deb/dpkgpm.cc:50 apt-pkg/deb/dpkgpm.cc:642
+#: apt-pkg/deb/dpkgpm.cc:50 apt-pkg/deb/dpkgpm.cc:612
#, c-format
msgid "Configuring %s"
msgstr "%s tê mîhengkirin"
-#: apt-pkg/deb/dpkgpm.cc:51 apt-pkg/deb/dpkgpm.cc:649
+#: apt-pkg/deb/dpkgpm.cc:51 apt-pkg/deb/dpkgpm.cc:627
#, c-format
msgid "Removing %s"
msgstr "%s tê rakirin"
@@ -2700,78 +2666,61 @@ msgstr "%s tê rakirin"
msgid "Running post-installation trigger %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:546
+#: apt-pkg/deb/dpkgpm.cc:521
#, c-format
msgid "Directory '%s' missing"
msgstr "Peldanka '%s' kêm e"
-#: apt-pkg/deb/dpkgpm.cc:635
+#: apt-pkg/deb/dpkgpm.cc:605
#, c-format
msgid "Preparing %s"
msgstr "%s tê amadekirin"
-#: apt-pkg/deb/dpkgpm.cc:636
+#: apt-pkg/deb/dpkgpm.cc:606
#, c-format
msgid "Unpacking %s"
msgstr "%s tê derxistin"
-#: apt-pkg/deb/dpkgpm.cc:641
+#: apt-pkg/deb/dpkgpm.cc:611
#, c-format
msgid "Preparing to configure %s"
msgstr "Mîhengkirina %s tê amadekirin"
-#: apt-pkg/deb/dpkgpm.cc:643
+#: apt-pkg/deb/dpkgpm.cc:614 apt-pkg/deb/dpkgpm.cc:615
+#, fuzzy, c-format
+msgid "Processing triggers for %s"
+msgstr "Di şixulandina pêrista %s de çewtî"
+
+#: apt-pkg/deb/dpkgpm.cc:617
#, c-format
msgid "Installed %s"
msgstr "%s hatine sazkirin"
-#: apt-pkg/deb/dpkgpm.cc:648
+#: apt-pkg/deb/dpkgpm.cc:622 apt-pkg/deb/dpkgpm.cc:624
+#: apt-pkg/deb/dpkgpm.cc:625
#, c-format
msgid "Preparing for removal of %s"
msgstr "Rakirina %s tê amadekirin"
-#: apt-pkg/deb/dpkgpm.cc:650
+#: apt-pkg/deb/dpkgpm.cc:628
#, c-format
msgid "Removed %s"
msgstr "%s hatine rakirin"
-#: apt-pkg/deb/dpkgpm.cc:655
+#: apt-pkg/deb/dpkgpm.cc:633
#, c-format
msgid "Preparing to completely remove %s"
msgstr "Bi tevahî rakirina %s tê amadekirin"
-#: apt-pkg/deb/dpkgpm.cc:656
+#: apt-pkg/deb/dpkgpm.cc:634
#, c-format
msgid "Completely removed %s"
msgstr "%s bi tevahî hatine rakirin"
-#: apt-pkg/deb/dpkgpm.cc:820
+#: apt-pkg/deb/dpkgpm.cc:789
msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:848
-msgid "Running dpkg"
-msgstr ""
-
-#: apt-pkg/deb/debsystem.cc:70
-#, c-format
-msgid ""
-"Unable to lock the administration directory (%s), is another process using "
-"it?"
-msgstr ""
-
-#: apt-pkg/deb/debsystem.cc:73
-#, fuzzy, c-format
-#| msgid "Unable to lock the download directory"
-msgid "Unable to lock the administration directory (%s), are you root?"
-msgstr "Pelrêça daxistinê nayê quflekirin"
-
-#: apt-pkg/deb/debsystem.cc:82
-msgid ""
-"dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct "
-"the problem. "
-msgstr ""
-
#: apt-pkg/deb/debsystem.cc:100
msgid "Not locked"
msgstr ""
@@ -2784,10 +2733,3 @@ msgstr "Danegira %s nehate vekirin: %s"
#: methods/rsh.cc:330
msgid "Connection closed prematurely"
msgstr "Girêdan zû hatiye girtin"
-
-#~ msgid "%4i %s\n"
-#~ msgstr "%4i %s\n"
-
-#, fuzzy
-#~ msgid "Processing triggers for %s"
-#~ msgstr "Di şixulandina pêrista %s de çewtî"
diff --git a/po/uk.po b/po/uk.po
index e7615d901..b732afa46 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-all\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-21 15:49+0200\n"
+"POT-Creation-Date: 2009-04-22 12:25+0200\n"
"PO-Revision-Date: 2006-07-29 15:57+0300\n"
"Last-Translator: Artem Bondarenko <artem.brz@gmail.com>\n"
"Language-Team: Українська <uk@li.org>\n"
@@ -15,150 +15,155 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.1\n"
-#: cmdline/apt-cache.cc:141
+#: cmdline/apt-cache.cc:143
#, c-format
msgid "Package %s version %s has an unmet dep:\n"
msgstr "Пакунок %s версії %s має незадоволену залежність:\n"
-#: cmdline/apt-cache.cc:181 cmdline/apt-cache.cc:550 cmdline/apt-cache.cc:644
-#: cmdline/apt-cache.cc:800 cmdline/apt-cache.cc:1022
-#: cmdline/apt-cache.cc:1423 cmdline/apt-cache.cc:1575
+#: cmdline/apt-cache.cc:183 cmdline/apt-cache.cc:552 cmdline/apt-cache.cc:640
+#: cmdline/apt-cache.cc:796 cmdline/apt-cache.cc:1018
+#: cmdline/apt-cache.cc:1419 cmdline/apt-cache.cc:1570
#, c-format
msgid "Unable to locate package %s"
msgstr "Не можу знайти пакунок %s"
-#: cmdline/apt-cache.cc:245
+#: cmdline/apt-cache.cc:247
msgid "Total package names: "
msgstr "Всього імен пакунків : "
-#: cmdline/apt-cache.cc:285
+#: cmdline/apt-cache.cc:287
msgid " Normal packages: "
msgstr " Нормальних пакунків: "
-#: cmdline/apt-cache.cc:286
+#: cmdline/apt-cache.cc:288
msgid " Pure virtual packages: "
msgstr " Чисто віртуальних пакунків: "
-#: cmdline/apt-cache.cc:287
+#: cmdline/apt-cache.cc:289
msgid " Single virtual packages: "
msgstr " Окремих віртуальних пакунків: "
-#: cmdline/apt-cache.cc:288
+#: cmdline/apt-cache.cc:290
msgid " Mixed virtual packages: "
msgstr " Змішаних віртуальних пакунків: "
-#: cmdline/apt-cache.cc:289
+#: cmdline/apt-cache.cc:291
msgid " Missing: "
msgstr " Пропущено: "
-#: cmdline/apt-cache.cc:291
+#: cmdline/apt-cache.cc:293
msgid "Total distinct versions: "
msgstr "Всього унікальних версій: "
-#: cmdline/apt-cache.cc:293
+#: cmdline/apt-cache.cc:295
#, fuzzy
msgid "Total distinct descriptions: "
msgstr "Всього унікальних версій: "
-#: cmdline/apt-cache.cc:295
+#: cmdline/apt-cache.cc:297
msgid "Total dependencies: "
msgstr "Всього залежностей: "
-#: cmdline/apt-cache.cc:298
+#: cmdline/apt-cache.cc:300
msgid "Total ver/file relations: "
msgstr "Всього відносин Версія/Файл: "
-#: cmdline/apt-cache.cc:300
+#: cmdline/apt-cache.cc:302
#, fuzzy
msgid "Total Desc/File relations: "
msgstr "Всього відносин Версія/Файл: "
-#: cmdline/apt-cache.cc:302
+#: cmdline/apt-cache.cc:304
msgid "Total Provides mappings: "
msgstr "Всього відносин Provides: "
-#: cmdline/apt-cache.cc:314
+#: cmdline/apt-cache.cc:316
msgid "Total globbed strings: "
msgstr "Всього розгорнутих рядків: "
-#: cmdline/apt-cache.cc:328
+#: cmdline/apt-cache.cc:330
msgid "Total dependency version space: "
msgstr "Всього інформації про залежності: "
-#: cmdline/apt-cache.cc:333
+#: cmdline/apt-cache.cc:335
msgid "Total slack space: "
msgstr "Порожнього місця в кеші: "
-#: cmdline/apt-cache.cc:341
+#: cmdline/apt-cache.cc:343
msgid "Total space accounted for: "
msgstr "Загальний простір полічений для: "
-#: cmdline/apt-cache.cc:469 cmdline/apt-cache.cc:1222
+#: cmdline/apt-cache.cc:471 cmdline/apt-cache.cc:1218
#, c-format
msgid "Package file %s is out of sync."
msgstr "Перелік пакунків %s розсинхронізований."
-#: cmdline/apt-cache.cc:1297
+#: cmdline/apt-cache.cc:1293
msgid "You must give exactly one pattern"
msgstr "Ви повинні задати рівно один шаблон"
-#: cmdline/apt-cache.cc:1451
+#: cmdline/apt-cache.cc:1447
msgid "No packages found"
msgstr "Не знайдено жодного пакунка"
-#: cmdline/apt-cache.cc:1528
+#: cmdline/apt-cache.cc:1524
msgid "Package files:"
msgstr "Переліки пакунків:"
-#: cmdline/apt-cache.cc:1535 cmdline/apt-cache.cc:1622
+#: cmdline/apt-cache.cc:1531 cmdline/apt-cache.cc:1617
msgid "Cache is out of sync, can't x-ref a package file"
msgstr "Кеш не синхронізований, неможливо знайти посилання на перелік пакунків"
+#: cmdline/apt-cache.cc:1532
+#, c-format
+msgid "%4i %s\n"
+msgstr "%4i %s\n"
+
#. Show any packages have explicit pins
-#: cmdline/apt-cache.cc:1549
+#: cmdline/apt-cache.cc:1544
msgid "Pinned packages:"
msgstr "Зафіксовані пакунки:"
-#: cmdline/apt-cache.cc:1561 cmdline/apt-cache.cc:1602
+#: cmdline/apt-cache.cc:1556 cmdline/apt-cache.cc:1597
msgid "(not found)"
msgstr "(не знайдено)"
#. Installed version
-#: cmdline/apt-cache.cc:1582
+#: cmdline/apt-cache.cc:1577
msgid " Installed: "
msgstr " Встановлено: "
-#: cmdline/apt-cache.cc:1584 cmdline/apt-cache.cc:1592
+#: cmdline/apt-cache.cc:1579 cmdline/apt-cache.cc:1587
msgid "(none)"
msgstr "(відсутній)"
#. Candidate Version
-#: cmdline/apt-cache.cc:1589
+#: cmdline/apt-cache.cc:1584
msgid " Candidate: "
msgstr " Кандидат: "
-#: cmdline/apt-cache.cc:1599
+#: cmdline/apt-cache.cc:1594
msgid " Package pin: "
msgstr " Фіксатор(pin) пакунка: "
#. Show the priority tables
-#: cmdline/apt-cache.cc:1608
+#: cmdline/apt-cache.cc:1603
msgid " Version table:"
msgstr " Таблиця версій:"
-#: cmdline/apt-cache.cc:1623
+#: cmdline/apt-cache.cc:1618
#, c-format
msgid " %4i %s\n"
msgstr " %4i %s\n"
-#: cmdline/apt-cache.cc:1719 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
+#: cmdline/apt-cache.cc:1714 cmdline/apt-cdrom.cc:138 cmdline/apt-config.cc:70
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547
-#: cmdline/apt-get.cc:2586 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:2582 cmdline/apt-sortpkgs.cc:144
#, fuzzy, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr "%s %s для %s %s скомпільовано %s %s\n"
-#: cmdline/apt-cache.cc:1726
+#: cmdline/apt-cache.cc:1721
#, fuzzy
msgid ""
"Usage: apt-cache [options] command\n"
@@ -655,79 +660,79 @@ msgstr "Не вдалося видалити %s"
msgid "Failed to rename %s to %s"
msgstr "Не вдалося перейменувати %s в %s"
-#: cmdline/apt-get.cc:127
+#: cmdline/apt-get.cc:124
msgid "Y"
msgstr "Т"
-#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1661
+#: cmdline/apt-get.cc:146 cmdline/apt-get.cc:1658
#, c-format
msgid "Regex compilation error - %s"
msgstr "Помилка компіляції регулярного виразу - %s"
-#: cmdline/apt-get.cc:244
+#: cmdline/apt-get.cc:241
msgid "The following packages have unmet dependencies:"
msgstr "Пакунки, що мають незадоволені залежності:"
-#: cmdline/apt-get.cc:334
+#: cmdline/apt-get.cc:331
#, c-format
msgid "but %s is installed"
msgstr "але %s вже встановлений"
-#: cmdline/apt-get.cc:336
+#: cmdline/apt-get.cc:333
#, c-format
msgid "but %s is to be installed"
msgstr "але %s буде встановлений"
-#: cmdline/apt-get.cc:343
+#: cmdline/apt-get.cc:340
msgid "but it is not installable"
msgstr "але він не може бути встановлений"
-#: cmdline/apt-get.cc:345
+#: cmdline/apt-get.cc:342
msgid "but it is a virtual package"
msgstr "але це віртуальний пакунок"
-#: cmdline/apt-get.cc:348
+#: cmdline/apt-get.cc:345
msgid "but it is not installed"
msgstr "але він не встановлений"
-#: cmdline/apt-get.cc:348
+#: cmdline/apt-get.cc:345
msgid "but it is not going to be installed"
msgstr "але він не буде встановлений"
-#: cmdline/apt-get.cc:353
+#: cmdline/apt-get.cc:350
msgid " or"
msgstr " чи"
-#: cmdline/apt-get.cc:382
+#: cmdline/apt-get.cc:379
msgid "The following NEW packages will be installed:"
msgstr "НОВІ пакунки, які будуть встановлені:"
-#: cmdline/apt-get.cc:408
+#: cmdline/apt-get.cc:405
msgid "The following packages will be REMOVED:"
msgstr "Пакунки, які будуть ВИДАЛЕНІ:"
-#: cmdline/apt-get.cc:430
+#: cmdline/apt-get.cc:427
msgid "The following packages have been kept back:"
msgstr "Пакунки, які будуть залишені в незмінному вигляді:"
-#: cmdline/apt-get.cc:451
+#: cmdline/apt-get.cc:448
msgid "The following packages will be upgraded:"
msgstr "Пакунки, які будуть ОНОВЛЕНІ:"
-#: cmdline/apt-get.cc:472
+#: cmdline/apt-get.cc:469
msgid "The following packages will be DOWNGRADED:"
msgstr "Пакунки, будуть замінені на більш СТАРІ версії:"
-#: cmdline/apt-get.cc:492
+#: cmdline/apt-get.cc:489
msgid "The following held packages will be changed:"
msgstr "Пакунки, які повинні були б залишитися без змін, але будуть замінені:"
-#: cmdline/apt-get.cc:545
+#: cmdline/apt-get.cc:542
#, c-format
msgid "%s (due to %s) "
msgstr "%s (внаслідок %s) "
-#: cmdline/apt-get.cc:553
+#: cmdline/apt-get.cc:550
msgid ""
"WARNING: The following essential packages will be removed.\n"
"This should NOT be done unless you know exactly what you are doing!"
@@ -735,150 +740,150 @@ msgstr ""
"УВАГА: Ці істотно важливі пакунки будуть вилучені.\n"
"НЕ РОБІТЬ цього, якщо ви НЕ уявляєте собі всі можливі наслідки!"
-#: cmdline/apt-get.cc:584
+#: cmdline/apt-get.cc:581
#, c-format
msgid "%lu upgraded, %lu newly installed, "
msgstr "оновлено %lu, встановлено %lu нових пакунків, "
-#: cmdline/apt-get.cc:588
+#: cmdline/apt-get.cc:585
#, c-format
msgid "%lu reinstalled, "
msgstr " %lu перевстановлено, "
-#: cmdline/apt-get.cc:590
+#: cmdline/apt-get.cc:587
#, c-format
msgid "%lu downgraded, "
msgstr "%lu пакунків замінено на старі версії, "
-#: cmdline/apt-get.cc:592
+#: cmdline/apt-get.cc:589
#, c-format
msgid "%lu to remove and %lu not upgraded.\n"
msgstr "для видалення відмічено %lu пакунків, і %lu пакунків не оновлено.\n"
-#: cmdline/apt-get.cc:596
+#: cmdline/apt-get.cc:593
#, c-format
msgid "%lu not fully installed or removed.\n"
msgstr "не встановлено до кінця чи видалено %lu пакунків.\n"
-#: cmdline/apt-get.cc:670
+#: cmdline/apt-get.cc:667
msgid "Correcting dependencies..."
msgstr "Виправлення залежностей..."
-#: cmdline/apt-get.cc:673
+#: cmdline/apt-get.cc:670
msgid " failed."
msgstr " невдача."
-#: cmdline/apt-get.cc:676
+#: cmdline/apt-get.cc:673
msgid "Unable to correct dependencies"
msgstr "Неможливо скоригувати залежності"
-#: cmdline/apt-get.cc:679
+#: cmdline/apt-get.cc:676
msgid "Unable to minimize the upgrade set"
msgstr "Неможливо мінімізувати набір оновлень"
-#: cmdline/apt-get.cc:681
+#: cmdline/apt-get.cc:678
msgid " Done"
msgstr " Виконано"
-#: cmdline/apt-get.cc:685
+#: cmdline/apt-get.cc:682
msgid "You might want to run `apt-get -f install' to correct these."
msgstr ""
"Можливо, для виправлення цих помилок ви захочете скористатися 'apt-get -f "
"install'."
-#: cmdline/apt-get.cc:688
+#: cmdline/apt-get.cc:685
msgid "Unmet dependencies. Try using -f."
msgstr "Незадоволені залежності. Спробуйте використати -f."
-#: cmdline/apt-get.cc:710
+#: cmdline/apt-get.cc:707
msgid "WARNING: The following packages cannot be authenticated!"
msgstr "УВАГА: Наступні пакунки неможливо автентифікувати!"
-#: cmdline/apt-get.cc:714
+#: cmdline/apt-get.cc:711
msgid "Authentication warning overridden.\n"
msgstr "Автентифікаційне попередження не прийнято до уваги.\n"
-#: cmdline/apt-get.cc:721
+#: cmdline/apt-get.cc:718
msgid "Install these packages without verification [y/N]? "
msgstr "Встановити ці пакунки без перевірки [т/Н]? "
-#: cmdline/apt-get.cc:723
+#: cmdline/apt-get.cc:720
msgid "Some packages could not be authenticated"
msgstr "Деякі пакунки неможливо автентифікувати"
-#: cmdline/apt-get.cc:732 cmdline/apt-get.cc:884
+#: cmdline/apt-get.cc:729 cmdline/apt-get.cc:881
msgid "There are problems and -y was used without --force-yes"
msgstr "Існують проблеми, а опція -y використана без --force-yes"
-#: cmdline/apt-get.cc:776
+#: cmdline/apt-get.cc:773
msgid "Internal error, InstallPackages was called with broken packages!"
msgstr ""
"Внутрішня помилка, InstallPackages була викликана з непрацездатними "
"пакунками!"
-#: cmdline/apt-get.cc:785
+#: cmdline/apt-get.cc:782
msgid "Packages need to be removed but remove is disabled."
msgstr "Пакунки необхідно видалити, але видалення заборонене."
-#: cmdline/apt-get.cc:796
+#: cmdline/apt-get.cc:793
msgid "Internal error, Ordering didn't finish"
msgstr "Внутрішня помилка, Ordering не завершилася"
-#: cmdline/apt-get.cc:812 cmdline/apt-get.cc:2003 cmdline/apt-get.cc:2036
+#: cmdline/apt-get.cc:809 cmdline/apt-get.cc:1999 cmdline/apt-get.cc:2032
msgid "Unable to lock the download directory"
msgstr "Неможливо заблокувати теку для завантаження"
-#: cmdline/apt-get.cc:822 cmdline/apt-get.cc:2084 cmdline/apt-get.cc:2330
+#: cmdline/apt-get.cc:819 cmdline/apt-get.cc:2080 cmdline/apt-get.cc:2326
#: apt-pkg/cachefile.cc:65
msgid "The list of sources could not be read."
msgstr "Неможливо прочитати перелік джерел."
-#: cmdline/apt-get.cc:837
+#: cmdline/apt-get.cc:834
msgid "How odd.. The sizes didn't match, email apt@packages.debian.org"
msgstr "Дивно.. Розбіжність розмірів, напишіть на apt@packages.debian.org"
-#: cmdline/apt-get.cc:842
+#: cmdline/apt-get.cc:839
#, c-format
msgid "Need to get %sB/%sB of archives.\n"
msgstr "Необхідно завантажити %sB/%sB архівів.\n"
-#: cmdline/apt-get.cc:845
+#: cmdline/apt-get.cc:842
#, c-format
msgid "Need to get %sB of archives.\n"
msgstr "Необхідно завантажити %sB архівів.\n"
-#: cmdline/apt-get.cc:850
+#: cmdline/apt-get.cc:847
#, fuzzy, c-format
msgid "After this operation, %sB of additional disk space will be used.\n"
msgstr "Після розпакування об'єм зайнятого дискового простору зросте на %sB.\n"
-#: cmdline/apt-get.cc:853
+#: cmdline/apt-get.cc:850
#, fuzzy, c-format
msgid "After this operation, %sB disk space will be freed.\n"
msgstr ""
"Після розпакування об'єм зайнятого дискового простору зменшиться на %sB.\n"
-#: cmdline/apt-get.cc:867 cmdline/apt-get.cc:2179
+#: cmdline/apt-get.cc:864 cmdline/apt-get.cc:2175
#, c-format
msgid "Couldn't determine free space in %s"
msgstr "Не вдалося визначити кількість вільного місця в %s"
-#: cmdline/apt-get.cc:874
+#: cmdline/apt-get.cc:871
#, c-format
msgid "You don't have enough free space in %s."
msgstr "Недостатньо вільного місця в %s."
-#: cmdline/apt-get.cc:890 cmdline/apt-get.cc:910
+#: cmdline/apt-get.cc:887 cmdline/apt-get.cc:907
msgid "Trivial Only specified but this is not a trivial operation."
msgstr ""
"Запитане виконання тільки тривіальних операцій, але це не тривіальна "
"операція."
-#: cmdline/apt-get.cc:892
+#: cmdline/apt-get.cc:889
msgid "Yes, do as I say!"
msgstr "Так, робити, як я скажу!"
-#: cmdline/apt-get.cc:894
+#: cmdline/apt-get.cc:891
#, c-format
msgid ""
"You are about to do something potentially harmful.\n"
@@ -889,28 +894,28 @@ msgstr ""
"Щоб продовжити, введіть фразу: '%s'\n"
" ?] "
-#: cmdline/apt-get.cc:900 cmdline/apt-get.cc:919
+#: cmdline/apt-get.cc:897 cmdline/apt-get.cc:916
msgid "Abort."
msgstr "Перервано."
-#: cmdline/apt-get.cc:915
+#: cmdline/apt-get.cc:912
msgid "Do you want to continue [Y/n]? "
msgstr "Бажаєте продовжити [Т/н]? "
-#: cmdline/apt-get.cc:987 cmdline/apt-get.cc:2227 apt-pkg/algorithms.cc:1407
+#: cmdline/apt-get.cc:984 cmdline/apt-get.cc:2223 apt-pkg/algorithms.cc:1349
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr "Не вдалося завантажити %s %s\n"
-#: cmdline/apt-get.cc:1005
+#: cmdline/apt-get.cc:1002
msgid "Some files failed to download"
msgstr "Деякі файли не вдалося завантажити"
-#: cmdline/apt-get.cc:1006 cmdline/apt-get.cc:2236
+#: cmdline/apt-get.cc:1003 cmdline/apt-get.cc:2232
msgid "Download complete and in download only mode"
msgstr "Вказано режим \"тільки завантаження\", і завантаження завершено"
-#: cmdline/apt-get.cc:1012
+#: cmdline/apt-get.cc:1009
msgid ""
"Unable to fetch some archives, maybe run apt-get update or try with --fix-"
"missing?"
@@ -918,49 +923,49 @@ msgstr ""
"Неможливо завантажити деякі архіви, імовірно треба виконати apt-get update "
"або спробувати повторити запуск з ключем --fix-missing?"
-#: cmdline/apt-get.cc:1016
+#: cmdline/apt-get.cc:1013
msgid "--fix-missing and media swapping is not currently supported"
msgstr "--fix-missing і зміна носія в даний момент не підтримується"
-#: cmdline/apt-get.cc:1021
+#: cmdline/apt-get.cc:1018
msgid "Unable to correct missing packages."
msgstr "Неможливо виправити втрачені пакунки."
-#: cmdline/apt-get.cc:1022
+#: cmdline/apt-get.cc:1019
msgid "Aborting install."
msgstr "Переривається встановлення."
-#: cmdline/apt-get.cc:1056
+#: cmdline/apt-get.cc:1053
#, c-format
msgid "Note, selecting %s instead of %s\n"
msgstr "Помітьте, замість %2$s вибирається %1$s\n"
-#: cmdline/apt-get.cc:1066
+#: cmdline/apt-get.cc:1063
#, c-format
msgid "Skipping %s, it is already installed and upgrade is not set.\n"
msgstr ""
"Пропускається %s - пакунок вже встановлений, і опція upgrade не "
"встановлена.\n"
-#: cmdline/apt-get.cc:1084
+#: cmdline/apt-get.cc:1081
#, c-format
msgid "Package %s is not installed, so not removed\n"
msgstr "Пакунок %s не встановлений, тому не може бути видалений\n"
-#: cmdline/apt-get.cc:1095
+#: cmdline/apt-get.cc:1092
#, c-format
msgid "Package %s is a virtual package provided by:\n"
msgstr "Пакунок %s - віртуальний, його функції надаються пакунками:\n"
-#: cmdline/apt-get.cc:1107
+#: cmdline/apt-get.cc:1104
msgid " [Installed]"
msgstr " [Встановлено]"
-#: cmdline/apt-get.cc:1112
+#: cmdline/apt-get.cc:1109
msgid "You should explicitly select one to install."
msgstr "Ви повинні явно вказати, який саме ви хочете встановити."
-#: cmdline/apt-get.cc:1117
+#: cmdline/apt-get.cc:1114
#, c-format
msgid ""
"Package %s is not available, but is referred to by another package.\n"
@@ -972,69 +977,69 @@ msgstr ""
"Це може означати, що пакунок відсутній, застарів, або доступний з джерел, не "
"згаданих в sources.list\n"
-#: cmdline/apt-get.cc:1136
+#: cmdline/apt-get.cc:1133
msgid "However the following packages replace it:"
msgstr "Однак наступні пакунки можуть його замінити:"
-#: cmdline/apt-get.cc:1139
+#: cmdline/apt-get.cc:1136
#, c-format
msgid "Package %s has no installation candidate"
msgstr "Для пакунка %s не знайдені кандидати на встановлення"
-#: cmdline/apt-get.cc:1159
+#: cmdline/apt-get.cc:1156
#, c-format
msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
msgstr "Перевстановлення %s неможливе, бо він не може бути завантаженим.\n"
-#: cmdline/apt-get.cc:1167
+#: cmdline/apt-get.cc:1164
#, c-format
msgid "%s is already the newest version.\n"
msgstr "Вже встановлена найновіша версія %s.\n"
-#: cmdline/apt-get.cc:1196
+#: cmdline/apt-get.cc:1193
#, c-format
msgid "Release '%s' for '%s' was not found"
msgstr "Реліз '%s' для '%s' не знайдений"
-#: cmdline/apt-get.cc:1198
+#: cmdline/apt-get.cc:1195
#, c-format
msgid "Version '%s' for '%s' was not found"
msgstr "Версія '%s' для '%s' не знайдена"
-#: cmdline/apt-get.cc:1204
+#: cmdline/apt-get.cc:1201
#, c-format
msgid "Selected version %s (%s) for %s\n"
msgstr "Обрана версія %s (%s) для %s\n"
-#: cmdline/apt-get.cc:1310
+#: cmdline/apt-get.cc:1307
#, c-format
msgid "No source package '%s' picking '%s' instead\n"
msgstr ""
-#: cmdline/apt-get.cc:1348
+#: cmdline/apt-get.cc:1345
msgid "The update command takes no arguments"
msgstr "Команді update не потрібні аргументи"
-#: cmdline/apt-get.cc:1361
+#: cmdline/apt-get.cc:1358
msgid "Unable to lock the list directory"
msgstr "Неможливо заблокувати теку з переліками пакунків"
-#: cmdline/apt-get.cc:1413
+#: cmdline/apt-get.cc:1410
msgid "We are not supposed to delete stuff, can't start AutoRemover"
msgstr ""
-#: cmdline/apt-get.cc:1445
+#: cmdline/apt-get.cc:1442
#, fuzzy
msgid ""
"The following packages were automatically installed and are no longer "
"required:"
msgstr "НОВІ пакунки були встановлені автоматично і більше не потрібні:"
-#: cmdline/apt-get.cc:1447
+#: cmdline/apt-get.cc:1444
msgid "Use 'apt-get autoremove' to remove them."
msgstr "Використовуйте 'apt-get autoremove' щоб видалити їх."
-#: cmdline/apt-get.cc:1452
+#: cmdline/apt-get.cc:1449
msgid ""
"Hmm, seems like the AutoRemover destroyed something which really\n"
"shouldn't happen. Please file a bug report against apt."
@@ -1052,46 +1057,46 @@ msgstr ""
#. "that package should be filed.") << endl;
#. }
#.
-#: cmdline/apt-get.cc:1455 cmdline/apt-get.cc:1745
+#: cmdline/apt-get.cc:1452 cmdline/apt-get.cc:1742
msgid "The following information may help to resolve the situation:"
msgstr "Наступна інформація можливо допоможе Вам:"
-#: cmdline/apt-get.cc:1459
+#: cmdline/apt-get.cc:1456
#, fuzzy
msgid "Internal Error, AutoRemover broke stuff"
msgstr "Внутрішня помилка, вирішувач проблем все поламав"
-#: cmdline/apt-get.cc:1478
+#: cmdline/apt-get.cc:1475
msgid "Internal error, AllUpgrade broke stuff"
msgstr "Внутрішня помилка, AllUpgrade все поламав"
-#: cmdline/apt-get.cc:1533
+#: cmdline/apt-get.cc:1530
#, fuzzy, c-format
msgid "Couldn't find task %s"
msgstr "Не можу знайти пакунок %s"
-#: cmdline/apt-get.cc:1648 cmdline/apt-get.cc:1684
+#: cmdline/apt-get.cc:1645 cmdline/apt-get.cc:1681
#, c-format
msgid "Couldn't find package %s"
msgstr "Не можу знайти пакунок %s"
-#: cmdline/apt-get.cc:1671
+#: cmdline/apt-get.cc:1668
#, c-format
msgid "Note, selecting %s for regex '%s'\n"
msgstr "Помітьте, регулярний вираз %2$s призводить до вибору %1$s\n"
-#: cmdline/apt-get.cc:1702
+#: cmdline/apt-get.cc:1699
#, fuzzy, c-format
msgid "%s set to manually installed.\n"
msgstr "але %s буде встановлений"
-#: cmdline/apt-get.cc:1715
+#: cmdline/apt-get.cc:1712
msgid "You might want to run `apt-get -f install' to correct these:"
msgstr ""
"Можливо, для виправлення цих помилок Ви захочете скористатися 'apt-get -f "
"install':"
-#: cmdline/apt-get.cc:1718
+#: cmdline/apt-get.cc:1715
msgid ""
"Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a "
"solution)."
@@ -1099,7 +1104,7 @@ msgstr ""
"Незадоволені залежності. Спробуйте виконати 'apt-get -f install', не "
"вказуючи імені пакунка (або знайдіть інше рішення)."
-#: cmdline/apt-get.cc:1730
+#: cmdline/apt-get.cc:1727
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"
@@ -1110,121 +1115,121 @@ msgstr ""
"або ж використаєте нестабільний дистрибутив, і запитані Вами пакунки\n"
"ще не створені або були вилучені з Incoming."
-#: cmdline/apt-get.cc:1748
+#: cmdline/apt-get.cc:1745
msgid "Broken packages"
msgstr "Зламані пакунки"
-#: cmdline/apt-get.cc:1777
+#: cmdline/apt-get.cc:1774
msgid "The following extra packages will be installed:"
msgstr "Будуть встановлені наступні додаткові пакунки:"
-#: cmdline/apt-get.cc:1866
+#: cmdline/apt-get.cc:1863
msgid "Suggested packages:"
msgstr "Пропоновані пакунки:"
-#: cmdline/apt-get.cc:1867
+#: cmdline/apt-get.cc:1864
msgid "Recommended packages:"
msgstr "Рекомендовані пакунки:"
-#: cmdline/apt-get.cc:1896
+#: cmdline/apt-get.cc:1892
msgid "Calculating upgrade... "
msgstr "Обчислення оновлень... "
-#: cmdline/apt-get.cc:1899 methods/ftp.cc:702 methods/connect.cc:112
+#: cmdline/apt-get.cc:1895 methods/ftp.cc:702 methods/connect.cc:112
msgid "Failed"
msgstr "Невдача"
-#: cmdline/apt-get.cc:1904
+#: cmdline/apt-get.cc:1900
msgid "Done"
msgstr "Виконано"
-#: cmdline/apt-get.cc:1971 cmdline/apt-get.cc:1979
+#: cmdline/apt-get.cc:1967 cmdline/apt-get.cc:1975
msgid "Internal error, problem resolver broke stuff"
msgstr "Внутрішня помилка, вирішувач проблем все поламав"
-#: cmdline/apt-get.cc:2079
+#: cmdline/apt-get.cc:2075
msgid "Must specify at least one package to fetch source for"
msgstr ""
"Вкажіть як мінімум один пакунок, для якого необхідно завантажити вихідні "
"тексти"
-#: cmdline/apt-get.cc:2109 cmdline/apt-get.cc:2348
+#: cmdline/apt-get.cc:2105 cmdline/apt-get.cc:2344
#, c-format
msgid "Unable to find a source package for %s"
msgstr "Неможливо знайти пакунок з вихідними текстами для %s"
-#: cmdline/apt-get.cc:2158
+#: cmdline/apt-get.cc:2154
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr "Пропускаємо вже завантажений файл '%s'\n"
-#: cmdline/apt-get.cc:2186
+#: cmdline/apt-get.cc:2182
#, c-format
msgid "You don't have enough free space in %s"
msgstr "Недостатньо місця в %s"
-#: cmdline/apt-get.cc:2192
+#: cmdline/apt-get.cc:2188
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr "Необхідно завантажити %sB/%sB з архівів вихідних текстів.\n"
-#: cmdline/apt-get.cc:2195
+#: cmdline/apt-get.cc:2191
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr "Потрібно завантажити %sB архівів з вихідними текстами.\n"
-#: cmdline/apt-get.cc:2201
+#: cmdline/apt-get.cc:2197
#, c-format
msgid "Fetch source %s\n"
msgstr "Завантаження вихідних текстів %s\n"
-#: cmdline/apt-get.cc:2232
+#: cmdline/apt-get.cc:2228
msgid "Failed to fetch some archives."
msgstr "Деякі архіви не вдалося завантажити."
-#: cmdline/apt-get.cc:2260
+#: cmdline/apt-get.cc:2256
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
"Розпакування вихідних текстів пропущено, тому що в %s вже перебувають "
"розпаковані вихідні тексти\n"
-#: cmdline/apt-get.cc:2272
+#: cmdline/apt-get.cc:2268
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr "Команда розпакування '%s' завершилася невдало.\n"
-#: cmdline/apt-get.cc:2273
+#: cmdline/apt-get.cc:2269
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr "Перевірте, чи встановлений пакунок 'dpkg-dev'.\n"
-#: cmdline/apt-get.cc:2290
+#: cmdline/apt-get.cc:2286
#, c-format
msgid "Build command '%s' failed.\n"
msgstr "Команда побудови '%s' закінчилася невдало.\n"
-#: cmdline/apt-get.cc:2309
+#: cmdline/apt-get.cc:2305
msgid "Child process failed"
msgstr "Породжений процес завершився невдало"
-#: cmdline/apt-get.cc:2325
+#: cmdline/apt-get.cc:2321
msgid "Must specify at least one package to check builddeps for"
msgstr ""
"Для перевірки залежностей для побудови необхідно вказати як мінімум один "
"пакунок"
-#: cmdline/apt-get.cc:2353
+#: cmdline/apt-get.cc:2349
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr "Неможливо одержати інформацію про залежності для побудови %s"
-#: cmdline/apt-get.cc:2373
+#: cmdline/apt-get.cc:2369
#, c-format
msgid "%s has no build depends.\n"
msgstr "%s не має залежностей для побудови.\n"
-#: cmdline/apt-get.cc:2425
+#: cmdline/apt-get.cc:2421
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1232,7 +1237,7 @@ msgid ""
msgstr ""
"Залежність типу %s для %s не може бути задоволена, бо пакунок %s не знайдено"
-#: cmdline/apt-get.cc:2478
+#: cmdline/apt-get.cc:2474
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because no available versions of "
@@ -1241,32 +1246,32 @@ msgstr ""
"Залежність типу %s для %s не може бути задоволена, бо ні одна з версій "
"пакунка %s не задовольняє умови"
-#: cmdline/apt-get.cc:2514
+#: cmdline/apt-get.cc:2510
#, c-format
msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
msgstr ""
"Не вдалося задовольнити залежність типу %s для пакунка %s: Встановлений "
"пакунок %s новіше, аніж треба"
-#: cmdline/apt-get.cc:2541
+#: cmdline/apt-get.cc:2537
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr "Неможливо задовольнити залежність типу %s для пакунка %s: %s"
-#: cmdline/apt-get.cc:2555
+#: cmdline/apt-get.cc:2551
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr "Залежності для побудови %s не можуть бути задоволені."
-#: cmdline/apt-get.cc:2559
+#: cmdline/apt-get.cc:2555
msgid "Failed to process build dependencies"
msgstr "Обробка залежностей для побудови закінчилася невдало"
-#: cmdline/apt-get.cc:2591
+#: cmdline/apt-get.cc:2587
msgid "Supported modules:"
msgstr "Підтримувані модулі:"
-#: cmdline/apt-get.cc:2632
+#: cmdline/apt-get.cc:2628
#, fuzzy
msgid ""
"Usage: apt-get [options] command\n"
@@ -1353,14 +1358,6 @@ msgstr ""
"містять більше інформації.\n"
" This APT has Super Cow Powers.\n"
-#: cmdline/apt-get.cc:2799
-msgid ""
-"NOTE: This is only a simulation!\n"
-" apt-get needs root privileges for real execution.\n"
-" Keep also in mind that locking is deactivated,\n"
-" so don't depend on the relevance to the real current situation!"
-msgstr ""
-
#: cmdline/acqprogress.cc:55
msgid "Hit "
msgstr "В кеші "
@@ -1595,9 +1592,9 @@ msgstr "Файли заміняються вмістом пакета %s без
msgid "File %s/%s overwrites the one in the package %s"
msgstr "Файл %s/%s перезаписує інший з пакету %s"
-#: apt-inst/extract.cc:464 apt-pkg/contrib/configuration.cc:822
+#: apt-inst/extract.cc:464 apt-pkg/contrib/configuration.cc:821
#: apt-pkg/contrib/cdromutl.cc:150 apt-pkg/sourcelist.cc:320
-#: apt-pkg/acquire.cc:419 apt-pkg/clean.cc:34 apt-pkg/policy.cc:268
+#: apt-pkg/acquire.cc:418 apt-pkg/clean.cc:34
#, c-format
msgid "Unable to read %s"
msgstr "Неможливо прочитати %s"
@@ -1832,7 +1829,7 @@ msgstr "Час з'єднання вичерпався"
msgid "Server closed the connection"
msgstr "Сервер закрив з'єднання"
-#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:541 methods/rsh.cc:190
+#: methods/ftp.cc:338 apt-pkg/contrib/fileutl.cc:538 methods/rsh.cc:190
msgid "Read error"
msgstr "Помилка читання"
@@ -1844,7 +1841,7 @@ msgstr "Відповідь переповнила буфер."
msgid "Protocol corruption"
msgstr "Спотворений протокол"
-#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:580 methods/rsh.cc:232
+#: methods/ftp.cc:446 apt-pkg/contrib/fileutl.cc:577 methods/rsh.cc:232
msgid "Write error"
msgstr "Помилка запису"
@@ -2156,7 +2153,7 @@ msgstr ""
msgid "%lis"
msgstr ""
-#: apt-pkg/contrib/strutl.cc:1029
+#: apt-pkg/contrib/strutl.cc:1018
#, c-format
msgid "Selection %s not found"
msgstr "Вибір %s не знайдено"
@@ -2171,44 +2168,44 @@ msgstr "Нерозпізнаваний тип абревіатури: '%c'"
msgid "Opening configuration file %s"
msgstr "Відкривається конфігураційний файл %s"
-#: apt-pkg/contrib/configuration.cc:663
+#: apt-pkg/contrib/configuration.cc:662
#, c-format
msgid "Syntax error %s:%u: Block starts with no name."
msgstr "Синтаксова помилка %s:%u: Блок починається без назви."
-#: apt-pkg/contrib/configuration.cc:682
+#: apt-pkg/contrib/configuration.cc:681
#, c-format
msgid "Syntax error %s:%u: Malformed tag"
msgstr "Синтаксова помилка %s:%u: спотворений тег"
-#: apt-pkg/contrib/configuration.cc:699
+#: apt-pkg/contrib/configuration.cc:698
#, c-format
msgid "Syntax error %s:%u: Extra junk after value"
msgstr "Синтаксова помилка %s:%u: зайві символи після величини"
-#: apt-pkg/contrib/configuration.cc:739
+#: apt-pkg/contrib/configuration.cc:738
#, fuzzy, c-format
msgid "Syntax error %s:%u: Directives can only be done at the top level"
msgstr ""
"Синтаксова помилка %s:%u: Директиви можуть бути виконані тільки на "
"найвищому рівні"
-#: apt-pkg/contrib/configuration.cc:746
+#: apt-pkg/contrib/configuration.cc:745
#, c-format
msgid "Syntax error %s:%u: Too many nested includes"
msgstr "Синтаксова помилка %s:%u: Забагато вмонтованих включень"
-#: apt-pkg/contrib/configuration.cc:750 apt-pkg/contrib/configuration.cc:755
+#: apt-pkg/contrib/configuration.cc:749 apt-pkg/contrib/configuration.cc:754
#, c-format
msgid "Syntax error %s:%u: Included from here"
msgstr "Синтаксова помилка %s:%u: Включена звідси"
-#: apt-pkg/contrib/configuration.cc:759
+#: apt-pkg/contrib/configuration.cc:758
#, c-format
msgid "Syntax error %s:%u: Unsupported directive '%s'"
msgstr "Синтаксова помилка %s:%u: Директива '%s' не підтримується"
-#: apt-pkg/contrib/configuration.cc:810
+#: apt-pkg/contrib/configuration.cc:809
#, c-format
msgid "Syntax error %s:%u: Extra junk at end of file"
msgstr "Синтаксова помилка %s:%u: зайві символи в кінці файла"
@@ -2275,7 +2272,7 @@ msgid "Unable to stat the mount point %s"
msgstr "Неможливо прочитати атрибути точки монтування %s"
#: apt-pkg/contrib/cdromutl.cc:146 apt-pkg/contrib/cdromutl.cc:180
-#: apt-pkg/acquire.cc:425 apt-pkg/acquire.cc:450 apt-pkg/clean.cc:40
+#: apt-pkg/acquire.cc:424 apt-pkg/acquire.cc:449 apt-pkg/clean.cc:40
#, c-format
msgid "Unable to change to %s"
msgstr "Неможливо зробити зміни у %s"
@@ -2313,155 +2310,145 @@ msgstr "Не можливо отримати lock %s"
msgid "Waited for %s but it wasn't there"
msgstr "Очікується на %s але його тут немає"
-#: apt-pkg/contrib/fileutl.cc:455
+#: apt-pkg/contrib/fileutl.cc:454
#, c-format
msgid "Sub-process %s received a segmentation fault."
msgstr "Підпроцес %s отримав segmentation fault."
#: apt-pkg/contrib/fileutl.cc:457
-#, fuzzy, c-format
-#| msgid "Sub-process %s received a segmentation fault."
-msgid "Sub-process %s received signal %u."
-msgstr "Підпроцес %s отримав segmentation fault."
-
-#: apt-pkg/contrib/fileutl.cc:460
#, c-format
msgid "Sub-process %s returned an error code (%u)"
msgstr "Підпроцес %s повернув код помилки (%u)"
-#: apt-pkg/contrib/fileutl.cc:462
+#: apt-pkg/contrib/fileutl.cc:459
#, c-format
msgid "Sub-process %s exited unexpectedly"
msgstr "Підпроцес %s раптово завершився"
-#: apt-pkg/contrib/fileutl.cc:506
+#: apt-pkg/contrib/fileutl.cc:503
#, c-format
msgid "Could not open file %s"
msgstr "Не можливо відкрити файл %s"
-#: apt-pkg/contrib/fileutl.cc:562
+#: apt-pkg/contrib/fileutl.cc:559
#, c-format
msgid "read, still have %lu to read but none left"
msgstr ""
"помилка при читанні. мали прочитати ще %lu байт, але нічого більше нема"
-#: apt-pkg/contrib/fileutl.cc:592
+#: apt-pkg/contrib/fileutl.cc:589
#, c-format
msgid "write, still have %lu to write but couldn't"
msgstr "помилка при записі, мали прочитати ще %lu байт, але не змогли"
-#: apt-pkg/contrib/fileutl.cc:667
+#: apt-pkg/contrib/fileutl.cc:664
msgid "Problem closing the file"
msgstr "Проблема з закриттям файла"
-#: apt-pkg/contrib/fileutl.cc:673
+#: apt-pkg/contrib/fileutl.cc:670
msgid "Problem unlinking the file"
msgstr "Проблема з роз'єднанням файла"
-#: apt-pkg/contrib/fileutl.cc:684
+#: apt-pkg/contrib/fileutl.cc:681
msgid "Problem syncing the file"
msgstr "Проблема з синхронізацією файла"
-#: apt-pkg/pkgcache.cc:133
+#: apt-pkg/pkgcache.cc:132
msgid "Empty package cache"
msgstr "Кеш пакунків пустий"
-#: apt-pkg/pkgcache.cc:139
+#: apt-pkg/pkgcache.cc:138
msgid "The package cache file is corrupted"
msgstr "Файл кешу пакунків пошкоджений"
-#: apt-pkg/pkgcache.cc:144
+#: apt-pkg/pkgcache.cc:143
msgid "The package cache file is an incompatible version"
msgstr "Файл кешу пакунків має несумісну версію"
-#: apt-pkg/pkgcache.cc:149
+#: apt-pkg/pkgcache.cc:148
#, c-format
msgid "This APT does not support the versioning system '%s'"
msgstr "APT не підтримує систему призначення версій '%s'"
-#: apt-pkg/pkgcache.cc:154
+#: apt-pkg/pkgcache.cc:153
msgid "The package cache was built for a different architecture"
msgstr "Кеш пакунків був побудований для іншої архітектури"
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "Depends"
msgstr "Залежності (Depends)"
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "PreDepends"
msgstr "Пре-Залежності (PreDepends)"
-#: apt-pkg/pkgcache.cc:225
+#: apt-pkg/pkgcache.cc:224
msgid "Suggests"
msgstr "Пропонує (Suggests)"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Recommends"
msgstr "Рекомендує"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Conflicts"
msgstr "Конфлікти"
-#: apt-pkg/pkgcache.cc:226
+#: apt-pkg/pkgcache.cc:225
msgid "Replaces"
msgstr "Заміняє (Replaces)"
-#: apt-pkg/pkgcache.cc:227
+#: apt-pkg/pkgcache.cc:226
msgid "Obsoletes"
msgstr "Застарілі (Obsoletes)"
-#: apt-pkg/pkgcache.cc:227
+#: apt-pkg/pkgcache.cc:226
msgid "Breaks"
msgstr ""
-#: apt-pkg/pkgcache.cc:227
-msgid "Enhances"
-msgstr ""
-
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "important"
msgstr "Важливі (Important)"
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "required"
msgstr "Необхідні (Required)"
-#: apt-pkg/pkgcache.cc:238
+#: apt-pkg/pkgcache.cc:237
msgid "standard"
msgstr "Стандартні (Standard)"
-#: apt-pkg/pkgcache.cc:239
+#: apt-pkg/pkgcache.cc:238
msgid "optional"
msgstr "Необов'язкові (Optional)"
-#: apt-pkg/pkgcache.cc:239
+#: apt-pkg/pkgcache.cc:238
msgid "extra"
msgstr "Додаткові (Extra)"
-#: apt-pkg/depcache.cc:123 apt-pkg/depcache.cc:152
+#: apt-pkg/depcache.cc:121 apt-pkg/depcache.cc:150
msgid "Building dependency tree"
msgstr "Побудова дерева залежностей"
-#: apt-pkg/depcache.cc:124
+#: apt-pkg/depcache.cc:122
msgid "Candidate versions"
msgstr "Версії кандидатів"
-#: apt-pkg/depcache.cc:153
+#: apt-pkg/depcache.cc:151
msgid "Dependency generation"
msgstr "Ґенерація залежностей"
-#: apt-pkg/depcache.cc:174 apt-pkg/depcache.cc:193 apt-pkg/depcache.cc:197
+#: apt-pkg/depcache.cc:172 apt-pkg/depcache.cc:191 apt-pkg/depcache.cc:195
#, fuzzy
msgid "Reading state information"
msgstr "Об'єднання інформації про доступні пакунки"
-#: apt-pkg/depcache.cc:221
+#: apt-pkg/depcache.cc:219
#, fuzzy, c-format
msgid "Failed to open StateFile %s"
msgstr "Не вдалося відкрити %s"
-#: apt-pkg/depcache.cc:227
+#: apt-pkg/depcache.cc:225
#, fuzzy, c-format
msgid "Failed to write temporary StateFile %s"
msgstr "Не вдалося записати файл %s"
@@ -2552,7 +2539,7 @@ msgstr ""
"Пакунок %s повинен бути перевстановленим, але я не можу знайти архіву для "
"нього."
-#: apt-pkg/algorithms.cc:1154
+#: apt-pkg/algorithms.cc:1107
msgid ""
"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
"held packages."
@@ -2560,11 +2547,11 @@ msgstr ""
"Помилка, pkgProblemResolver::Resolve згенерував зупинку, це може бути "
"пов'язано з зафіксованими пакунками."
-#: apt-pkg/algorithms.cc:1156
+#: apt-pkg/algorithms.cc:1109
msgid "Unable to correct problems, you have held broken packages."
msgstr "Неможливо усунути проблеми, Ви маєте поламані зафіксовані пакунки."
-#: apt-pkg/algorithms.cc:1433 apt-pkg/algorithms.cc:1435
+#: apt-pkg/algorithms.cc:1375 apt-pkg/algorithms.cc:1377
msgid ""
"Some index files failed to download, they have been ignored, or old ones "
"used instead."
@@ -2572,24 +2559,24 @@ msgstr ""
"Деякі індексні файли не завантажилися, вони були зігноровані або замість них "
"були використані старі версії."
-#: apt-pkg/acquire.cc:60
+#: apt-pkg/acquire.cc:59
#, c-format
msgid "Lists directory %spartial is missing."
msgstr "Lists тека %spartial відсутня."
-#: apt-pkg/acquire.cc:64
+#: apt-pkg/acquire.cc:63
#, c-format
msgid "Archive directory %spartial is missing."
msgstr "Архівна тека %spartial відсутня."
#. only show the ETA if it makes sense
#. two days
-#: apt-pkg/acquire.cc:829
+#: apt-pkg/acquire.cc:828
#, fuzzy, c-format
msgid "Retrieving file %li of %li (%s remaining)"
msgstr "Завантажується файл %li з %li (%s залишилось)"
-#: apt-pkg/acquire.cc:831
+#: apt-pkg/acquire.cc:830
#, fuzzy, c-format
msgid "Retrieving file %li of %li"
msgstr "Завантажується файл %li з %li"
@@ -2610,12 +2597,12 @@ msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
"Будь-ласка, вставте диск з поміткою: '%s' в CD привід '%s' і натисніть Enter."
-#: apt-pkg/init.cc:125
+#: apt-pkg/init.cc:124
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr "Система пакування '%s' не підтримується"
-#: apt-pkg/init.cc:141
+#: apt-pkg/init.cc:140
msgid "Unable to determine a suitable packaging system type"
msgstr "Неможливо визначити тип необхідної системи пакування "
@@ -2636,18 +2623,16 @@ msgstr "Не можу обробити чи відкрити перелік па
msgid "You may want to run apt-get update to correct these problems"
msgstr "Можливо, для виправлення цих помилок Ви захочете запустити apt-get"
-#: apt-pkg/policy.cc:329
-#, fuzzy, c-format
-#| msgid "Invalid record in the preferences file, no Package header"
-msgid "Invalid record in the preferences file %s, no Package header"
+#: apt-pkg/policy.cc:267
+msgid "Invalid record in the preferences file, no Package header"
msgstr "Невірний запис в preferences файлі, відсутній заголовок Package"
-#: apt-pkg/policy.cc:351
+#: apt-pkg/policy.cc:289
#, c-format
msgid "Did not understand pin type %s"
msgstr "Не зрозумів тип %s для pin"
-#: apt-pkg/policy.cc:359
+#: apt-pkg/policy.cc:297
msgid "No priority (or zero) specified for pin"
msgstr "Не встановлено пріоритету (або встановлено 0) для pin"
@@ -2794,23 +2779,6 @@ msgstr ""
msgid "Size mismatch"
msgstr "Невідповідність розміру"
-#: apt-pkg/indexrecords.cc:40
-#, fuzzy, c-format
-#| msgid "Unable to parse package file %s (1)"
-msgid "Unable to parse Release file %s"
-msgstr "Неможливо обробити файл %s пакунку (1)"
-
-#: apt-pkg/indexrecords.cc:47
-#, fuzzy, c-format
-#| msgid "Note, selecting %s instead of %s\n"
-msgid "No sections in Release file %s"
-msgstr "Помітьте, замість %2$s вибирається %1$s\n"
-
-#: apt-pkg/indexrecords.cc:81
-#, c-format
-msgid "No Hash entry in Release file %s"
-msgstr ""
-
#: apt-pkg/vendorlist.cc:66
#, c-format
msgid "Vendor block %s contains no fingerprint"
@@ -2868,12 +2836,6 @@ msgid ""
"zu signatures\n"
msgstr "Знайдено %i індексів пакунків, %i індексів джерел і %i підписів\n"
-#: apt-pkg/cdrom.cc:689
-msgid ""
-"Unable to locate any package files, perhaps this is not a Debian Disc or the "
-"wrong architecture?"
-msgstr ""
-
#: apt-pkg/cdrom.cc:715
#, fuzzy, c-format
msgid "Found label '%s'\n"
@@ -2904,22 +2866,22 @@ msgstr "Записується новий перелік джерел\n"
msgid "Source list entries for this disc are:\n"
msgstr "Перелік джерел для цього диску:\n"
-#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:833
+#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:823
#, c-format
msgid "Wrote %i records.\n"
msgstr "Записано %i записів.\n"
-#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:835
+#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:825
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr "Записано %i записів з %i відсутніми файлами.\n"
-#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:838
+#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:828
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr "Записано %i записів з %i невідповідними файлам\n"
-#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:841
+#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:831
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr "Записано %i записів з %i відсутніми і %i невідповідними файлами\n"
@@ -2929,12 +2891,12 @@ msgstr "Записано %i записів з %i відсутніми і %i не
msgid "Installing %s"
msgstr "Встановлено %s"
-#: apt-pkg/deb/dpkgpm.cc:50 apt-pkg/deb/dpkgpm.cc:642
+#: apt-pkg/deb/dpkgpm.cc:50 apt-pkg/deb/dpkgpm.cc:612
#, c-format
msgid "Configuring %s"
msgstr "Конфігурація %s"
-#: apt-pkg/deb/dpkgpm.cc:51 apt-pkg/deb/dpkgpm.cc:649
+#: apt-pkg/deb/dpkgpm.cc:51 apt-pkg/deb/dpkgpm.cc:627
#, c-format
msgid "Removing %s"
msgstr "Видаляється %s"
@@ -2944,79 +2906,62 @@ msgstr "Видаляється %s"
msgid "Running post-installation trigger %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:546
+#: apt-pkg/deb/dpkgpm.cc:521
#, fuzzy, c-format
msgid "Directory '%s' missing"
msgstr "Lists тека %spartial відсутня."
-#: apt-pkg/deb/dpkgpm.cc:635
+#: apt-pkg/deb/dpkgpm.cc:605
#, c-format
msgid "Preparing %s"
msgstr "Підготовка %s"
-#: apt-pkg/deb/dpkgpm.cc:636
+#: apt-pkg/deb/dpkgpm.cc:606
#, c-format
msgid "Unpacking %s"
msgstr "Розпакування %s"
-#: apt-pkg/deb/dpkgpm.cc:641
+#: apt-pkg/deb/dpkgpm.cc:611
#, c-format
msgid "Preparing to configure %s"
msgstr "Підготовка до конфігурації %s"
-#: apt-pkg/deb/dpkgpm.cc:643
+#: apt-pkg/deb/dpkgpm.cc:614 apt-pkg/deb/dpkgpm.cc:615
+#, fuzzy, c-format
+msgid "Processing triggers for %s"
+msgstr "Помилка обробки течи %s"
+
+#: apt-pkg/deb/dpkgpm.cc:617
#, c-format
msgid "Installed %s"
msgstr "Встановлено %s"
-#: apt-pkg/deb/dpkgpm.cc:648
+#: apt-pkg/deb/dpkgpm.cc:622 apt-pkg/deb/dpkgpm.cc:624
+#: apt-pkg/deb/dpkgpm.cc:625
#, c-format
msgid "Preparing for removal of %s"
msgstr "Підготовка до видалення %s"
-#: apt-pkg/deb/dpkgpm.cc:650
+#: apt-pkg/deb/dpkgpm.cc:628
#, c-format
msgid "Removed %s"
msgstr "Видалено %s"
-#: apt-pkg/deb/dpkgpm.cc:655
+#: apt-pkg/deb/dpkgpm.cc:633
#, c-format
msgid "Preparing to completely remove %s"
msgstr "Підготовка до повного видалення %s"
-#: apt-pkg/deb/dpkgpm.cc:656
+#: apt-pkg/deb/dpkgpm.cc:634
#, c-format
msgid "Completely removed %s"
msgstr "Повністю видалено %s"
-#: apt-pkg/deb/dpkgpm.cc:820
+#: apt-pkg/deb/dpkgpm.cc:789
msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n"
msgstr ""
"Неможливо записати в лог, проблема з openpty() (не змонтовано /dev/pts?)\n"
-#: apt-pkg/deb/dpkgpm.cc:848
-msgid "Running dpkg"
-msgstr ""
-
-#: apt-pkg/deb/debsystem.cc:70
-#, c-format
-msgid ""
-"Unable to lock the administration directory (%s), is another process using "
-"it?"
-msgstr ""
-
-#: apt-pkg/deb/debsystem.cc:73
-#, fuzzy, c-format
-#| msgid "Unable to lock the list directory"
-msgid "Unable to lock the administration directory (%s), are you root?"
-msgstr "Неможливо заблокувати теку з переліками пакунків"
-
-#: apt-pkg/deb/debsystem.cc:82
-msgid ""
-"dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct "
-"the problem. "
-msgstr ""
-
#: apt-pkg/deb/debsystem.cc:100
msgid "Not locked"
msgstr ""
@@ -3029,13 +2974,6 @@ msgstr "Неможливо накласти латку на файл"
msgid "Connection closed prematurely"
msgstr "З'єднання завершено передчасно"
-#~ msgid "%4i %s\n"
-#~ msgstr "%4i %s\n"
-
-#, fuzzy
-#~ msgid "Processing triggers for %s"
-#~ msgstr "Помилка обробки течи %s"
-
#~ msgid ""
#~ "Since you only requested a single operation it is extremely likely that\n"
#~ "the package is simply not installable and a bug report against\n"
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/debian-archive.gpg.moved b/share/debian-archive.gpg.moved
new file mode 100644
index 000000000..bb5ed5033
--- /dev/null
+++ b/share/debian-archive.gpg.moved
Binary files differ
diff --git a/share/makefile b/share/makefile
new file mode 100644
index 000000000..e35376d98
--- /dev/null
+++ b/share/makefile
@@ -0,0 +1,12 @@
+
+BASE=..
+SUBDIR=share
+
+# Bring in the default rules
+include ../buildlib/defaults.mak
+
+binary: apt-auth-failure.note.h
+
+apt-auth-failure.note.h: apt-auth-failure.note
+ intltool-extract -t gettext/rfc822deb apt-auth-failure.note
+ echo "share/apt-auth-failure.note.h" >> $(BUILD)/po/domains/apt/apt-auth-failure.note.srclist
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages
new file mode 100644
index 000000000..3e7265438
--- /dev/null
+++ b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages
@@ -0,0 +1,25 @@
+Package: libglib2.0-data
+Priority: optional
+Section: misc
+Installed-Size: 2288
+Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com>
+Original-Maintainer: Loic Minier <lool@dooz.org>
+Architecture: all
+Source: glib2.0
+Version: 2.13.6-1ubuntu1
+Replaces: libglib1.3, libglib1.3-data
+Depends: libglib2.0-0 (>= 2.13.6-1ubuntu1)
+Conflicts: libglib1.3-data
+Filename: ./libglib2.0-data_2.13.6-1ubuntu1_all.deb
+Size: 958
+MD5sum: 803fc5e2e31a4345b3e9c771e1eae49f
+SHA1: 75b2c62b21bae60c58e694dd40ed6d4df946e304
+SHA256: 142d8466eac252f06bc957d76fe1bb87f86f2d3512b99c8d4b08c1ad79fbe59e
+Description: Common files for GLib library
+ GLib is a library containing many useful C routines for things such
+ as trees, hashes, lists, and strings. It is a useful general-purpose
+ C library used by projects such as GTK+, GIMP, and GNOME.
+ .
+ This package is needed for the runtime libraries to display messages in
+ languages other than English.
+
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release
new file mode 100644
index 000000000..7ecd4cd19
--- /dev/null
+++ b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release
@@ -0,0 +1,13 @@
+Date: Fri, 27 Jul 2007 14:39:41 UTC
+MD5Sum:
+ 4672dadea6a144839f823c9f3d5fd44b 934 Packages
+ 82ebcf09a8d78a2b9cf7759349da4936 603 Packages.gz
+ d41d8cd98f00b204e9800998ecf8427e 0 Release
+SHA1:
+ fa0f294aa30789529371066b10e9497be1284d26 934 Packages
+ f4032808663b2810d87b4a4dab6f5ae4a1e8fa8e 603 Packages.gz
+ da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release
+SHA256:
+ 92c9b605480dc74e6be79c0ddc24738bfcbd6dd3148af531acd68717de528049 934 Packages
+ 659ccc0d07ff21f0247f9fa5abe149221c90d5e17da52c7afddb035b93c23d39 603 Packages.gz
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg
new file mode 100644
index 000000000..85c356e6f
--- /dev/null
+++ b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.6 (GNU/Linux)
+
+iD8DBQBGqgOwliSD4VZixzQRAs6jAJ9p7Aiob9gzkUNCtoW8UPrBo0E/YwCdEaz0
+CQJszU6fRYX5jGWXSWzfc5c=
+=ugH0
+-----END PGP SIGNATURE-----
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages
new file mode 100644
index 000000000..3e7265438
--- /dev/null
+++ b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages
@@ -0,0 +1,25 @@
+Package: libglib2.0-data
+Priority: optional
+Section: misc
+Installed-Size: 2288
+Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com>
+Original-Maintainer: Loic Minier <lool@dooz.org>
+Architecture: all
+Source: glib2.0
+Version: 2.13.6-1ubuntu1
+Replaces: libglib1.3, libglib1.3-data
+Depends: libglib2.0-0 (>= 2.13.6-1ubuntu1)
+Conflicts: libglib1.3-data
+Filename: ./libglib2.0-data_2.13.6-1ubuntu1_all.deb
+Size: 958
+MD5sum: 803fc5e2e31a4345b3e9c771e1eae49f
+SHA1: 75b2c62b21bae60c58e694dd40ed6d4df946e304
+SHA256: 142d8466eac252f06bc957d76fe1bb87f86f2d3512b99c8d4b08c1ad79fbe59e
+Description: Common files for GLib library
+ GLib is a library containing many useful C routines for things such
+ as trees, hashes, lists, and strings. It is a useful general-purpose
+ C library used by projects such as GTK+, GIMP, and GNOME.
+ .
+ This package is needed for the runtime libraries to display messages in
+ languages other than English.
+
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release
new file mode 100644
index 000000000..7ecd4cd19
--- /dev/null
+++ b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release
@@ -0,0 +1,13 @@
+Date: Fri, 27 Jul 2007 14:39:41 UTC
+MD5Sum:
+ 4672dadea6a144839f823c9f3d5fd44b 934 Packages
+ 82ebcf09a8d78a2b9cf7759349da4936 603 Packages.gz
+ d41d8cd98f00b204e9800998ecf8427e 0 Release
+SHA1:
+ fa0f294aa30789529371066b10e9497be1284d26 934 Packages
+ f4032808663b2810d87b4a4dab6f5ae4a1e8fa8e 603 Packages.gz
+ da39a3ee5e6b4b0d3255bfef95601890afd80709 0 Release
+SHA256:
+ 92c9b605480dc74e6be79c0ddc24738bfcbd6dd3148af531acd68717de528049 934 Packages
+ 659ccc0d07ff21f0247f9fa5abe149221c90d5e17da52c7afddb035b93c23d39 603 Packages.gz
+ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 Release
diff --git a/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg
new file mode 100644
index 000000000..85c356e6f
--- /dev/null
+++ b/test/authReliability/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.6 (GNU/Linux)
+
+iD8DBQBGqgOwliSD4VZixzQRAs6jAJ9p7Aiob9gzkUNCtoW8UPrBo0E/YwCdEaz0
+CQJszU6fRYX5jGWXSWzfc5c=
+=ugH0
+-----END PGP SIGNATURE-----
diff --git a/test/authReliability/sources.list.failure b/test/authReliability/sources.list.failure
new file mode 100644
index 000000000..110f31884
--- /dev/null
+++ b/test/authReliability/sources.list.failure
@@ -0,0 +1,2 @@
+deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-broken/ /
+
diff --git a/test/authReliability/sources.list.good b/test/authReliability/sources.list.good
new file mode 100644
index 000000000..2e9a4458a
--- /dev/null
+++ b/test/authReliability/sources.list.good
@@ -0,0 +1,2 @@
+deb http://people.ubuntu.com/~mvo/apt/auth-test-suit/gpg-package-ok/ /
+
diff --git a/test/pre-upload-check.py b/test/pre-upload-check.py
index 268b3d672..97a0ec4c4 100755
--- a/test/pre-upload-check.py
+++ b/test/pre-upload-check.py
@@ -4,6 +4,8 @@ import sys
import os
import glob
import os.path
+import shutil
+import time
from subprocess import call, PIPE
import unittest
@@ -11,7 +13,102 @@ import unittest
stdout = os.open("/dev/null",0) #sys.stdout
stderr = os.open("/dev/null",0) # sys.stderr
-apt_args = [] # ["-o","Debug::pkgAcquire::Auth=true"]
+apt_args = []
+#apt_args = ["-o","Debug::pkgAcquire::Auth=true"]
+
+class testAptAuthenticationReliability(unittest.TestCase):
+ """
+ test if the spec https://wiki.ubuntu.com/AptAuthenticationReliability
+ is properly implemented
+ """
+ #apt = "../bin/apt-get"
+ apt = "apt-get"
+
+ def setUp(self):
+ if os.path.exists("/tmp/autFailure"):
+ os.unlink("/tmp/authFailure");
+ if os.path.exists("/tmp/autFailure2"):
+ os.unlink("/tmp/authFailure2");
+ def testRepositorySigFailure(self):
+ """
+ test if a repository that used to be authenticated and fails on
+ apt-get update refuses to update and uses the old state
+ """
+ # copy valid signatures into lists (those are ok, even
+ # if the name is "-broken-" ...
+ for f in glob.glob("./authReliability/lists/*"):
+ shutil.copy(f,"/var/lib/apt/lists")
+ # ensure we do *not* get a I-M-S hit
+ os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (0,0))
+ res = call([self.apt,
+ "update",
+ "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure",
+ "-o",'APT::Update::Auth-Failure::=touch /tmp/authFailure',
+ ] + apt_args,
+ stdout=stdout, stderr=stderr)
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg"),
+ "The gpg file disappeared, this should not happen")
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages"),
+ "The Packages file disappeared, this should not happen")
+ self.assert_(os.path.exists("/tmp/authFailure"),
+ "The APT::Update::Auth-Failure script did not run (1)")
+ # the same with i-m-s hit this time
+ for f in glob.glob("./authReliability/lists/*"):
+ shutil.copy(f,"/var/lib/apt/lists")
+ os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (time.time(),time.time()))
+ res = call([self.apt,
+ "update",
+ "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure",
+ "-o",'APT::Update::Auth-Failure::=touch /tmp/authFailure2',
+ ] + apt_args,
+ stdout=stdout, stderr=stderr)
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg"),
+ "The gpg file disappeared, this should not happen")
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages"),
+ "The Packages file disappeared, this should not happen")
+ self.assert_(os.path.exists("/tmp/authFailure2"),
+ "The APT::Update::Auth-Failure script did not run (2)")
+ def testRepositorySigGood(self):
+ """
+ test that a regular repository with good data stays good
+ """
+ res = call([self.apt,
+ "update",
+ "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good"
+ ] + apt_args,
+ stdout=stdout, stderr=stderr)
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"),
+ "The gpg file disappeared after a regular download, this should not happen")
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"),
+ "The Packages file disappeared, this should not happen")
+ # test good is still good after non I-M-S hit and a previous files in lists/
+ for f in glob.glob("./authReliability/lists/*"):
+ shutil.copy(f,"/var/lib/apt/lists")
+ # ensure we do *not* get a I-M-S hit
+ os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (0,0))
+ res = call([self.apt,
+ "update",
+ "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good"
+ ] + apt_args,
+ stdout=stdout, stderr=stderr)
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"),
+ "The gpg file disappeared after a I-M-S hit, this should not happen")
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"),
+ "The Packages file disappeared, this should not happen")
+ # test good is still good after I-M-S hit
+ for f in glob.glob("./authReliability/lists/*"):
+ shutil.copy(f,"/var/lib/apt/lists")
+ # ensure we do get a I-M-S hit
+ os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (time.time(),time.time()))
+ res = call([self.apt,
+ "update",
+ "-o","Dir::Etc::sourcelist=./authReliability/sources.list.good"
+ ] + apt_args,
+ stdout=stdout, stderr=stderr)
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Release.gpg"),
+ "The gpg file disappeared, this should not happen")
+ self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-ok_Packages"),
+ "The Packages file disappeared, this should not happen")
class testAuthentication(unittest.TestCase):
@@ -149,6 +246,7 @@ if __name__ == "__main__":
if len(sys.argv) > 1 and sys.argv[1] == "-v":
stdout = sys.stdout
stderr = sys.stderr
+
+ # run only one for now
+ #unittest.main(defaultTest="testAptAuthenticationReliability")
unittest.main()
-
-