summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--apt-pkg/acquire-item.h2
-rw-r--r--apt-pkg/acquire-worker.h6
-rw-r--r--apt-pkg/cdrom.cc4
-rw-r--r--apt-pkg/contrib/configuration.cc4
-rw-r--r--apt-pkg/contrib/fileutl.h3
-rw-r--r--apt-pkg/contrib/md5.cc2
-rw-r--r--apt-pkg/contrib/strutl.cc2
-rw-r--r--apt-pkg/deb/deblistparser.cc6
-rw-r--r--apt-pkg/deb/deblistparser.h1
-rw-r--r--apt-pkg/deb/debsystem.cc4
-rw-r--r--apt-pkg/deb/dpkgpm.cc3
-rw-r--r--apt-pkg/init.cc6
-rw-r--r--apt-pkg/pkgcache.cc60
-rw-r--r--apt-pkg/pkgcachegen.cc2
-rw-r--r--apt-private/private-cmndline.cc15
-rw-r--r--apt-private/private-download.cc2
-rw-r--r--apt-private/private-install.cc6
-rw-r--r--apt-private/private-json-hooks.cc2
-rw-r--r--apt-private/private-output.h4
-rw-r--r--cmdline/apt-cache.cc2
-rw-r--r--cmdline/apt-config.cc2
-rw-r--r--cmdline/apt-get.cc1
-rw-r--r--cmdline/apt-mark.cc122
-rw-r--r--cmdline/apt.cc2
-rw-r--r--debian/NEWS10
-rwxr-xr-xdebian/apt.systemd.daily2
-rw-r--r--debian/changelog40
-rw-r--r--doc/apt-mark.8.xml8
-rw-r--r--doc/apt-verbatim.ent2
-rw-r--r--doc/apt.conf.5.xml9
-rw-r--r--doc/apt_auth.conf.5.xml9
-rw-r--r--doc/examples/configure-index6
-rw-r--r--doc/po/apt-doc.pot30
-rw-r--r--doc/po/de.po41
-rw-r--r--doc/po/es.po46
-rw-r--r--doc/po/fr.po347
-rw-r--r--doc/po/it.po46
-rw-r--r--doc/po/ja.po43
-rw-r--r--doc/po/nl.po44
-rw-r--r--doc/po/pl.po46
-rw-r--r--doc/po/pt.po46
-rw-r--r--doc/po/pt_BR.po33
-rw-r--r--methods/aptmethod.h47
-rw-r--r--methods/cdrom.cc2
-rw-r--r--methods/http.cc4
-rw-r--r--po/apt-all.pot11
-rw-r--r--po/ar.po10
-rw-r--r--po/ast.po10
-rw-r--r--po/bg.po10
-rw-r--r--po/bs.po9
-rw-r--r--po/ca.po11
-rw-r--r--po/cs.po11
-rw-r--r--po/cy.po10
-rw-r--r--po/da.po11
-rw-r--r--po/de.po11
-rw-r--r--po/dz.po10
-rw-r--r--po/el.po10
-rw-r--r--po/es.po11
-rw-r--r--po/eu.po10
-rw-r--r--po/fi.po10
-rw-r--r--po/fr.po10
-rw-r--r--po/gl.po10
-rw-r--r--po/hu.po11
-rw-r--r--po/it.po78
-rw-r--r--po/ja.po11
-rw-r--r--po/km.po10
-rw-r--r--po/ko.po10
-rw-r--r--po/ku.po9
-rw-r--r--po/lt.po10
-rw-r--r--po/mr.po10
-rw-r--r--po/nb.po22
-rw-r--r--po/ne.po10
-rw-r--r--po/nl.po11
-rw-r--r--po/nn.po10
-rw-r--r--po/pl.po10
-rw-r--r--po/pt.po10
-rw-r--r--po/pt_BR.po10
-rw-r--r--po/ro.po10
-rw-r--r--po/ru.po31
-rw-r--r--po/sk.po10
-rw-r--r--po/sl.po10
-rw-r--r--po/sv.po10
-rw-r--r--po/th.po10
-rw-r--r--po/tl.po10
-rw-r--r--po/tr.po11
-rw-r--r--po/uk.po10
-rw-r--r--po/vi.po10
-rw-r--r--po/zh_CN.po32
-rw-r--r--po/zh_TW.po10
-rw-r--r--test/integration/framework3
-rwxr-xr-xtest/integration/test-apt-config14
-rwxr-xr-xtest/integration/test-apt-get-autoremove15
-rwxr-xr-xtest/integration/test-apt-get-changelog5
-rwxr-xr-xtest/integration/test-apt-sources-deb8222
-rwxr-xr-xtest/integration/test-authentication-basic13
-rwxr-xr-xtest/integration/test-dpkg-path35
-rwxr-xr-xtest/integration/test-pdiff-usage8
-rw-r--r--test/interactive-helper/aptwebserver.cc157
-rw-r--r--vendor/tanglu/apt-vendor.ent14
-rw-r--r--vendor/tanglu/sources.list.in7
101 files changed, 1333 insertions, 637 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2a05fbc45..4adaa146b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -183,7 +183,7 @@ endif()
# Configure some variables like package, version and architecture.
set(PACKAGE ${PROJECT_NAME})
set(PACKAGE_MAIL "APT Development Team <deity@lists.debian.org>")
-set(PACKAGE_VERSION "1.8.0~alpha2")
+set(PACKAGE_VERSION "1.8.0~alpha3")
if (NOT DEFINED DPKG_DATADIR)
execute_process(COMMAND ${PERL_EXECUTABLE} -MDpkg -e "print $Dpkg::DATADIR;"
diff --git a/apt-pkg/acquire-item.h b/apt-pkg/acquire-item.h
index 3a5a518c2..4a1378922 100644
--- a/apt-pkg/acquire-item.h
+++ b/apt-pkg/acquire-item.h
@@ -571,7 +571,7 @@ class APT_HIDDEN pkgAcqMetaSig : public pkgAcqTransactionItem
virtual ~pkgAcqMetaSig();
};
/*}}}*/
-/** \brief An item repsonsible for downloading clearsigned metaindexes {{{*/
+/** \brief An item responsible for downloading clearsigned metaindexes {{{*/
class APT_HIDDEN pkgAcqMetaClearSig : public pkgAcqMetaIndex
{
void * const d;
diff --git a/apt-pkg/acquire-worker.h b/apt-pkg/acquire-worker.h
index f04db2b3c..11e54b060 100644
--- a/apt-pkg/acquire-worker.h
+++ b/apt-pkg/acquire-worker.h
@@ -3,9 +3,9 @@
/* ######################################################################
Acquire Worker - Worker process manager
-
- Each worker class is associated with exaclty one subprocess.
-
+
+ Each worker class is associated with exactly one subprocess.
+
##################################################################### */
/*}}}*/
diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc
index 2c8aee815..151608b28 100644
--- a/apt-pkg/cdrom.cc
+++ b/apt-pkg/cdrom.cc
@@ -438,7 +438,7 @@ bool pkgCdrom::WriteDatabase(Configuration &Cnf)
/* Write out all of the configuration directives by walking the
configuration tree */
- Cnf.Dump(Out, NULL, "%f \"%v\";\n", false);
+ Cnf.Dump(Out, NULL, "%F \"%v\";\n", false);
Out.close();
@@ -721,7 +721,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/
DropRepeats(List,"Packages");
DropRepeats(SourceList,"Sources");
// FIXME: We ignore stat() errors here as we usually have only one of those in use
- // This has little potencial to drop 'valid' stat() errors as we know that one of these
+ // This has little potential to drop 'valid' stat() errors as we know that one of these
// files need to exist, but it would be better if we would check it here
_error->PushToStack();
DropRepeats(SigList,"Release.gpg");
diff --git a/apt-pkg/contrib/configuration.cc b/apt-pkg/contrib/configuration.cc
index 76d1b9370..997ef7423 100644
--- a/apt-pkg/contrib/configuration.cc
+++ b/apt-pkg/contrib/configuration.cc
@@ -252,7 +252,7 @@ Configuration::Item *Configuration::Lookup(Item *Head,const char *S,
if (Len != 0)
{
for (; I != 0; Last = &I->Next, I = I->Next)
- if ((Res = stringcasecmp(I->Tag,S,S + Len)) == 0)
+ if (Len == I->Tag.length() && (Res = stringcasecmp(I->Tag,S,S + Len)) == 0)
break;
}
else
@@ -728,7 +728,7 @@ bool Configuration::ExistsAny(const char *Name) const
/* Dump the entire configuration space */
void Configuration::Dump(ostream& str)
{
- Dump(str, NULL, "%f \"%v\";\n", true);
+ Dump(str, NULL, "%F \"%v\";\n", true);
}
void Configuration::Dump(ostream& str, char const * const root,
char const * const formatstr, bool const emptyValue)
diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h
index c78f1715c..c7927951f 100644
--- a/apt-pkg/contrib/fileutl.h
+++ b/apt-pkg/contrib/fileutl.h
@@ -183,6 +183,7 @@ class FileFd
private:
FileFdPrivate * d;
+ APT_HIDDEN FileFd(const FileFd &);
APT_HIDDEN FileFd & operator=(const FileFd &);
APT_HIDDEN bool OpenInternDescriptor(unsigned int const Mode, APT::Configuration::Compressor const &compressor);
@@ -278,7 +279,7 @@ std::vector<std::string> Glob(std::string const &pattern, int flags=0);
/** \brief Popen() implementation that execv() instead of using a shell
*
* \param Args the execv style command to run
- * \param FileFd is a referenz to the FileFd to use for input or output
+ * \param FileFd is a reference to the FileFd to use for input or output
* \param Child a reference to the integer that stores the child pid
* Note that you must call ExecWait() or similar to cleanup
* \param Mode is either FileFd::ReadOnly or FileFd::WriteOnly
diff --git a/apt-pkg/contrib/md5.cc b/apt-pkg/contrib/md5.cc
index 21e3f0afd..c3b529922 100644
--- a/apt-pkg/contrib/md5.cc
+++ b/apt-pkg/contrib/md5.cc
@@ -80,7 +80,7 @@ static void byteSwap(uint32_t *buf, unsigned words)
static void MD5Transform(uint32_t buf[4], uint32_t const in[16])
{
- register uint32_t a, b, c, d;
+ uint32_t a, b, c, d;
a = buf[0];
b = buf[1];
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
index a569173af..2e3e025ec 100644
--- a/apt-pkg/contrib/strutl.cc
+++ b/apt-pkg/contrib/strutl.cc
@@ -772,7 +772,7 @@ std::string LookupTag(const std::string &Message, const char *TagC, const char *
// StringToBool - Converts a string into a boolean /*{{{*/
// ---------------------------------------------------------------------
/* This inspects the string to see if it is true or if it is false and
- then returns the result. Several varients on true/false are checked. */
+ then returns the result. Several variants on true/false are checked. */
int StringToBool(const string &Text,int Default)
{
char *ParseEnd;
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index e8dff833d..80ca10e37 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -61,6 +61,7 @@ debListParser::debListParser(FileFd *File) :
else
forceEssential.emplace_back("apt");
forceImportant = _config->FindVector("pkgCacheGen::ForceImportant");
+ myArch = _config->Find("APT::Architecture");
}
/*}}}*/
// ListParser::Package - Return the package name /*{{{*/
@@ -621,12 +622,11 @@ const char *debListParser::ParseDepends(const char *Start,const char *Stop,
// We don't want to confuse library users which can't handle MultiArch
if (StripMultiArch == true) {
- string const arch = _config->Find("APT::Architecture");
size_t const found = Package.rfind(':');
if (found != StringView::npos &&
(Package.substr(found) == ":any" ||
Package.substr(found) == ":native" ||
- Package.substr(found +1) == arch))
+ Package.substr(found +1) == Arch))
Package = Package.substr(0,found);
}
@@ -848,7 +848,7 @@ bool debListParser::ParseDepends(pkgCache::VerIterator &Ver,
StringView Version;
unsigned int Op;
- Start = ParseDepends(Start, Stop, Package, Version, Op, false, false, false);
+ Start = ParseDepends(Start, Stop, Package, Version, Op, false, false, false, myArch);
if (Start == 0)
return _error->Error("Problem parsing dependency %zu",static_cast<size_t>(Key)); // TODO
size_t const found = Package.rfind(':');
diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h
index 09b56665f..f02252d58 100644
--- a/apt-pkg/deb/deblistparser.h
+++ b/apt-pkg/deb/deblistparser.h
@@ -45,6 +45,7 @@ class APT_HIDDEN debListParser : public pkgCacheListParser
std::vector<std::string> forceEssential;
std::vector<std::string> forceImportant;
std::string MD5Buffer;
+ std::string myArch;
protected:
pkgTagFile Tags;
diff --git a/apt-pkg/deb/debsystem.cc b/apt-pkg/deb/debsystem.cc
index 0a9e98d6d..5df6c58a1 100644
--- a/apt-pkg/deb/debsystem.cc
+++ b/apt-pkg/deb/debsystem.cc
@@ -398,6 +398,10 @@ pid_t debSystem::ExecDpkg(std::vector<std::string> const &sArgs, int * const inp
{
setenv("DPKG_FRONTEND_LOCKED", "true", 1);
}
+
+ if (_config->Find("DPkg::Path", "").empty() == false)
+ setenv("PATH", _config->Find("DPkg::Path", "").c_str(), 1);
+
execvp(Args[0], (char**) &Args[0]);
_error->WarningE("dpkg", "Can't execute dpkg!");
_exit(100);
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 074e52b3f..3c707e220 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -2017,6 +2017,9 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
&& dynamic_cast<debSystem*>(_system)->IsLocked() == true) {
setenv("DPKG_FRONTEND_LOCKED", "true", 1);
}
+ if (_config->Find("DPkg::Path", "").empty() == false)
+ setenv("PATH", _config->Find("DPkg::Path", "").c_str(), 1);
+
execvp(Args[0], (char**) &Args[0]);
cerr << "Could not exec dpkg!" << endl;
_exit(100);
diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
index 9a51e31e7..a619368ec 100644
--- a/apt-pkg/init.cc
+++ b/apt-pkg/init.cc
@@ -150,6 +150,7 @@ bool pkgInitConfig(Configuration &Cnf)
Cnf.CndSet("Dir::Etc::sourceparts","sources.list.d");
Cnf.CndSet("Dir::Etc::main","apt.conf");
Cnf.CndSet("Dir::Etc::netrc", "auth.conf");
+ Cnf.CndSet("Dir::Etc::netrcparts", "auth.conf.d");
Cnf.CndSet("Dir::Etc::parts","apt.conf.d");
Cnf.CndSet("Dir::Etc::preferences","preferences");
Cnf.CndSet("Dir::Etc::preferencesparts","preferences.d");
@@ -205,11 +206,12 @@ bool pkgInitConfig(Configuration &Cnf)
Cnf.CndSet("Acquire::IndexTargets::deb-src::Sources::Optional", false);
Cnf.CndSet("Acquire::Changelogs::URI::Origin::Debian", "https://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog");
- Cnf.CndSet("Acquire::Changelogs::URI::Origin::Tanglu", "http://metadata.tanglu.org/changelogs/@CHANGEPATH@_changelog");
Cnf.CndSet("Acquire::Changelogs::URI::Origin::Ubuntu", "https://changelogs.ubuntu.com/changelogs/pool/@CHANGEPATH@/changelog");
- Cnf.CndSet("Acquire::Changelogs::URI::Origin::Ultimedia", "http://packages.ultimediaos.com/changelogs/pool/@CHANGEPATH@/changelog.txt");
Cnf.CndSet("Acquire::Changelogs::AlwaysOnline::Origin::Ubuntu", true);
+
+ Cnf.CndSet("DPkg::Path", "/usr/sbin:/usr/bin:/sbin:/bin");
+
// Read an alternate config file
_error->PushToStack();
const char *Cfg = getenv("APT_CONFIG");
diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc
index 92f0cb777..041f0b957 100644
--- a/apt-pkg/pkgcache.cc
+++ b/apt-pkg/pkgcache.cc
@@ -10,7 +10,7 @@
This is the general utility functions for cache management. They provide
a complete set of accessor functions for the cache. The cacheiterators
header contains the STL-like iterators that can be used to easially
- navigate the cache as well as seemlessly dereference the mmap'd
+ navigate the cache as well as seamlessly dereference the mmap'd
indexes. Use these always.
The main class provides for ways to get package indexes and some
@@ -231,10 +231,54 @@ map_id_t pkgCache::sHash(const char *Str) const
return Hash % HeaderP->GetHashTableSize();
}
+#if defined(__GNUC__) && defined(__x86_64__) && defined(__ELF__)
+
+#if defined(__x86_64__)
+__attribute__((target("sse4.2"))) static uint32_t hash32(uint32_t crc32, const unsigned char *input, size_t size)
+{
+ if (input == nullptr)
+ return 0;
+
+ crc32 ^= 0xffffffffU;
+ while (size >= 8) {
+ crc32 = __builtin_ia32_crc32di(crc32, *(uint64_t *)input);
+ input += 8;
+ size -= 8;
+ }
+
+ if (size >= 4) {
+ crc32 = __builtin_ia32_crc32si(crc32, *(uint32_t *)input);
+ input += 4;
+ size -= 4;
+ }
+
+ if (size >= 2) {
+ crc32 = __builtin_ia32_crc32hi(crc32, *(uint16_t *)input);
+ input += 2;
+ size -= 2;
+ }
+
+ if (size >= 1) {
+ crc32 = __builtin_ia32_crc32qi(crc32, *(uint8_t *)input);
+ input += 1;
+ size -= 1;
+ }
+ crc32 ^= 0xffffffffU;
+ return crc32;
+}
+#endif
+
+__attribute__((target("default")))
+#endif
+static uint32_t hash32(uint32_t crc32, const unsigned char *input, size_t size)
+{
+ return adler32(crc32, input, size);
+}
+
uint32_t pkgCache::CacheHash()
{
pkgCache::Header header = {};
- uLong adler = adler32(0L, Z_NULL, 0);
+ uLong adler = hash32(0L, Z_NULL, 0);
if (Map.Size() < sizeof(header))
return adler;
@@ -243,14 +287,14 @@ uint32_t pkgCache::CacheHash()
header.Dirty = false;
header.CacheFileSize = 0;
- adler = adler32(adler,
- reinterpret_cast<const unsigned char *>(&header),
- sizeof(header));
+ adler = hash32(adler,
+ reinterpret_cast<const unsigned char *>(&header),
+ sizeof(header));
if (Map.Size() > sizeof(header)) {
- adler = adler32(adler,
- static_cast<const unsigned char *>(GetMap().Data()) + sizeof(header),
- GetMap().Size() - sizeof(header));
+ adler = hash32(adler,
+ static_cast<const unsigned char *>(GetMap().Data()) + sizeof(header),
+ GetMap().Size() - sizeof(header));
}
return adler;
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc
index 8fe1867d7..5a3b65b3a 100644
--- a/apt-pkg/pkgcachegen.cc
+++ b/apt-pkg/pkgcachegen.cc
@@ -154,7 +154,7 @@ void pkgCacheGenerator::ReMap(void const * const oldMap, void const * const newM
return;
if (_config->FindB("Debug::pkgCacheGen", false))
- std::clog << "Remaping from " << oldMap << " to " << newMap << std::endl;
+ std::clog << "Remapping from " << oldMap << " to " << newMap << std::endl;
Cache.ReMap(false);
diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc
index 5ad3b65d3..87deb6bf0 100644
--- a/apt-private/private-cmndline.cc
+++ b/apt-private/private-cmndline.cc
@@ -176,7 +176,7 @@ static bool addArgumentsAPTHelper(std::vector<CommandLine::Args> &Args, char con
static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const * const Cmd)/*{{{*/
{
if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade",
- "dselect-upgrade", "autoremove", "full-upgrade"))
+ "dselect-upgrade", "autoremove", "autopurge", "full-upgrade"))
{
addArg(0, "show-progress", "DpkgPM::Progress", 0);
addArg('f', "fix-broken", "APT::Get::Fix-Broken", 0);
@@ -240,7 +240,7 @@ static bool addArgumentsAPTGet(std::vector<CommandLine::Args> &Args, char const
addArg(0, "color", "APT::Moo::Color", 0);
if (CmdMatches("install", "remove", "purge", "upgrade", "dist-upgrade",
- "dselect-upgrade", "autoremove", "auto-remove", "clean", "autoclean", "auto-clean", "check",
+ "dselect-upgrade", "autoremove", "auto-remove", "autopurge", "clean", "autoclean", "auto-clean", "check",
"build-dep", "full-upgrade", "source"))
{
addArg('s', "simulate", "APT::Get::Simulate", 0);
@@ -287,7 +287,7 @@ static bool addArgumentsAPTMark(std::vector<CommandLine::Args> &Args, char const
{
if (CmdMatches("auto", "manual", "hold", "unhold", "showauto",
"showmanual", "showhold", "showholds",
- "markauto", "unmarkauto"))
+ "markauto", "unmarkauto", "minimize-manual"))
{
addArg('f',"file","Dir::State::extended_states",CommandLine::HasArg);
}
@@ -303,7 +303,14 @@ static bool addArgumentsAPTMark(std::vector<CommandLine::Args> &Args, char const
addArg('v',"verbose","APT::MarkAuto::Verbose",0);
}
- if (Cmd != nullptr && strncmp(Cmd, "show", strlen("show")) != 0)
+ if (CmdMatches("minimize-manual"))
+ {
+ addArg('y',"yes","APT::Get::Assume-Yes",0);
+ addArg('y',"assume-yes","APT::Get::Assume-Yes",0);
+ addArg(0,"assume-no","APT::Get::Assume-No",0);
+ }
+
+ if (CmdMatches("minimize-manual") || (Cmd != nullptr && strncmp(Cmd, "show", strlen("show")) != 0))
{
addArg('s',"simulate","APT::Mark::Simulate",0);
addArg('s',"just-print","APT::Mark::Simulate",0);
diff --git a/apt-private/private-download.cc b/apt-private/private-download.cc
index 8bd7e33e0..2c12676ea 100644
--- a/apt-private/private-download.cc
+++ b/apt-private/private-download.cc
@@ -248,7 +248,7 @@ bool DoChangelog(CommandLine &CmdL)
APT::VersionList verset = APT::VersionList::FromCommandLine(Cache,
CmdL.FileList + 1, APT::CacheSetHelper::CANDIDATE, helper);
if (verset.empty() == true)
- return false;
+ return _error->Error(_("No packages found"));
bool const downOnly = _config->FindB("APT::Get::Download-Only", false);
bool const printOnly = _config->FindB("APT::Get::Print-URIs", false);
diff --git a/apt-private/private-install.cc b/apt-private/private-install.cc
index 4e888a9bd..1713ff308 100644
--- a/apt-private/private-install.cc
+++ b/apt-private/private-install.cc
@@ -599,6 +599,12 @@ bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, std::vector<PseudoPkg
_config->Set("APT::Get::AutomaticRemove", "true");
fallback = MOD_REMOVE;
}
+ else if (strcasecmp(CmdL.FileList[0], "autopurge") == 0)
+ {
+ _config->Set("APT::Get::AutomaticRemove", "true");
+ _config->Set("APT::Get::Purge", true);
+ fallback = MOD_REMOVE;
+ }
std::list<APT::VersionSet::Modifier> mods;
mods.push_back(APT::VersionSet::Modifier(MOD_INSTALL, "+",
diff --git a/apt-private/private-json-hooks.cc b/apt-private/private-json-hooks.cc
index 0e4b4913b..b5c1a7172 100644
--- a/apt-private/private-json-hooks.cc
+++ b/apt-private/private-json-hooks.cc
@@ -176,7 +176,7 @@ class APT_HIDDEN JsonWriter
};
/**
- * @brief Wrtie a VerIterator to a JsonWriter
+ * @brief Write a VerIterator to a JsonWriter
*/
static void verIterToJson(JsonWriter &writer, CacheFile &Cache, pkgCache::VerIterator const &Ver)
{
diff --git a/apt-private/private-output.h b/apt-private/private-output.h
index 1ac861328..c20cc9e17 100644
--- a/apt-private/private-output.h
+++ b/apt-private/private-output.h
@@ -101,11 +101,11 @@ bool ShowEssential(std::ostream &out,CacheFile &Cache);
void Stats(std::ostream &out, pkgDepCache &Dep);
// prompting
-bool YnPrompt(char const * const Question, bool Default=true);
+APT_PUBLIC bool YnPrompt(char const *const Question, bool Default = true);
bool YnPrompt(char const * const Question, bool const Default, bool const ShowGlobalErrors, std::ostream &c1o, std::ostream &c2o);
bool AnalPrompt(std::string const &Question, const char *Text);
-std::string PrettyFullName(pkgCache::PkgIterator const &Pkg);
+APT_PUBLIC std::string PrettyFullName(pkgCache::PkgIterator const &Pkg);
std::string CandidateVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg);
std::function<std::string(pkgCache::PkgIterator const &)> CandidateVersion(pkgCacheFile * const Cache);
std::string CurrentToCandidateVersion(pkgCacheFile * const Cache, pkgCache::PkgIterator const &Pkg);
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc
index f1b1e144d..3c0e477b1 100644
--- a/cmdline/apt-cache.cc
+++ b/cmdline/apt-cache.cc
@@ -182,7 +182,7 @@ static void ShowHashTableStats(std::string Type,
static bool Stats(CommandLine &CmdL)
{
if (CmdL.FileSize() > 1) {
- _error->Error(_("apt-cache stats does not take any arguments"));
+ _error->Error(_("%s does not take any arguments"), "apt-cache stats");
return false;
}
diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc
index 252a56833..8ad7cac68 100644
--- a/cmdline/apt-config.cc
+++ b/cmdline/apt-config.cc
@@ -67,7 +67,7 @@ static bool DoShell(CommandLine &CmdL)
static bool DoDump(CommandLine &CmdL)
{
bool const empty = _config->FindB("APT::Config::Dump::EmptyValue", true);
- std::string const format = _config->Find("APT::Config::Dump::Format", "%f \"%v\";\n");
+ std::string const format = _config->Find("APT::Config::Dump::Format", "%F \"%v\";\n");
if (CmdL.FileSize() == 1)
_config->Dump(cout, NULL, format.c_str(), empty);
else
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 39855e05a..6d25ed509 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -409,6 +409,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/
{"purge", &DoInstall, _("Remove packages and config files")},
{"autoremove", &DoInstall, _("Remove automatically all unused packages")},
{"auto-remove", &DoInstall, nullptr},
+ {"autopurge",&DoInstall, nullptr},
{"markauto", &DoMarkAuto, nullptr},
{"unmarkauto", &DoMarkAuto, nullptr},
{"dist-upgrade", &DoDistUpgrade, _("Distribution upgrade, see apt-get(8)")},
diff --git a/cmdline/apt-mark.cc b/cmdline/apt-mark.cc
index 927b31d2f..161845b53 100644
--- a/cmdline/apt-mark.cc
+++ b/cmdline/apt-mark.cc
@@ -125,6 +125,127 @@ static bool DoMarkAuto(CommandLine &CmdL)
return true;
}
/*}}}*/
+// helper for Install-Recommends-Sections and Never-MarkAuto-Sections /*{{{*/
+static bool
+ConfigValueInSubTree(const char *SubTree, const char *needle)
+{
+ // copied from depcache.cc
+ Configuration::Item const *Opts;
+ Opts = _config->Tree(SubTree);
+ if (Opts != 0 && Opts->Child != 0)
+ {
+ Opts = Opts->Child;
+ for (; Opts != 0; Opts = Opts->Next)
+ {
+ if (Opts->Value.empty() == true)
+ continue;
+ if (strcmp(needle, Opts->Value.c_str()) == 0)
+ return true;
+ }
+ }
+ return false;
+}
+ /*}}}*/
+/* DoMinimize - minimize manually installed {{{*/
+/* Traverses dependencies of meta packages and marks them as manually
+ * installed. */
+static bool DoMinimize(CommandLine &CmdL)
+{
+
+ pkgCacheFile CacheFile;
+ pkgDepCache *const DepCache = CacheFile.GetDepCache();
+ if (unlikely(DepCache == nullptr))
+ return false;
+
+ if (CmdL.FileList[1] != nullptr)
+ return _error->Error(_("%s does not take any arguments"), "apt-mark minimize-manual");
+
+ auto Debug = _config->FindB("Debug::AptMark::Minimize", false);
+ auto is_root = [&DepCache](pkgCache::PkgIterator const &pkg) {
+ auto ver = pkg.CurrentVer();
+ return ver.end() == false && ((*DepCache)[pkg].Flags & pkgCache::Flag::Auto) == 0 &&
+ ver->Section != 0 &&
+ ConfigValueInSubTree("APT::Never-MarkAuto-Sections", ver.Section());
+ };
+
+ APT::PackageSet roots;
+ for (auto Pkg = DepCache->PkgBegin(); Pkg.end() == false; ++Pkg)
+ {
+ if (is_root(Pkg))
+ {
+ if (Debug)
+ std::clog << "Found root " << Pkg.Name() << std::endl;
+ roots.insert(Pkg);
+ }
+ }
+
+ APT::PackageSet workset(roots);
+ APT::PackageSet seen;
+ APT::PackageSet changed;
+
+ pkgDepCache::ActionGroup group(*DepCache);
+
+ while (workset.empty() == false)
+ {
+ if (Debug)
+ std::clog << "Iteration\n";
+
+ APT::PackageSet workset2;
+ for (auto &Pkg : workset)
+ {
+ if (seen.find(Pkg) != seen.end())
+ continue;
+
+ seen.insert(Pkg);
+
+ if (Debug)
+ std::cerr << " Visiting " << Pkg.FullName(true) << "\n";
+ if (roots.find(Pkg) == roots.end() && ((*DepCache)[Pkg].Flags & pkgCache::Flag::Auto) == 0)
+ {
+ DepCache->MarkAuto(Pkg, true);
+ changed.insert(Pkg);
+ }
+
+ // Visit dependencies, add them to next working set
+ for (auto Dep = Pkg.CurrentVer().DependsList(); !Dep.end(); ++Dep)
+ {
+ if (DepCache->IsImportantDep(Dep) == false)
+ continue;
+ std::unique_ptr<pkgCache::Version *[]> targets(Dep.AllTargets());
+ for (int i = 0; targets[i] != nullptr; i++)
+ {
+ pkgCache::VerIterator Tgt(*DepCache, targets[i]);
+ if (Tgt.ParentPkg()->CurrentVer != 0 && Tgt.ParentPkg().CurrentVer()->ID == Tgt->ID)
+ workset2.insert(Tgt.ParentPkg());
+ }
+ }
+ }
+
+ workset = std::move(workset2);
+ }
+
+ if (changed.empty()) {
+ cout << _("No changes necessary") << endl;
+ return true;
+ }
+
+ ShowList(c1out, _("The following packages will be marked as automatically installed:"), changed,
+ [](const pkgCache::PkgIterator &) { return true; },
+ &PrettyFullName,
+ &PrettyFullName);
+
+ if (_config->FindB("APT::Mark::Simulate", false) == false)
+ {
+ if (YnPrompt(_("Do you want to continue?"), false) == false)
+ return true;
+
+ return DepCache->writeStateFile(NULL);
+ }
+
+ return true;
+}
+ /*}}}*/
+
/* ShowAuto - show automatically installed packages (sorted) {{{*/
static bool ShowAuto(CommandLine &CmdL)
{
@@ -293,6 +414,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/
return {
{"auto",&DoAuto, _("Mark the given packages as automatically installed")},
{"manual",&DoAuto, _("Mark the given packages as manually installed")},
+ {"minimize-manual", &DoMinimize, _("Mark all dependencies of meta packages as automatically installed.")},
{"hold",&DoSelection, _("Mark a package as held back")},
{"unhold",&DoSelection, _("Unset a package set as held back")},
{"install",&DoSelection, nullptr},
diff --git a/cmdline/apt.cc b/cmdline/apt.cc
index 6bf85467e..f508406d1 100644
--- a/cmdline/apt.cc
+++ b/cmdline/apt.cc
@@ -66,6 +66,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/
{"remove", &DoInstall, _("remove packages")},
{"autoremove", &DoInstall, _("Remove automatically all unused packages")},
{"auto-remove", &DoInstall, nullptr},
+ {"autopurge",&DoInstall, nullptr},
{"purge", &DoInstall, nullptr},
// system wide stuff
@@ -90,6 +91,7 @@ static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/
{"source", &DoSource, nullptr},
{"download", &DoDownload, nullptr},
{"changelog", &DoChangelog, nullptr},
+ {"info", &ShowPackage, nullptr},
{nullptr, nullptr, nullptr}
};
diff --git a/debian/NEWS b/debian/NEWS
index 95c2d27fd..e68470198 100644
--- a/debian/NEWS
+++ b/debian/NEWS
@@ -1,3 +1,13 @@
+apt (1.8.0~alpha3) unstable; urgency=medium
+
+ The PATH for running dpkg is now configured by the option DPkg::Path,
+ and defaults to "/usr/sbin:/usr/bin:/sbin/:bin". Previous behavior of
+ not changing PATH may be restored by setting the option to an empty string.
+
+ Support for /etc/apt/auth.conf.d/ has been added, see apt_auth.conf(5).
+
+ -- Julian Andres Klode <jak@debian.org> Tue, 18 Dec 2018 15:02:11 +0100
+
apt (1.6~rc1) unstable; urgency=medium
Seccomp sandboxing has been turned off by default for now. If it works
diff --git a/debian/apt.systemd.daily b/debian/apt.systemd.daily
index b532bd151..c6fbca03f 100755
--- a/debian/apt.systemd.daily
+++ b/debian/apt.systemd.daily
@@ -470,7 +470,7 @@ if [ "$1" = "update" ] || [ -z "$1" ] ; then
debug_echo "download upgradable (not run)"
fi
- if which unattended-upgrade >/dev/null 2>&1 && unattended-upgrade --help | grep -q download-only && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $UnattendedUpgradeInterval; then
+ if which unattended-upgrade >/dev/null 2>&1 && env LC_ALL=C.UTF-8 unattended-upgrade --help | grep -q download-only && check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $UnattendedUpgradeInterval; then
if unattended-upgrade --download-only $XUUPOPT; then
update_stamp $DOWNLOAD_UPGRADEABLE_STAMP
debug_echo "unattended-upgrade -d (success)"
diff --git a/debian/changelog b/debian/changelog
index 6bce99e1d..eaacec077 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,35 @@
+apt (1.8.0~alpha3) unstable; urgency=medium
+
+ [ Manuel A. Fernandez Montecelo ]
+ * Remove "Ultimedia" config for Acquire::Changelogs
+ * Remove "Tanglu" config for Acquire::Changelogs and as vendor
+
+ [ Julian Andres Klode ]
+ * Adjust libapt-pkg Breaks aptitude to << 0.8.9
+ * Print useful error on "apt changelog" without arguments
+ * test-pdiff-usage: make transaction failure test case more robust
+ * Provide a "autopurge" shortcut.
+ Thanks to Michael Vogt for the initial work
+ * Override FileFd copy constructor to prevent copying
+ * Add support for /etc/apt/auth.conf.d/*.conf (netrcparts)
+ * Set PATH=/usr/sbin:/usr/bin:/sbin:/bin when running dpkg
+
+ [ David Kalnischkies ]
+ * Allow setting Referer header for http method
+ * Use quoted tagnames in config dumps
+
+ [ Алексей Шилин ]
+ * Russian program translation update (Closes: #914096)
+
+ [ Balint Reczey ]
+ * Set LC_ALL=C.UTF-8 for unattended-upgrades environment when parsing its --help
+ (LP: #1806076)
+
+ [ Milo Casagrande ]
+ * [l10n] Update Italian translation
+
+ -- Julian Andres Klode <jak@debian.org> Tue, 18 Dec 2018 15:02:11 +0100
+
apt (1.8.0~alpha2) unstable; urgency=medium
* Revert "http: Fix handling of server connection closure"
@@ -2744,7 +2776,7 @@ apt (1.0.9) unstable; urgency=high
* SECURITY UPDATE:
- incorrect invalidating of unauthenticated data (CVE-2014-0488)
- - incorect verification of 304 reply (CVE-2014-0487)
+ - incorrect verification of 304 reply (CVE-2014-0487)
- incorrect verification of Acquire::Gzip indexes (CVE-2014-0489)
-- Michael Vogt <mvo@debian.org> Mon, 15 Sep 2014 08:34:46 +0200
@@ -3651,7 +3683,7 @@ apt (0.9.9.4) unstable; urgency=low
[ David Kalnischkies ]
* pick up Translation-* even if only compressed available (Closes: 717665)
- * request absolute URIs from proxies again (0.9.9.3 regession)
+ * request absolute URIs from proxies again (0.9.9.3 regression)
(Closes: 717891)
[ Michael vogt ]
@@ -8066,7 +8098,7 @@ apt (0.7.12) unstable; urgency=low
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
+ - merged patch from Kees Cook to fix annoying upper-case display
on amd64 in sbuild
* apt-pkg/algorithms.cc:
- add APT::Update::Post-Invoke-Success script slot
@@ -9166,7 +9198,7 @@ apt (0.6.33) hoary; urgency=low
- patch-1: cosmetic changes (whitespace, "Apt::GPGV->APT::GPGV")
- patch-2: (doc) documentation for gpgv
- patch-3: (doc) new config variables added configure-index
- - patch-4: pkgAcquire::Run() pulse intervall can be configured
+ - patch-4: pkgAcquire::Run() pulse interval can be configured
- patch-5: fix for apt-get update removing Release.gpg files (#6865)
- patch-6: change the path scoring in apt-cdrom, prefer paths without
symlinks
diff --git a/doc/apt-mark.8.xml b/doc/apt-mark.8.xml
index ddde0416f..ea39b7faa 100644
--- a/doc/apt-mark.8.xml
+++ b/doc/apt-mark.8.xml
@@ -66,6 +66,14 @@
</para></listitem>
</varlistentry>
+ <varlistentry><term><option>minimize-manual</option></term>
+ <listitem><para><literal>minimize-manual</literal> is used to mark
+ (transitive) dependencies of metapackages as automatically installed.
+ This can be used after an installation for example, to minimize the
+ number of manually installed packages; or continuously on systems
+ managed by system configuration metapackages.
+ </para></listitem>
+ </varlistentry>
<varlistentry><term><option>showauto</option></term>
<listitem><para><literal>showauto</literal> is used to print a
list of automatically installed packages with each package on a new line.
diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent
index 7f802dea9..9700e1cf8 100644
--- a/doc/apt-verbatim.ent
+++ b/doc/apt-verbatim.ent
@@ -268,7 +268,7 @@
">
<!-- this will be updated by 'prepare-release' -->
-<!ENTITY apt-product-version "1.8.0~alpha2">
+<!ENTITY apt-product-version "1.8.0~alpha3">
<!-- (Code)names for various things used all over the place -->
<!ENTITY debian-oldstable-codename "jessie">
diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml
index 64a26bc4a..5ce693c2c 100644
--- a/doc/apt.conf.5.xml
+++ b/doc/apt.conf.5.xml
@@ -19,7 +19,7 @@
&apt-email;
&apt-product;
<!-- The last update date -->
- <date>2018-09-27T00:00:00Z</date>
+ <date>2018-12-10T00:00:00Z</date>
</refentryinfo>
<refmeta>
@@ -776,6 +776,13 @@ APT::Compressor::rev {
using the list notation and each list item is passed as a single argument
to &dpkg;.</para></listitem>
</varlistentry>
+
+ <varlistentry><term><option>Path</option></term>
+ <listitem><para>This is a string that defines the <envar>PATH</envar>
+ environment variable used when running dpkg. It may be set to any
+ valid value of that environment variable; or the empty string, in
+ which case the variable is not changed.</para></listitem>
+ </varlistentry>
<varlistentry><term><option>Pre-Invoke</option></term><term><option>Post-Invoke</option></term>
<listitem><para>This is a list of shell commands to run before/after invoking &dpkg;.
diff --git a/doc/apt_auth.conf.5.xml b/doc/apt_auth.conf.5.xml
index 37e4fbc98..e7961ef81 100644
--- a/doc/apt_auth.conf.5.xml
+++ b/doc/apt_auth.conf.5.xml
@@ -13,7 +13,7 @@
&apt-email;
&apt-product;
<!-- The last update date -->
- <date>2017-07-07T00:00:00Z</date>
+ <date>2018-12-03T00:00:00Z</date>
</refentryinfo>
<refmeta>
@@ -36,7 +36,8 @@ needed to connect to a proxy or to download data from a repository on the other
hand shouldn't always be accessible by everyone and can hence not be placed in a
file with world-readable file permissions.</para>
-<para>The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used to store
+<para>The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf files inside
+<filename>/etc/apt/auth.conf.d</filename> can be used to store
login information in a netrc-like format with restrictive file permissions.</para>
</refsect1>
@@ -119,6 +120,10 @@ you need multiple they should all have a path specified in the
<listitem><para>Login information for APT sources and proxies in a netrc-like format.
Configuration Item: <literal>Dir::Etc::netrc</literal>.</para></listitem>
</varlistentry>
+ <varlistentry><term><filename>/etc/apt/auth.conf.d/*.conf</filename></term>
+ <listitem><para>Login information for APT sources and proxies in a netrc-like format.
+ Configuration Item: <literal>Dir::Etc::netrcparts</literal>.</para></listitem>
+ </varlistentry>
</variablelist>
</refsect1>
diff --git a/doc/examples/configure-index b/doc/examples/configure-index
index 65590f17b..743e676de 100644
--- a/doc/examples/configure-index
+++ b/doc/examples/configure-index
@@ -270,6 +270,7 @@ Acquire
No-Store "false"; // Prevent the cache from storing archives
Dl-Limit "<INT>"; // Kb/sec maximum download rate
User-Agent "Debian APT-HTTP/1.3";
+ Referer "<STRING>"; // Set the HTTP Referer [sic!] header to given value
};
// HTTPS method configuration: uses the http
@@ -398,6 +399,7 @@ Dir "<DIR>"
Etc "<DIR>" {
Main "<FILE>";
Netrc "<FILE>";
+ NetrcParts "<DIR>";
Parts "<DIR>";
Preferences "<FILE>";
PreferencesParts "<DIR>";
@@ -460,6 +462,10 @@ DPkg
// Probably don't want to use force-downgrade..
Options {"--force-overwrite";"--force-downgrade";}
+ // Defaults to /usr/sbin:/usr/bin:/sbin:/bin, might be set to empty
+ // string to inherit from environment
+ Path "<STRING>";
+
// Auto re-mounting of a readonly /usr
Pre-Invoke {"mount -o remount,rw /usr";};
Post-Invoke {"mount -o remount,ro /usr";};
diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot
index c794ed03f..0e2d62d01 100644
--- a/doc/po/apt-doc.pot
+++ b/doc/po/apt-doc.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: apt-doc 1.8.0~alpha2\n"
+"Project-Id-Version: apt-doc 1.8.0~alpha3\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-11-13 10:31+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -3830,6 +3830,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml
msgid ""
+"This is a string that defines the <envar>PATH</envar> environment variable "
+"used when running dpkg. It may be set to any valid value of that environment "
+"variable; or the empty string, in which case the variable is not changed."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml
+msgid ""
"This is a list of shell commands to run before/after invoking &dpkg;. Like "
"<literal>options</literal> this must be specified in list notation. The "
"commands are invoked in order using <filename>/bin/sh</filename>; should any "
@@ -6889,9 +6897,9 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
msgid ""
-"The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used "
-"to store login information in a netrc-like format with restrictive file "
-"permissions."
+"The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf "
+"files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store "
+"login information in a netrc-like format with restrictive file permissions."
msgstr ""
#. type: Content of: <refentry><refsect1><title>
@@ -7047,6 +7055,18 @@ msgid ""
"Configuration Item: <literal>Dir::Etc::netrc</literal>."
msgstr ""
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: apt_auth.conf.5.xml
+msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>"
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt_auth.conf.5.xml
+msgid ""
+"Login information for APT sources and proxies in a netrc-like format. "
+"Configuration Item: <literal>Dir::Etc::netrcparts</literal>."
+msgstr ""
+
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
msgid "&apt-conf; &sources-list;"
diff --git a/doc/po/de.po b/doc/po/de.po
index 0eda97c6d..73ebf1b9f 100644
--- a/doc/po/de.po
+++ b/doc/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.6\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-10-30 22:10+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2018-10-21 12:58+0200\n"
"Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@@ -5522,6 +5522,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml
msgid ""
+"This is a string that defines the <envar>PATH</envar> environment variable "
+"used when running dpkg. It may be set to any valid value of that environment "
+"variable; or the empty string, in which case the variable is not changed."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml
+msgid ""
"This is a list of shell commands to run before/after invoking &dpkg;. Like "
"<literal>options</literal> this must be specified in list notation. The "
"commands are invoked in order using <filename>/bin/sh</filename>; should any "
@@ -9867,10 +9875,15 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be "
+#| "used to store login information in a netrc-like format with restrictive "
+#| "file permissions."
msgid ""
-"The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used "
-"to store login information in a netrc-like format with restrictive file "
-"permissions."
+"The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf "
+"files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store "
+"login information in a netrc-like format with restrictive file permissions."
msgstr ""
"Die APT-Auth.conf-Datei <filename>/etc/apt/auth.conf</filename> kann benutzt "
"werden, um Anmeldeinformationen in einem Netrc-ähnlichen Format mit "
@@ -10082,6 +10095,26 @@ msgstr ""
"Anmeldeinformationen für APT-Quellen und -Proxys in einem Netrc-ähnlichen "
"Format. Konfigurationselement: <literal>Dir::Etc::netrc</literal>."
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid "<filename>/etc/apt/auth.conf</filename>"
+msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>"
+msgstr "<filename>/etc/apt/auth.conf</filename>"
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "Login information for APT sources and proxies in a netrc-like format. "
+#| "Configuration Item: <literal>Dir::Etc::netrc</literal>."
+msgid ""
+"Login information for APT sources and proxies in a netrc-like format. "
+"Configuration Item: <literal>Dir::Etc::netrcparts</literal>."
+msgstr ""
+"Anmeldeinformationen für APT-Quellen und -Proxys in einem Netrc-ähnlichen "
+"Format. Konfigurationselement: <literal>Dir::Etc::netrc</literal>."
+
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
msgid "&apt-conf; &sources-list;"
diff --git a/doc/po/es.po b/doc/po/es.po
index e8fd5f60f..1d42cd2af 100644
--- a/doc/po/es.po
+++ b/doc/po/es.po
@@ -38,7 +38,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-11-12 11:52+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2014-07-04 01:31+0200\n"
"Last-Translator: Omar Campagne <ocampagne@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -5500,6 +5500,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml
msgid ""
+"This is a string that defines the <envar>PATH</envar> environment variable "
+"used when running dpkg. It may be set to any valid value of that environment "
+"variable; or the empty string, in which case the variable is not changed."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml
+msgid ""
"This is a list of shell commands to run before/after invoking &dpkg;. Like "
"<literal>options</literal> this must be specified in list notation. The "
"commands are invoked in order using <filename>/bin/sh</filename>; should any "
@@ -9652,11 +9660,21 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "The APT preferences file <filename>/etc/apt/preferences</filename> and "
+#| "the fragment files in the <filename>/etc/apt/preferences.d/</filename> "
+#| "folder can be used to control which versions of packages will be selected "
+#| "for installation."
msgid ""
-"The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used "
-"to store login information in a netrc-like format with restrictive file "
-"permissions."
+"The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf "
+"files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store "
+"login information in a netrc-like format with restrictive file permissions."
msgstr ""
+"El fichero de preferencias de APT <filename>/etc/apt/preferences</filename> "
+"y los segmentos de fichero dentro del directorio <filename>/etc/apt/"
+"preferences.d/</filename> se pueden usar para controlar las versiones de los "
+"paquetes seleccionados para su instalación."
#. type: Content of: <refentry><refsect1><title>
#: apt_auth.conf.5.xml
@@ -9827,6 +9845,26 @@ msgstr ""
"Muestra las versiones completas para los paquetes actualizados e instalados. "
"Opción de configuración: <literal>APT::Get::Show-Versions</literal>."
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid "<filename>/etc/apt/trustdb.gpg</filename>"
+msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>"
+msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "Show full versions for upgraded and installed packages. Configuration "
+#| "Item: <literal>APT::Get::Show-Versions</literal>."
+msgid ""
+"Login information for APT sources and proxies in a netrc-like format. "
+"Configuration Item: <literal>Dir::Etc::netrcparts</literal>."
+msgstr ""
+"Muestra las versiones completas para los paquetes actualizados e instalados. "
+"Opción de configuración: <literal>APT::Get::Show-Versions</literal>."
+
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
#, fuzzy
diff --git a/doc/po/fr.po b/doc/po/fr.po
index b71a6692d..416d0eebd 100644
--- a/doc/po/fr.po
+++ b/doc/po/fr.po
@@ -10,17 +10,17 @@
# Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>, 2014, 2017, 2018.
msgid ""
msgstr ""
-"Project-Id-Version: apt-doc 1.0.6\n"
+"Project-Id-Version: apt-doc 1.8.0\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
"POT-Creation-Date: 2018-11-12 11:52+0100\n"
-"PO-Revision-Date: 2018-03-16 00:54+0100\n"
+"PO-Revision-Date: 2018-11-26 17:47+0100\n"
"Last-Translator: Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 2.0\n"
+"X-Generator: Poedit 1.8.11\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. type: Plain text
@@ -166,10 +166,11 @@ msgstr ""
" <varlistentry>\n"
" <term><option>-c</option></term>\n"
" <term><option>--config-file</option></term>\n"
-" <listitem><para>Fichier de configuration ; indique le fichier de configuration à utiliser. \n"
+" <listitem><para>Fichier de configuration ; indique le fichier de configuration à utiliser. \n"
" Le programme lira le fichier de configuration par défaut puis le fichier indiqué ici. \n"
" Si les réglages de configuration doivent être établis avant l'analyse des fichiers\n"
-" de configuration par défaut, un fichier peut être indiqué avec la variable d'environnement <envar>APT_CONFIG</envar>. Veuillez consulter &apt-conf; pour des informations sur la syntaxe d'utilisation. \n"
+" de configuration par défaut, un fichier peut être indiqué avec la variable d'environnement <envar>APT_CONFIG</envar>."
+" Veuillez consulter &apt-conf; pour des informations sur la syntaxe d'utilisation.\n"
" </para>\n"
" </listitem>\n"
" </varlistentry>\n"
@@ -193,7 +194,7 @@ msgstr ""
" <varlistentry>\n"
" <term><option>-o</option></term>\n"
" <term><option>--option</option></term>\n"
-" <listitem><para>Définir une option de configuration ; permet de régler\n"
+" <listitem><para>Définir une option de configuration ; permet de régler\n"
" une option de configuration donnée. La syntaxe est <option>-o Foo::Bar=bar</option>.\n"
" <option>-o</option> et <option>--option</option> peuvent être utilisées plusieurs fois\n"
" pour définir des options différentes.\n"
@@ -241,7 +242,7 @@ msgstr ""
"<!ENTITY file-aptconf \"\n"
" <varlistentry><term><filename>/etc/apt/apt.conf</filename></term>\n"
" <listitem><para>Fichier de configuration d'APT.\n"
-" Élément de configuration : <literal>Dir::Etc::Main</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::Etc::Main</literal>.</para></listitem>\n"
" </varlistentry>\n"
#. type: Plain text
@@ -273,7 +274,7 @@ msgstr ""
"<!ENTITY file-cachearchives \"\n"
" <varlistentry><term><filename>&cachedir;/archives/</filename></term>\n"
" <listitem><para>Zone de stockage des fichiers récupérés.\n"
-" Élément de configuration : <literal>Dir::Cache::Archives</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::Cache::Archives</literal>.</para></listitem>\n"
" </varlistentry>\n"
#. type: Plain text
@@ -288,7 +289,7 @@ msgid ""
msgstr ""
" <varlistentry><term><filename>&cachedir;/archives/partial/</filename></term>\n"
" <listitem><para>Zone de stockage pour les paquets en transit.\n"
-" Élément de configuration : <literal>Dir::Cache::Archives</literal> (<filename>partial</filename> sera implicitement ajouté). </para></listitem>\n"
+" Élément de configuration : <literal>Dir::Cache::Archives</literal> (<filename>partial</filename> sera implicitement ajouté). </para></listitem>\n"
" </varlistentry>\n"
"\">\n"
@@ -310,7 +311,7 @@ msgstr ""
" <varlistentry><term><filename>/etc/apt/preferences</filename></term>\n"
" <listitem><para>Fichier des préférences.\n"
" C'est dans ce fichier qu'on peut faire de l'épinglage (pinning) c'est-à-dire, choisir d'obtenir des paquets d'une source distincte ou d'une distribution différente.\n"
-" Élément de configuration : <literal>Dir::Etc::Preferences</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::Etc::Preferences</literal>.</para></listitem>\n"
" </varlistentry>\n"
#. type: Plain text
@@ -325,7 +326,7 @@ msgid ""
msgstr ""
" <varlistentry><term><filename>/etc/apt/preferences.d/</filename></term>\n"
" <listitem><para>Fragments de fichiers pour la préférence des versions.\n"
-" Élément de configuration : <literal>Dir::Etc::PreferencesParts</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::Etc::PreferencesParts</literal>.</para></listitem>\n"
" </varlistentry>\n"
"\">\n"
@@ -342,7 +343,7 @@ msgstr ""
"<!ENTITY file-sourceslist \"\n"
" <varlistentry><term><filename>/etc/apt/sources.list</filename></term>\n"
" <listitem><para>Emplacement pour la récupération des paquets.\n"
-" Élément de configuration : <literal>Dir::Etc::SourceList</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::Etc::SourceList</literal>.</para></listitem>\n"
" </varlistentry>\n"
#. type: Plain text
@@ -357,7 +358,7 @@ msgid ""
msgstr ""
" <varlistentry><term><filename>/etc/apt/sources.list.d/</filename></term>\n"
" <listitem><para>Fragments de fichiers définissant les emplacements de récupération de paquets.\n"
-" Élément de configuration : <literal>Dir::Etc::SourceParts</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::Etc::SourceParts</literal>.</para></listitem>\n"
" </varlistentry>\n"
"\">\n"
@@ -375,7 +376,7 @@ msgstr ""
"<!ENTITY file-statelists \"\n"
" <varlistentry><term><filename>&statedir;/lists/</filename></term>\n"
" <listitem><para>Zone de stockage pour les informations qui concernent chaque ressource de paquet spécifiée dans &sources-list;\n"
-" Élément de configuration : <literal>Dir::State::Lists</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::State::Lists</literal>.</para></listitem>\n"
" </varlistentry>\n"
#. type: Plain text
@@ -390,7 +391,7 @@ msgid ""
msgstr ""
" <varlistentry><term><filename>&statedir;/lists/partial/</filename></term>\n"
" <listitem><para>Zone de stockage pour les informations en transit.\n"
-" Élément de configuration : <literal>Dir::State::Lists</literal> (<filename>partial</filename> sera implicitement ajouté).</para></listitem>\n"
+" Élément de configuration : <literal>Dir::State::Lists</literal> (<filename>partial</filename> sera implicitement ajouté).</para></listitem>\n"
" </varlistentry>\n"
"\">\n"
@@ -407,7 +408,7 @@ msgstr ""
"<!ENTITY file-trustedgpg \"\n"
" <varlistentry><term><filename>/etc/apt/trusted.gpg</filename></term>\n"
" <listitem><para>Porte-clés des clés de confiance locales. Les nouvelles clés y seront ajoutées.\n"
-" Élément de configuration: <literal>Dir::Etc::Trusted</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::Etc::Trusted</literal>.</para></listitem>\n"
" </varlistentry>\n"
#. type: Plain text
@@ -424,7 +425,7 @@ msgstr ""
" <varlistentry><term><filename>/etc/apt/trusted.gpg.d/</filename></term>\n"
" <listitem><para>Fragments de fichiers pour les clés de signatures sûres. Des fichiers\n"
" supplémentaires peuvent être placés à cet endroit (par des paquets ou par l'administrateur).\n"
-" Élément de configuration : <literal>Dir::Etc::TrustedParts</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::Etc::TrustedParts</literal>.</para></listitem>\n"
" </varlistentry>\n"
"\">\n"
@@ -443,7 +444,7 @@ msgstr ""
"<!ENTITY file-extended_states \"\n"
" <varlistentry><term><filename>/var/lib/apt/extended_states</filename></term>\n"
" <listitem><para>Liste d'état des paquets installés automatiquement.\n"
-" Élément de configuration : <literal>Dir::State::extended_states</literal>.</para></listitem>\n"
+" Élément de configuration : <literal>Dir::State::extended_states</literal>.</para></listitem>\n"
" </varlistentry>\n"
"\">\n"
@@ -942,7 +943,7 @@ msgid ""
"error."
msgstr ""
"<command>apt</command> renvoie zéro après une opération normale, et le "
-"décimal 100 en cas d'erreur."
+"décimal 100 en cas d'erreur."
#. type: Content of: <refentry><refnamediv><refpurpose>
#: apt-get.8.xml
@@ -1060,7 +1061,7 @@ msgid ""
msgstr ""
"<literal>dselect-upgrade</literal> est utilisée conjointement avec "
"&dselect;, la plus ancienne interface du projet Debian pour la gestion des "
-"paquets. La commande <literal>dselect-upgrade</literal> suit les "
+"paquets. La commande <literal>dselect-upgrade</literal> suit les "
"modifications faites par &dselect; dans le champ <literal>Status</literal> "
"des paquets disponibles, et effectue les actions nécessaires à la "
"réalisation de cet état (par exemple, suppression d'anciens paquets, "
@@ -1091,7 +1092,7 @@ msgstr ""
"<filename>/etc/apt/sources.list</filename> est utilisé pour retrouver les "
"paquets désirés. Quand un trait d'union est accolé (sans espace "
"intermédiaire) au nom d'un paquet déjà installé, ce paquet est supprimé. De "
-"même on peut ajouter un signe « + » pour désigner un paquet à installer. "
+"même on peut ajouter un signe « + » pour désigner un paquet à installer. "
"Cette dernière fonctionnalité peut être utilisée pour annuler les décisions "
"prises par le système de résolution des conflits d'apt-get."
@@ -1224,6 +1225,9 @@ msgid ""
"The arguments are interpreted as binary and source package names. See the "
"<option>--only-source</option> option if you want to change that."
msgstr ""
+"Les arguments sont interprétés comme des noms de paquet binaire ou de paquet "
+"source. Voir l'option <option>--only-source</option> si vous souhaitez "
+"modifier cela."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml
@@ -1304,6 +1308,9 @@ msgid ""
"The arguments are interpreted as binary or source package names. See the "
"<option>--only-source</option> option if you want to change that."
msgstr ""
+"Les arguments sont interprétés comme des noms de paquet binaire ou de paquet "
+"source. Voir l'option <option>--only-source</option> si vous souhaitez "
+"modifier cela."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml
@@ -1466,7 +1473,7 @@ msgid ""
msgstr ""
"Correction ; cette option demande de réparer un système où existent des "
"dépendances défectueuses. Utilisée avec install ou remove, elle peut exclure "
-"un paquet pour permettre de déduire une solution viable. Tout paquet "
+"un paquet pour permettre de déduire une solution viable. Tout paquet "
"spécifié doit complètement corriger le problème. Cette option est "
"quelquefois nécessaire lorsque l'on exécute APT pour la première fois ; APT "
"interdit les dépendances défectueuses dans un système. Il est possible que "
@@ -1523,9 +1530,9 @@ msgstr ""
"Mode silencieux ; cette commande produit une sortie destinée à "
"l'enregistrement dans un fichier-journal en omettant les indicateurs de "
"progression. Un plus grand nombre de « q » (2 au plus) produit un plus grand "
-"silence. On peut aussi utiliser <option>-q=#</option> pour positionner le "
+"silence. On peut aussi utiliser <option>-q=#</option> pour positionner le "
"niveau de silence, et annuler le fichier de configuration. Notez qu'un "
-"niveau de silence égal à 2 implique <option>-y</option> et vous ne devez "
+"niveau de silence égal à 2 implique <option>-y</option> et vous ne devez "
"jamais utiliser <option>-qq</option> sans l'accompagner d'un modificateur "
"tel que <option>-d</option>, <option>--print-uris</option> ou <option>-s</"
"option> : APT pourrait alors exécuter des actions inattendues. Élément de "
@@ -1552,7 +1559,7 @@ msgstr ""
"utilisateurs ordinaires qui pourraient ne pas avoir accès en lecture à toute "
"la configuration d'apt, ce qui fausse la simulation. Une annonce exprimant "
"cet avertissement est aussi affichée par défaut pour les utilisateurs "
-"ordinaires (<option>APT::Get::Show-User-Simulation-Note</option>). Élément "
+"ordinaires (<option>APT::Get::Show-User-Simulation-Note</option>). Élément "
"de configuration : <literal>APT::Get::Simulate</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -1580,10 +1587,10 @@ msgid ""
"Configuration Item: <literal>APT::Get::Assume-Yes</literal>."
msgstr ""
"Répondre automatiquement oui aux questions ; présume « oui » comme réponse à "
-"toutes les questions et s'exécute de manière non interactive. Dans le cas "
+"toutes les questions et s'exécute de manière non interactive. Dans le cas "
"d'une situation indésirable, comme le changement d'un paquet gelé, "
"l'installation d'un paquet non authentifié ou la suppression d'un paquet "
-"essentiel, <literal>apt-get</literal> s'interrompt. Élément de "
+"essentiel, <literal>apt-get</literal> s'interrompt. Élément de "
"configuration : <literal>APT::Get::Assume-Yes</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -1796,7 +1803,7 @@ msgid ""
"to decompress any compressed files. Configuration Item: <literal>APT::Get::"
"Print-URIs</literal>."
msgstr ""
-"Au lieu de récupérer les paquets à installer, leurs URI sont affichées. "
+"Au lieu de récupérer les paquets à installer, leurs URI sont affichées. "
"Chaque URI a un chemin, un nom de fichier destination, une taille et une clé "
"MD5 attendue. Veuillez noter que le nom de fichier à afficher ne correspond "
"pas toujours au nom de fichier sur le site distant. Cette option fonctionne "
@@ -1866,8 +1873,8 @@ msgstr ""
"annuler cette décision. En clair, cette option permet de contrôler "
"simplement dans quelle distribution seront récupérés les paquets. Par "
"exemple : <option>-t '2.1*'</option>, <option>-t unstable</option> ou "
-"<option>-t sid</option>. Élément de configuration : <literal>APT::Default-"
-"Release</literal>. Voyez aussi la page de manuel d'&apt-preferences;."
+"<option>-t sid</option>. Élément de configuration : <literal>APT::Default-"
+"Release</literal>. Voyez aussi la page de manuel d'&apt-preferences;."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml
@@ -2184,7 +2191,7 @@ msgid ""
"installed. For the specific meaning of the remainder of the output it is "
"best to consult the apt source code."
msgstr ""
-"On peut voir que libreadline2, version 2.1-12, dépend de libc5 et "
+"On peut voir que libreadline2, version 2.1-12, dépend de libc5 et "
"ncurses3.0 ; ces paquets doivent être installés au préalable pour que "
"libreadline2 fonctionne. À leur tour, libreadlineg2 et libreadline2-altdev "
"dépendent de libreadline2. Si libreadline2 est installé, libc5 et ncurses3.0 "
@@ -2265,7 +2272,7 @@ msgid ""
msgstr ""
"<literal>Mixed virtual packages</literal> est le nombre de paquets qui "
"remplissent un paquet virtuel particulier ou dont le nom est un nom de "
-"paquet virtuel. Par exemple, au sein du système Debian, « debconf » est un "
+"paquet virtuel. Par exemple, au sein du système Debian, « debconf » est un "
"paquet réel et il est aussi fourni par « debconf-tiny »."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><itemizedlist><listitem><para>
@@ -2572,7 +2579,7 @@ msgid ""
msgstr ""
"Mode silencieux ; produit une sortie pertinente pour l'enregistrement dans "
"un fichier-journal, sans afficher d'indicateur de progression. Un plus grand "
-"nombre de q produira un plus grand silence, avec un maximum de 2. Vous "
+"nombre de q produira un plus grand silence, avec un maximum de 2. Vous "
"pouvez aussi utiliser <option>-q=#</option> pour positionner le niveau de "
"silence, annulant le fichier de configuration. Élément de configuration : "
"<literal>quiet</literal>."
@@ -2761,7 +2768,7 @@ msgid ""
"on error."
msgstr ""
"<command>apt-cache</command> retourne zéro après un déroulement normal et le "
-"nombre décimal 100 en cas d'erreur."
+"nombre décimal 100 en cas d'erreur."
#. type: Content of: <refentry><refnamediv><refpurpose>
#: apt-key.8.xml
@@ -2860,7 +2867,7 @@ msgid ""
msgstr ""
"Il est primordial de vérifier que les clés ajoutées manuellement avec "
"<command>apt-key</command> appartiennent bien au propriétaire des dépôts "
-"comme elles le prétendent, sinon l'infrastructure de &apt-secure; est "
+"comme elles le prétendent, sinon l'infrastructure de &apt-secure; est "
"complètement compromise."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -2909,7 +2916,7 @@ msgstr ""
"il est possible par exemple de télécharger une clé directement d'un serveur "
"de clé dans l'ensemble de clés fiables. Veuillez noter qu'il n'y a "
"<emphasis>aucune</emphasis> vérification réalisée, aussi, il peut être "
-"facile de compromettre complètement l'infrastructure &apt-secure;, si la "
+"facile de compromettre complètement l'infrastructure &apt-secure;, si la "
"commande est utilisée sans précaution."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
@@ -3405,7 +3412,7 @@ msgid ""
"propagate malicious software to all users downloading packages from that "
"host."
msgstr ""
-"<literal>Attaque par compromission d'un miroir sur le réseau</literal>. "
+"<literal>Attaque par compromission d'un miroir sur le réseau</literal>. "
"Sans vérification de signature, quelqu'un de malveillant peut compromettre "
"un miroir et modifier les fichiers. Ainsi tous ceux qui téléchargent les "
"paquets de ce miroir propagent du code malveillant."
@@ -3761,7 +3768,7 @@ msgid ""
"longer to scan the CD but will pick them all up."
msgstr ""
"Parcours minutieux des paquets ; cette option peut être nécessaire avec des "
-"CD d'anciens systèmes Debian 1.1 ou 1.2 dont les fichiers Packages sont "
+"CD d'anciens systèmes Debian 1.1 ou 1.2 dont les fichiers Packages sont "
"situés dans des endroits inhabituels. Il faudra plus de temps pour parcourir "
"le CD mais tous les paquets seront repérés."
@@ -3909,7 +3916,7 @@ msgid ""
"on error."
msgstr ""
"<command>apt-config</command> retourne zéro après un déroulement normal, et "
-"le nombre 100 en cas d'erreur."
+"le nombre 100 en cas d'erreur."
#. type: Content of: <refentry><refentryinfo><author><contrib>
#: apt.conf.5.xml
@@ -3939,7 +3946,7 @@ msgid ""
"only place options can be set. The suite also shares a common command line "
"parser to provide a uniform environment."
msgstr ""
-"Le fichier <filename>apt.conf</filename> est le fichier de configuration "
+"Le fichier <filename>apt.conf</filename> est le fichier de configuration "
"principal du l'ensemble de programmes APT, mais n'est de loin pas le seul "
"endroit où des choix d'options peuvent être effectués. L'ensemble des outils "
"partagent leur analyse de la ligne de commande, ce qui permet de garantir un "
@@ -4050,7 +4057,7 @@ msgstr ""
"ignorée, de même que les sections de texte placées entre <literal>/*</"
"literal> et <literal>*/</literal>, tout comme les commentaires C/C++. "
"Chaque ligne est de la forme : <literal>APT::Get::Assume-Yes \"true\";</"
-"literal>. Les guillemets et le point-virgule final sont obligatoire. La "
+"literal>. Les guillemets et le point-virgule final sont obligatoires. La "
"valeur doit tenir sur une seule ligne et il n'existe pas de fusion de "
"chaînes. Elle ne doit pas comporter de guillemets et de barre oblique "
"inversée. Le nom d'une option peut contenir des caractères alphanumériques "
@@ -4109,7 +4116,7 @@ msgid ""
"example you could use <literal>dpkg::pre-install-pkgs</literal>."
msgstr ""
"Les identifiants des options de configuration ne sont pas sensibles à la "
-"casse. Dans l'exemple précédent, on pourrait donc aussi bien utiliser "
+"casse. Dans l'exemple précédent, on pourrait donc aussi bien utiliser "
"<literal>dpkg::pre-install-pkgs</literal>."
#. type: Content of: <refentry><refsect1><para>
@@ -4353,7 +4360,7 @@ msgid ""
"but note that APT provides no direct means to reinstall them."
msgstr ""
"Avec cette option qui est activée par défaut, la fonctionnalité "
-"« autoclean » supprime du cache tout paquet qui ne peut plus être récupéré. "
+"« autoclean » supprime du cache tout paquet qui ne peut plus être récupéré. "
"Quand cette option est désactivée, les paquets qui sont installés localement "
"sont aussi exclus du nettoyage - mais notez que APT ne fournit aucun moyen "
"direct pour les réinstaller."
@@ -4473,12 +4480,12 @@ msgid ""
"stands for no limit. If <literal>Cache-Grow</literal> is set to 0 the "
"automatic growth of the cache is disabled."
msgstr ""
-"À partir de la version 0.7.26, APT utilise un fichier de cache de taille "
+"À partir de la version 0.7.26, APT utilise un fichier de cache de taille "
"variable indexé en mémoire (« resizable memory mapped cache file ») pour "
"conserver les informations du fichier « available ». <literal>Cache-Start</"
"literal> définit la taille minimale de ce cache et par conséquent la "
"quantité de mémoire qu'APT utilisera dès son lancement. La valeur par défaut "
-"est de 20971520 octets (environ 20 Mo). Il est indispensable que l'ensemble "
+"est de 20971520 octets (environ 20 Mo). Il est indispensable que l'ensemble "
"de cette mémoire soit disponible, sinon APT ne pourra se lancer. Il peut "
"donc être nécessaire de diminuer cette valeur sur des systèmes disposant de "
"peu de mémoire. Au contraire, pour des systèmes qui utilisent de nombreuses "
@@ -4486,12 +4493,12 @@ msgstr ""
"<literal>Cache-Grow</literal> définit, en octets, la quantité de mémoire "
"supplémentaire qui peut être allouée au cache si la valeur définie par "
"<literal>Cache-Start</literal> est insuffisante. La valeur par défaut de "
-"<literal>Cache-Grow</literal> est de 1048576 octets (environ 1 Mo). Cette "
+"<literal>Cache-Grow</literal> est de 1048576 octets (environ 1 Mo). Cette "
"augmentation se fera tant que la taille du cache sera insuffisante pour "
"contenir toutes les informations nécessaires ou qu'elle atteint la valeur "
"limite définie par <literal>Cache-Limit</literal>. La valeur par défaut de "
"<literal>Cache-Limit</literal> est nulle (il n'existe donc pas de limite à "
-"la taille maximale du cache). Si <literal>Cache-Grow</literal> est égal à 0, "
+"la taille maximale du cache). Si <literal>Cache-Grow</literal> est égal à 0, "
"l'augmentation automatique de la taille du cache est désactivée."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -4859,11 +4866,11 @@ msgid ""
"that most FTP servers do not support RFC2428."
msgstr ""
"L'option <literal>ForceExtended</literal> contrôle l'utilisation des "
-"commandes liées à la RFC 2428, <literal>EPSV</literal> et <literal>EPRT</"
+"commandes liées à la RFC 2428, <literal>EPSV</literal> et <literal>EPRT</"
"literal>. Par défaut, elle vaut « false » ce qui signifie que ces commandes "
"ne sont utilisées que pour une connexion de type IPv6. Quand elle vaut "
"« true », on les utilise même si la connexion est de type IPv4. La plupart "
-"des serveurs FTP ne suivent pas la RFC 2428."
+"des serveurs FTP ne suivent pas la RFC 2428."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><literallayout>
#: apt.conf.5.xml
@@ -4886,11 +4893,11 @@ msgstr ""
"La seule option de configuration pour les URI qui utilisent la méthode "
"<literal>cdrom</literal> est le point de montage : <literal>cdrom::Mount</"
"literal> ; il doit représenter le point de montage du lecteur de CD-ROM (ou "
-"DVD, etc.) indiqué dans <filename>/etc/fstab</filename>. D'autres commandes "
+"DVD, etc.) indiqué dans <filename>/etc/fstab</filename>. D'autres commandes "
"de montage et de démontage peuvent être fournies quand le point de montage "
"ne peut être listé dans le fichier <filename>/etc/fstab</filename>. "
"Syntaxiquement, il faut placer <placeholder type=\"literallayout\" id=\"0\"/"
-"> dans le bloc <literal>cdrom</literal>. La barre oblique finale est "
+"> dans le bloc <literal>cdrom</literal>. La barre oblique finale est "
"importante. Les commandes de démontage peuvent être spécifiées en utilisant "
"<literal>UMount</literal>."
@@ -5318,8 +5325,8 @@ msgstr ""
"Les répertoires de la section <literal>Dir::State</literal> concernent le "
"système local. <literal>lists</literal> est le répertoire où placer les "
"listes de paquets téléchargés et <literal>status</literal> est le nom du "
-"fichier d'état de &dpkg;. <literal>preferences</literal> concerne APT : "
-"c'est le nom du fichier <filename>preferences</filename>. <literal>Dir::"
+"fichier d'état de &dpkg;. <literal>preferences</literal> concerne APT : "
+"c'est le nom du fichier <filename>preferences</filename>. <literal>Dir::"
"State</literal> contient le répertoire par défaut préfixé à tous les sous-"
"éléments, quand ceux-ci ne commencent pas par <filename>/</filename> ou "
"<filename>./</filename>."
@@ -5385,7 +5392,7 @@ msgid ""
"literal> <literal>dpkg-buildpackage</literal> and <literal>apt-cache</"
"literal> specify the location of the respective programs."
msgstr ""
-"Les programmes binaires sont pointés par <literal>Dir::Bin</literal>. "
+"Les programmes binaires sont pointés par <literal>Dir::Bin</literal>. "
"L'emplacement des gestionnaires de méthodes est indiqué par <literal>Dir::"
"Bin::Methods</literal> ; <literal>gzip</literal>, <literal>bzip2</literal>, "
"<literal>lzma</literal>, <literal>dpkg</literal>, <literal>apt-get</"
@@ -5465,9 +5472,9 @@ msgstr ""
"Mode de nettoyage du cache ; cette variable peut prendre l'une des valeurs "
"suivantes : « <literal>always</literal> », « <literal>prompt</literal> », "
"« <literal>auto</literal> », « <literal>pre-auto</literal> » et "
-"« <literal>never</literal> ». « <literal>always</literal> » et "
+"« <literal>never</literal> ». « <literal>always</literal> » et "
"« <literal>prompt</literal> » suppriment tous les paquets du cache après la "
-"mise à niveau ; « <literal>prompt</literal> » (valeur par défaut) les "
+"mise à niveau ; « <literal>prompt</literal> » (valeur par défaut) les "
"supprime après une demande et « <literal>auto</literal> » ne supprime que "
"les archives qui ne peuvent plus être téléchargées (remplacées, par exemple, "
"par une nouvelle version). « <literal>pre-auto</literal> » les supprime "
@@ -5549,7 +5556,7 @@ msgid ""
"going to install to the commands, one per line on the requested file "
"descriptor, defaulting to standard input."
msgstr ""
-"Il s'agit d'une liste de commandes shell à exécuter avant d'appeler &dpkg;. "
+"Il s'agit d'une liste de commandes shell à exécuter avant d'appeler &dpkg;. "
"Tout comme pour <literal>Options</literal>, on doit utiliser la notation de "
"liste. Les commandes sont appelées dans l'ordre, en utilisant <filename>/bin/"
"sh</filename> : APT s'arrête dès que l'une d'elles échoue. APT transmet aux "
@@ -5566,7 +5573,7 @@ msgid ""
"information."
msgstr ""
"La version 2 de ce protocole envoie plus d'informations à travers le "
-"descripteur du fichier requis : une ligne avec le texte <literal>VERSION 2</"
+"descripteur du fichier requis : une ligne avec le texte <literal>VERSION 2</"
"literal>, l'espace de configuration d'APT et une liste d'actions de paquet "
"avec le nom de fichier et l'information de version."
@@ -5967,7 +5974,7 @@ msgstr ""
"<literal>MarkInstall</literal> suivi de <literal>nom-paquet &lt;a.b.c -&gt; "
"d.e.f | x.y.z&gt; (section)</literal> où <literal>a.b.c</literal> est la "
"version actuelle du paquet, <literal>d.e.f</literal> la version devant être "
-"installée et <literal>x.y.z</literal> une version plus récente qui n'est "
+"installée et <literal>x.y.z</literal> une version plus récente qui n'est "
"pas prévue pour être installée (à cause d'un score plus faible). Ces deux "
"derniers éléments peuvent ne pas être mentionnés s'ils ne sont pas "
"pertinents où lorsque ils sont identiques à la version installée. "
@@ -6267,7 +6274,7 @@ msgstr ""
#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
#: apt_preferences.5.xml
msgid "priority 500"
-msgstr "une priorité égale à 500"
+msgstr "une priorité égale à 500"
#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
#: apt_preferences.5.xml
@@ -6279,7 +6286,7 @@ msgstr ""
#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><term>
#: apt_preferences.5.xml
msgid "priority 990"
-msgstr "une priorité égale à 990"
+msgstr "une priorité égale à 990"
#. type: Content of: <refentry><refsect1><refsect2><para><variablelist><varlistentry><listitem><simpara>
#: apt_preferences.5.xml
@@ -6307,11 +6314,11 @@ msgid ""
"marked as \"ButAutomaticUpgrades: yes\"."
msgstr ""
"Quand aucune distribution par défaut n'a été indiquée, APT affecte "
-"simplement une priorité égale à 100 à toute version installée d'un paquet et "
-"une priorité égale à 500 à tout version non installée. Cela à l'exception "
+"simplement une priorité égale à 100 à toute version installée d'un paquet et "
+"une priorité égale à 500 à tout version non installée. Cela à l'exception "
"des versions issues des archives qui ont la mention « NotAutomatic: yes » "
"dans leur fichier <filename>Release</filename>, qui auront alors une "
-"priorité égale à 1 ou à 100 si elles sont également marquées avec "
+"priorité égale à 1 ou à 100 si elles sont également marquées avec "
"« ButAutomaticUpgrades: yes »."
#. type: Content of: <refentry><refsect1><refsect2><para>
@@ -6333,9 +6340,9 @@ msgid ""
"Note also that downgrading a package can be risky.)"
msgstr ""
"Ne jamais revenir en arrière, sauf si la priorité d'une version disponible "
-"dépasse 1000. « Revenir en arrière » signifie installer une version moins "
+"dépasse 1000. « Revenir en arrière » signifie installer une version moins "
"récente que la version installée. Il faut noter qu'aucune des priorités par "
-"défaut n'excède 1000 ; de telles valeurs ne peuvent être définies que dans "
+"défaut n'excède 1000 ; de telles valeurs ne peuvent être définies que dans "
"le fichier des préférences. Notez aussi qu'il est risqué de revenir en "
"arrière."
@@ -6374,9 +6381,9 @@ msgid ""
"upgraded when <command>apt-get install <replaceable>some-package</"
"replaceable></command> or <command>apt-get upgrade</command> is executed."
msgstr ""
-"En général, la version installée d'un paquet (priorité 100) n'est pas aussi "
+"En général, la version installée d'un paquet (priorité 100) n'est pas aussi "
"récente que les versions disponibles dans les sources listées dans le "
-"fichier &sources-list; (priorité 500 ou 990). Et donc le paquet sera mis à "
+"fichier &sources-list; (priorité 500 ou 990). Et donc le paquet sera mis à "
"niveau avec la commande : <command>apt-get install <replaceable>paquet</"
"replaceable></command> ou <command>apt-get dist-upgrade</command>."
@@ -6636,8 +6643,8 @@ msgid ""
msgstr ""
"APT gére également l'épinglage (« pinning ») avec des expressions &glob; et "
"des expressions régulières entourées par des barres obliques. Par exemple, "
-"l'exemple qui suit affecte une priorité de 500 à tous les paquets "
-"d'experimental dont le nom commence par gnome (en tant qu'expression de "
+"l'exemple qui suit affecte une priorité de 500 à tous les paquets "
+"d'experimental dont le nom commence par gnome (en tant qu'expression de "
"type &glob;) ou contient le mot kde (sous format d'une expression régulière "
"POSIX étendue, entourée de barres obliques)."
@@ -6868,7 +6875,7 @@ msgid ""
msgstr ""
"La version la plus récente du paquet <literal>perl</literal> sera installé "
"pour autant que son numéro de version commence par <literal>&good-perl;</"
-"literal>. Si l'<emphasis>une</emphasis> des versions &good-perl;* existe et "
+"literal>. Si l'<emphasis>une</emphasis> des versions &good-perl;* existe et "
"si la version installée est une version &bad-perl;*, il y aura un retour en "
"arrière."
@@ -6879,7 +6886,7 @@ msgid ""
"available from the local system has priority over other versions, even "
"versions belonging to the target release."
msgstr ""
-"Les versions des paquets (autres que <literal>perl</literal>) disponibles "
+"Les versions des paquets (autres que <literal>perl</literal>) disponibles "
"dans le site local ont priorité sur les autres versions, même celles "
"appartenant à la distribution par défaut."
@@ -6967,7 +6974,7 @@ msgstr ""
"Le fichier <filename>Release</filename> se trouve normalement dans le "
"répertoire <filename>.../dists/<replaceable>nom-distribution</replaceable></"
"filename>, par exemple, <filename>.../dists/stable/Release</filename>, ou "
-"<filename>.../dists/&debian-stable-codename;/Release</filename>. Il "
+"<filename>.../dists/&debian-stable-codename;/Release</filename>. Il "
"consiste en une seule entrée composée de plusieurs lignes qui s'applique à "
"<emphasis>tous</emphasis> les paquets situés dans les répertoires sous le "
"répertoire parent. Contrairement au fichier <filename>Packages</filename>, "
@@ -7155,7 +7162,7 @@ msgstr ""
"filename> récupérés dans des sources indiquées dans le fichier &sources-"
"list; sont conservés dans le répertoire <filename>/var/lib/apt/lists</"
"filename> ou dans le fichier spécifié par la variable <literal>Dir::State::"
-"Lists</literal> dans le fichier <filename>apt.conf</filename>. Par exemple, "
+"Lists</literal> dans le fichier <filename>apt.conf</filename>. Par exemple, "
"le fichier <filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-"
"i386_Release</filename> contient le fichier <filename>Release</filename> du "
"site <literal>debian.lcs.mit.edu</literal>, architecture <literal>binary-"
@@ -7264,7 +7271,7 @@ msgstr ""
"La commande suivante utilisera la version la plus récente de la distribution "
"<literal>testing</literal> pour mettre à niveau le paquet spécifié ; "
"cependant les mises à niveau ultérieures du paquet ne se feront pas à moins "
-"de relancer la commande. <placeholder type=\"programlisting\" id=\"0\"/>"
+"de relancer la commande. <placeholder type=\"programlisting\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><refsect2><title>
#: apt_preferences.5.xml
@@ -7313,7 +7320,7 @@ msgstr ""
"des paquets appartenant à la distribution <literal>testing</literal>, une "
"priorité moindre aux versions appartenant à la distribution "
"<literal>unstable</literal> et une priorité prohibitivement basse aux "
-"versions appartenant à d'autres distributions <literal>Debian</literal>. "
+"versions appartenant à d'autres distributions <literal>Debian</literal>. "
"<placeholder type=\"programlisting\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><refsect2><para>
@@ -7352,7 +7359,7 @@ msgstr ""
"plus récente version dans <literal>testing</literal> si elle est plus "
"récente que la version installée ou avec la plus récente version dans "
"<literal>unstable</literal> si elle est plus récente que la version "
-"installée. <placeholder type=\"programlisting\" id=\"0\"/>"
+"installée. <placeholder type=\"programlisting\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><refsect2><title>
#: apt_preferences.5.xml
@@ -7415,7 +7422,7 @@ msgstr ""
"transformation d'une version <literal>testing</literal> en <literal>stable</"
"literal> puis <literal>oldstable</literal>. Si, au contraire, vous souhaitez "
"suivre la version <literal>testing</literal>, vous devriez utiliser un des "
-"exemples précédents. <placeholder type=\"programlisting\" id=\"0\"/>"
+"exemples précédents. <placeholder type=\"programlisting\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><refsect2><para>
#: apt_preferences.5.xml
@@ -7453,7 +7460,7 @@ msgstr ""
"plus récente version dans <literal>&debian-testing-codename;</literal> si "
"elle est plus récente que la version installée ou avec la plus récente "
"version dans <literal>sid</literal> si elle est plus récente que la version "
-"installée. <placeholder type=\"programlisting\" id=\"0\"/>"
+"installée. <placeholder type=\"programlisting\" id=\"0\"/>"
#. type: Content of: <refentry><refsect1><para>
#: apt_preferences.5.xml
@@ -7675,7 +7682,7 @@ msgstr ""
"code comme <literal>&debian-stable-codename;</literal> ou <literal>&debian-"
"testing-codename;</literal>, alors que composant prend les valeurs : "
"<literal>main</literal>, <literal>contrib</literal> ou <literal>non-free</"
-"literal>. Le type <literal>deb-src</literal> décrit une archive de "
+"literal>. Le type <literal>deb-src</literal> décrit une archive de "
"distribution de code source pour une distribution Debian dans le même format "
"que le type <literal>deb</literal>. Une ligne <literal>deb-src</literal> est "
"nécessaire pour récupérer les index des sources."
@@ -7742,7 +7749,7 @@ msgid ""
msgstr ""
"L'URI de type <literal>deb</literal> doit indiquer la base de la "
"distribution Debian dans laquelle APT trouvera les informations dont il a "
-"besoin. <literal>suite</literal> peut spécifier le chemin exact : dans ce "
+"besoin. <literal>suite</literal> peut spécifier le chemin exact : dans ce "
"cas, on doit omettre les composants et <literal>suite</literal> doit se "
"terminer par une barre oblique (<literal>/</literal>). C'est utile quand "
"seul un sous-répertoire particulier de l'archive décrite par cet URI est "
@@ -8027,20 +8034,6 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
#: sources.list.5.xml
-#, fuzzy
-#| msgid ""
-#| "<option>Signed-By</option> (<option>signed-by</option>) is either an "
-#| "absolute path to a keyring file (has to be accessible and readable for "
-#| "the <literal>_apt</literal> user, so ensure everyone has read-permissions "
-#| "on the file) or one or more fingerprints of keys either in the "
-#| "<filename>trusted.gpg</filename> keyring or in the keyrings in the "
-#| "<filename>trusted.gpg.d/</filename> directory (see <command>apt-key "
-#| "fingerprint</command>). If the option is set, only the key(s) in this "
-#| "keyring or only the keys with these fingerprints are used for the &apt-"
-#| "secure; verification of this repository. Defaults to the value of the "
-#| "option with the same name if set in the previously acquired "
-#| "<filename>Release</filename> file. Otherwise all keys in the trusted "
-#| "keyrings are considered valid signers for this repository."
msgid ""
"<option>Signed-By</option> (<option>signed-by</option>) is an option to "
"require a repository to pass &apt-secure; verification with a certain set of "
@@ -8060,18 +8053,24 @@ msgid ""
"(only fingerprints can be specified there through). Otherwise all keys in "
"the trusted keyrings are considered valid signers for this repository."
msgstr ""
-"<option>Signed-By</option> (<option>signed-by</option>) est soit un chemin "
-"absolu vers un fichier de trousseau de clés (qui doit être accessible en "
-"lecture pour l'utilisateur <literal>_apt</literal>, et donc, il faut "
-"s'assurer que tout le monde a le droit de lecture sur le fichier) ou une ou "
-"plusieurs empreintes de clés situées soit dans le trousseau "
-"<filename>trusted.gpg</filename>, soit dans les trousseaux du répertoire "
-"<filename>trusted.gpg.d/</filename> (voir <command>apt-key fingerprint</"
-"command>). Si cette option est définie, seule la ou les clés dans ce "
-"trousseau, ou seules les clés avec ces empreintes sont utilisées pour la "
-"vérification du répertoire par &apt-secure;. Elle possède la valeur par "
-"défaut de l'option du même nom si elle a été définie dans le fichier "
-"<filename>Release</filename> récupéré auparavant. Autrement, toutes les clés "
+"<option>Signed-By</option> (<option>signed-by</option>) est une option pour "
+"demander la vérification d’un dépot par &apt-secure; avec un certain jeu de "
+"clés plutôt qu’avec la totalité des clés de confiance configurées par apt. "
+"Elle est définie comme une liste de chemins absolus vers des fichiers de "
+"trousseau de clés (qui doivent être accessibles en lecture pour "
+"l'utilisateur <literal>_apt</literal>, et donc, il faut s'assurer que tout "
+"le monde a le droit de lecture sur le fichier) et des empreintes de clés à "
+"sélectionner dans ces trousseaux. Si aucun fichier de clés n’est défini, le "
+"trousseau <filename>trusted.gpg</filename> et tous les trousseaux du "
+"répertoire <filename>trusted.gpg.d/</filename> sont sélectionnés par défaut "
+"(voir <command>apt-key fingerprint</command>). Si aucune empreinte n’est "
+"définie, toutes les clés des trousseaux sont sélectionnées. Une empreinte "
+"acceptera aussi toutes les signatures de sous clés de cette clé, et si ce "
+"n’est pas désiré, un point d’exclamation (<literal>!</literal>) peut être "
+"ajouté à l’empreinte pour désactiver ce comportement. Elle possède la valeur "
+"par défaut de l'option du même nom si elle a été définie dans le fichier "
+"<filename>Release</filename> de ce dépôt récupéré auparavant (seules des "
+"empreintes peuvent être définies par ce biais). Autrement, toutes les clés "
"des trousseaux de confiance sont considérées comme des signatures valables "
"pour ce dépôt."
@@ -8270,14 +8269,12 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><command><replaceable>
#: sources.list.5.xml
msgid "scheme"
-msgstr ""
+msgstr "procédé"
#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term>
#: sources.list.5.xml
-#, fuzzy
-#| msgid "(&apt-transport-http;)"
msgid "(&apt-transport-mirror;)"
-msgstr "(&apt-transport-http;)"
+msgstr "(&apt-transport-mirror;)"
#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
#: sources.list.5.xml
@@ -8291,6 +8288,15 @@ msgid ""
"ensuring that clients can acquire data even if some configured mirrors are "
"not available."
msgstr ""
+"Le procédé miroir définit la localisation d'une liste de miroirs. Par "
+"défaut, le procédé utilisé par la localisation est <literal>http</literal>, "
+"mais n'importe quel autre procédé peut être utilisé avec la commande "
+"<command>mirror+<replaceable>scheme</replaceable></command>. La liste de "
+"miroirs elle-même peut contenir plusieurs URI de miroirs différentes que le "
+"client APT peut, de façon transparente, repérer, choisir et sur lesquelles "
+"se rabattre, afin d'aider à la fois à répartir la charge sur les miroirs "
+"disponibles et à garantir que les clients puissent récupérer les données "
+"même si certains des miroirs configurés ne sont pas disponibles."
#. type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para>
#: sources.list.5.xml
@@ -8975,7 +8981,7 @@ msgid ""
msgstr ""
"La valeur des autres champs de métadonnées du fichier Release sont tirées de "
"la valeur correspondante dans <literal>APT::FTPArchive::Release</literal>, "
-"p. ex. <literal>APT::FTPArchive::Release::Origin</literal>. Les champs "
+"p. ex. <literal>APT::FTPArchive::Release::Origin</literal>. Les champs "
"reconnus sont : <literal>Origin</literal>, <literal>Label</literal>, "
"<literal>Suite</literal>, <literal>Version</literal>, <literal>Codename</"
"literal>, <literal>Date</literal>, <literal>NotAutomatic</literal>, "
@@ -9178,7 +9184,7 @@ msgid ""
"index files are set to this mode with no regard to the umask."
msgstr ""
"Indique le système de permissions des fichiers d'index créés. Par défaut, "
-"c'est le mode 0644. Tous les fichiers d'index ont ce mode et le masque "
+"c'est le mode 0644. Tous les fichiers d'index ont ce mode et le masque "
"utilisateur (umasq) est ignoré."
#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
@@ -9234,9 +9240,9 @@ msgstr ""
"utilisé sans actualisation. Quand cette limite est franchie, le « mtime » du "
"fichier « Contents » est mis à jour. Cela peut arriver quand un fichier est "
"modifié sans que cela modifie le fichier « Contents » (modification par "
-"« override » par exemple). Un délai est permis dans l'espoir que de "
+"« override » par exemple). Un délai est permis dans l'espoir que de "
"nouveaux « .deb » seront installés, exigeant un nouveau « Contents ». Par "
-"défaut ce nombre vaut 10, l'unité étant le jour."
+"défaut ce nombre vaut 10, l'unité étant le jour."
#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
#: apt-ftparchive.1.xml
@@ -9321,7 +9327,7 @@ msgid ""
"Sets the binary cache database to use for this section. Multiple sections "
"can share the same database."
msgstr ""
-"Indique la base de données binaire servant de cache pour cette section. "
+"Indique la base de données binaire servant de cache pour cette section. "
"Différentes sections peuvent partager cette base de données."
#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
@@ -9666,7 +9672,7 @@ msgstr ""
"Mode silencieux ; cette commande produit une sortie destinée à "
"l'enregistrement dans un fichier-journal en omettant les indicateurs de "
"progression. Un plus grand nombre de « q » (2 au plus) rend le programme de "
-"plus en plus silencieux. On peut aussi utiliser <option>-q=#</option> pour "
+"plus en plus silencieux. On peut aussi utiliser <option>-q=#</option> pour "
"définir ce « niveau de silence », et ne plus tenir compte des réglages du "
"fichier de configuration. Élément de configuration : <literal>quiet</"
"literal>."
@@ -9752,7 +9758,7 @@ msgstr ""
"de données. Si les paquets sont recompilés ou republiés avec à nouveau la "
"même version, cela pourra causer des problèmes car, alors, les métadonnées "
"en cache (p. ex. les tailles et les sommes de contrôle) seront utilisées. Si "
-"cette option est choisie, cela n'arrivera plus car le fichier sera contrôlé "
+"cette option est choisie, cela n'arrivera plus car le fichier sera contrôlé "
"pour vérifier s'il a été modifié. Veuillez noter que cette option n'est pas "
"activée par défaut car il est déconseillé d'envoyer dans les archives des "
"versions identiques. En théorie, donc, ces problème ne devraient pas "
@@ -9796,7 +9802,7 @@ msgid ""
"100 on error."
msgstr ""
"<command>apt-ftparchive</command> retourne zéro si tout se passe bien, le "
-"nombre 100 en cas d'erreur."
+"nombre 100 en cas d'erreur."
#. type: Content of: <refentry><refnamediv><refpurpose>
#: apt_auth.conf.5.xml
@@ -9831,7 +9837,7 @@ msgid ""
"to store login information in a netrc-like format with restrictive file "
"permissions."
msgstr ""
-" Le fichier auth.conf d'APT <filename>/etc/apt/auth.conf</filename> peut "
+"Le fichier auth.conf d'APT <filename>/etc/apt/auth.conf</filename> peut "
"être utilisé pour stocker les informations de connexion dans un format "
"detype netrc avec des droits d'accès restreints"
@@ -10254,7 +10260,7 @@ msgid ""
msgstr ""
"La bande passante utilisée peut être limitée avec <literal>Acquire::http::Dl-"
"Limit</literal> qui peut prendre une valeur entière, l'unité utilisée étant "
-"le kilo-octet par seconde. La valeur par défaut est 0, ce qui correspond à "
+"le kilo-octet par seconde. La valeur par défaut est 0, ce qui correspond à "
"aucune limitation de bande passante. Veuillez noter que cette option "
"désactive implicitement le téléchargement simultané depuis plusieurs "
"serveurs."
@@ -10271,7 +10277,7 @@ msgid ""
"0. It is enabled by default with the value 10."
msgstr ""
"Le réglage <literal>Acquire::http::Pipeline-Depth</literal> permet "
-"d'utiliser l'enchaînement HTTP (« HTTP pipelining », RFC 2616 "
+"d'utiliser l'enchaînement HTTP (« HTTP pipelining », RFC 2616 "
"section 8.1.2.2) ce qui peut être utile par exemple avec des connexions à "
"latence élevée. Il indique le nombre de requêtes envoyées dans le tuyau. APT "
"tente de détecter et de contourner les serveurs web et les mandataires qui "
@@ -10539,29 +10545,6 @@ msgstr ""
#. type: Content of: <refentry><refsect1><literallayout>
#: apt-transport-https.1.xml
-#, fuzzy, no-wrap
-#| msgid ""
-#| "acquire::https {\n"
-#| "\tproxy::example.org \"direct\";\n"
-#| "\tproxy \"socks5h://apt:pass@127.0.0.1:9050\";\n"
-#| "\tproxy-auto-detect \"/usr/local/bin/apt-https-proxy-auto-detect\";\n"
-#| "\tno-cache \"true\";\n"
-#| "\tmax-age \"3600\";\n"
-#| "\tno-store \"true\";\n"
-#| "\ttimeout \"10\";\n"
-#| "\tdl-limit \"42\";\n"
-#| "\tpipeline-depth \"0\";\n"
-#| "\tallowredirect \"false\";\n"
-#| "\tuser-agent \"my apt-https\";\n"
-#| "\tsendaccept \"false\";\n"
-#| "\n"
-#| "\tcainfo \"/path/to/ca/certs.pem\";\n"
-#| "\tCRLFile \"/path/to/all/crl.pem\";\n"
-#| "\tVerify-Peer \"true\";\n"
-#| "\tVerify-Host::broken.example.org \"false\";\n"
-#| "\tSSLCert::example.org \"/path/to/client/cert.pem\";\n"
-#| "\tSSLKey::example.org \"/path/to/client/key.pem\"\n"
-#| "};\n"
msgid ""
"Acquire::https {\n"
"\tProxy::example.org \"DIRECT\";\n"
@@ -10585,21 +10568,21 @@ msgid ""
"\tSSLKey::example.org \"/path/to/client/key.pem\"\n"
"};\n"
msgstr ""
-"acquire::https {\n"
-"\tproxy::example.org \"direct\";\n"
-"\tproxy \"socks5h://apt:pass@127.0.0.1:9050\";\n"
-"\tproxy-auto-detect \"/usr/local/bin/apt-https-proxy-auto-detect\";\n"
-"\tno-cache \"true\";\n"
-"\tmax-age \"3600\";\n"
-"\tno-store \"true\";\n"
-"\ttimeout \"10\";\n"
-"\tdl-limit \"42\";\n"
-"\tpipeline-depth \"0\";\n"
-"\tallowredirect \"false\";\n"
-"\tuser-agent \"my apt-https\";\n"
-"\tsendaccept \"false\";\n"
+"Acquire::https {\n"
+"\tProxy::example.org \"DIRECT\";\n"
+"\tProxy \"socks5h://apt:pass@127.0.0.1:9050\";\n"
+"\tProxy-Auto-Detect \"/usr/local/bin/apt-https-proxy-auto-detect\";\n"
+"\tNo-Cache \"true\";\n"
+"\tMax-Age \"3600\";\n"
+"\tNo-Store \"true\";\n"
+"\tTimeout \"10\";\n"
+"\tDl-Limit \"42\";\n"
+"\tPipeline-Depth \"0\";\n"
+"\tAllowRedirect \"false\";\n"
+"\tUser-Agent \"My APT-HTTPS\";\n"
+"\tSendAccept \"false\";\n"
"\n"
-"\tcainfo \"/path/to/ca/certs.pem\";\n"
+"\tCAInfo \"/path/to/ca/certs.pem\";\n"
"\tCRLFile \"/path/to/all/crl.pem\";\n"
"\tVerify-Peer \"true\";\n"
"\tVerify-Host::broken.example.org \"false\";\n"
@@ -11020,7 +11003,7 @@ msgid ""
msgstr ""
"APT, ainsi que ce document, sont libres. Vous pouvez les redistribuer et les "
"modifier en respectant les conditions de la licence publique générale GNU "
-"telle que publiée par la Free Software Foundation, en version 2 ou "
+"telle que publiée par la Free Software Foundation, en version 2 ou "
"ultérieure."
#. type: Content of: <book><bookinfo><legalnotice><para>
@@ -11418,9 +11401,9 @@ msgstr ""
" Réglage de la liste des emplacements sources de distribution\n"
"\n"
" Veuillez indiquer l'URL de base de la distribution Debian.\n"
-" Les schémas d'accès connus sont : http file\n"
+" Les schémas d'accès connus sont : http file\n"
"\n"
-" Exemple:\n"
+" Exemple :\n"
" file:/mnt/debian,\n"
" ftp://ftp.debian.org/debian,\n"
" http://ftp.de.debian.org/debian,\n"
@@ -11486,10 +11469,10 @@ msgid ""
" Components [main contrib non-free]:\n"
msgstr ""
" Veuillez indiquer les composants à utiliser\n"
-" Les composants sont en général de la forme suivante :\n"
+" Les composants sont en général de la forme suivante :\n"
" main contrib non-free\n"
"\n"
-" Composants [main contrib non-free] :\n"
+" Composants [main contrib non-free] :\n"
#. type: Content of: <book><chapter><para>
#: guide.dbk
@@ -11672,7 +11655,7 @@ msgstr ""
"# apt-get check\n"
"Lecture de la liste des paquets... Fait\n"
"Construction de l'arbre des dépendances... Fait\n"
-"Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes.\n"
+"Vous pouvez lancer « apt --fix-broken install » pour corriger ces problèmes.\n"
"Les paquets suivants contiennent des dépendances non satisfaites :\n"
" 9fonts: Depends: xlib6g mais il n'est pas installé\n"
" uucp: Depends: mailx mais il n'est pas installé\n"
@@ -11680,7 +11663,7 @@ msgstr ""
" adduser: Depends: perl-base mais il n'est pas installé\n"
" aumix: Depends: libgpmg1 mais il n'est pas installé\n"
" debiandoc-sgml: Depends: sgml-base mais il n'est pas installé\n"
-" bash-builtins: Depends: bash (&gt;= 2.01) but 2.0-3 is installed\n"
+" bash-builtins: Depends: bash (&gt;= 2.01) mais 2.0-3 est installé\n"
" cthugha: Depends: svgalibg1 mais il n'est pas installé\n"
" Depends: xlib6g (&gt;= 3.3-5) mais il n'est pas installé\n"
" libreadlineg2: Conflicts:libreadline2 (&lt;&lt; 2.1-2.1)\n"
@@ -11738,7 +11721,7 @@ msgid ""
msgstr ""
"La seconde situation est moins grave que la première car APT met certaines "
"contraintes sur l'ordre d'installation des paquets. Dans les deux cas, "
-"l'option <literal>-f</literal> utilisée avec <command>apt-get</command> "
+"l'option <literal>-f</literal> utilisée avec <command>apt-get</command> "
"conduira APT à rechercher une solution possible puis à continuer. La méthode "
"APT de <command>dselect</command> utilise toujours cette option <literal>-f</"
"literal> afin de pouvoir poursuivre plus facilement ses opérations si un "
@@ -11799,7 +11782,7 @@ msgid ""
" squake pgp-i python-base debmake ldso perl libreadlineg2\n"
" ssh\n"
msgstr ""
-"Les paquets supplémentaires suivants seront installés :\n"
+"Les paquets supplémentaires suivants seront installés :\n"
" libdbd-mysql-perl xlib6 zlib1 xzx libreadline2 libdbd-msql-perl\n"
" mailpgp xdpkg fileutils pinepgp zlib1g xlib6g perl-base\n"
" bin86 libgdbm1 libgdbmg1 quake-lib gmp2 bcc xbuffy\n"
@@ -11834,7 +11817,7 @@ msgid ""
" xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid\n"
" nas xpilot xfig\n"
msgstr ""
-"Les paquets suivants seront ENLEVÉS :\n"
+"Les paquets suivants seront ENLEVÉS :\n"
" xlib6-dev xpat2 tk40-dev xkeycaps xbattle xonix\n"
" xdaliclock tk40 tk41 xforms0.86 ghostview xloadimage xcolorsel\n"
" xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid\n"
@@ -11854,7 +11837,7 @@ msgstr ""
"La liste des paquets à enlever montre tous les paquets qui seront supprimés "
"du système. Elle peut apparaître pour tout type d'opération. Il est "
"conseillé de l'inspecter en détail afin de vérifier qu'aucun paquet "
-"important ne va être supprimé. L'option <literal>-f</literal> provoque "
+"important ne va être supprimé. L'option <literal>-f</literal> provoque "
"notamment souvent des suppressions de paquets et il est déconseillé d'être "
"particulièrement attentif dans ce genre de cas. La liste peut comporter des "
"paquets qui seront supprimés parce qu'ils sont seulement partiellement "
@@ -11872,7 +11855,7 @@ msgid ""
"The following NEW packages will installed:\n"
" zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base\n"
msgstr ""
-"Les NOUVEAUX paquets suivants seront installés :\n"
+"Les NOUVEAUX paquets suivants seront installés :\n"
" zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base\n"
#. type: Content of: <book><chapter><section><section><para>
@@ -11899,7 +11882,7 @@ msgid ""
" compface man-db tetex-base msql libpaper svgalib1\n"
" gs snmp arena lynx xpat2 groff xscreensaver\n"
msgstr ""
-"Les paquets suivants ont été conservés :\n"
+"Les paquets suivants ont été conservés :\n"
" compface man-db tetex-base msql libpaper svgalib1\n"
" gs snmp arena lynx xpat2 groff xscreensaver\n"
@@ -11933,7 +11916,7 @@ msgid ""
"The following held packages will be changed:\n"
" cvs\n"
msgstr ""
-"Les paquets retenus suivants seront changés :\n"
+"Les paquets retenus suivants seront changés :\n"
" cvs\n"
#. type: Content of: <book><chapter><section><section><para>
@@ -11970,7 +11953,7 @@ msgid ""
msgstr ""
"206 paquets mis à jour, 8 nouvellement installés, 23 à enlever et 51 non mis à jour.\n"
"12 paquets partiellement installés ou enlevés.\n"
-"Il est nécessaire de prendre 65,7Mo/66,7Mo dans les archives. Après cette opération, 26,5Mo d'espace disque supplémentaires seront utilisés.\n"
+"Il est nécessaire de prendre 65,7 Mo/66,7 Mo dans les archives. Après cette opération, 26,5 Mo d'espace disque supplémentaires seront utilisés.\n"
#. type: Content of: <book><chapter><section><section><para>
#: guide.dbk
@@ -12040,11 +12023,11 @@ msgid ""
"11% [5 testing/non-free `Waiting for file' 0/32.1k 0%] 2203b/s 1m52s\n"
msgstr ""
"# apt-get update\n"
-"Réception de :1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages\n"
-"Réception de :2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages\n"
+"Réception de :1 http://ftp.de.debian.org/debian-non-US/ stable/non-US/ Packages\n"
+"Réception de :2 http://llug.sep.bnl.gov/debian/ testing/contrib Packages\n"
"Atteint http://llug.sep.bnl.gov/debian/ testing/main Packages\n"
-"Réception de :4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages\n"
-"Réception de :5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages\n"
+"Réception de :4 http://ftp.de.debian.org/debian-non-US/ unstable/binary-i386/ Packages\n"
+"Réception de :5 http://llug.sep.bnl.gov/debian/ testing/non-free Packages\n"
"11% [5 testing/non-free `Attente du fichier' 0/32.1k 0%] 2203b/s 1m52s\n"
#. type: Content of: <book><chapter><section><para>
@@ -12109,12 +12092,12 @@ msgstr ""
"puis <emphasis>Téléchargement</emphasis> ou <emphasis>Reprise</emphasis>. La "
"valeur finale est le nombre d'octets téléchargés depuis le site distant. Une "
"fois le téléchargement commencé, cette indication prend la forme "
-"<literal>102/10,2ko</literal>, ce qui indique que 102 octets ont été "
-"téléchargés et que 10,2 kilo-octets sont attendus. La taille totale est "
-"toujours représentées sur 4 digits pour des raisons de place disponible. "
+"<literal>102/10,2ko</literal>, ce qui indique que 102 octets ont été "
+"téléchargés et que 10,2 kilo-octets sont attendus. La taille totale est "
+"toujours représentées sur 4 digits pour des raisons de place disponible. "
"Après cet affichage de taille, se trouve une barre de progression pour le "
"téléchargement du fichier lui-même. L'élément suivant est la vitesse "
-"instantanée de téléchargement. Elle est mise à jour toutes les 5 secondes et "
+"instantanée de téléchargement. Elle est mise à jour toutes les 5 secondes et "
"représente la vitesse de transfert pour cette période. Enfin, est affiché la "
"temps de téléchargement restant estimé. Cette information est mise "
"régulièrement à jour et représete la durée estimée de téléchargement de "
diff --git a/doc/po/it.po b/doc/po/it.po
index 4932bf2e8..dfd590436 100644
--- a/doc/po/it.po
+++ b/doc/po/it.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-11-12 11:52+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2017-03-27 19:05+0200\n"
"Last-Translator: Beatrice Torracca <beatricet@libero.it>\n"
"Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
@@ -5517,6 +5517,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml
msgid ""
+"This is a string that defines the <envar>PATH</envar> environment variable "
+"used when running dpkg. It may be set to any valid value of that environment "
+"variable; or the empty string, in which case the variable is not changed."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml
+msgid ""
"This is a list of shell commands to run before/after invoking &dpkg;. Like "
"<literal>options</literal> this must be specified in list notation. The "
"commands are invoked in order using <filename>/bin/sh</filename>; should any "
@@ -9791,11 +9799,21 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "The APT preferences file <filename>/etc/apt/preferences</filename> and "
+#| "the fragment files in the <filename>/etc/apt/preferences.d/</filename> "
+#| "folder can be used to control which versions of packages will be selected "
+#| "for installation."
msgid ""
-"The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used "
-"to store login information in a netrc-like format with restrictive file "
-"permissions."
+"The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf "
+"files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store "
+"login information in a netrc-like format with restrictive file permissions."
msgstr ""
+"Il file delle preferenze di APT, <filename>/etc/apt/preferences</filename> e "
+"i file frammento nella directory <filename>/etc/apt/preferences.d/</"
+"filename> possono essere usati per controllare quale versione verrà "
+"selezionata per l'installazione."
#. type: Content of: <refentry><refsect1><title>
#: apt_auth.conf.5.xml
@@ -9966,6 +9984,26 @@ msgstr ""
"Mostra la versione completa dei pacchetti aggiornati e installati. Voce di "
"configurazione: <literal>APT::Get::Show-Versions</literal>."
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid "<filename>/etc/apt/trustdb.gpg</filename>"
+msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>"
+msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "Show full versions for upgraded and installed packages. Configuration "
+#| "Item: <literal>APT::Get::Show-Versions</literal>."
+msgid ""
+"Login information for APT sources and proxies in a netrc-like format. "
+"Configuration Item: <literal>Dir::Etc::netrcparts</literal>."
+msgstr ""
+"Mostra la versione completa dei pacchetti aggiornati e installati. Voce di "
+"configurazione: <literal>APT::Get::Show-Versions</literal>."
+
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
#, fuzzy
diff --git a/doc/po/ja.po b/doc/po/ja.po
index dbcdbd852..f60ec2f15 100644
--- a/doc/po/ja.po
+++ b/doc/po/ja.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 1.4\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-11-12 11:52+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2017-01-06 04:50+0900\n"
"Last-Translator: Takuma Yamada <tyamada@takumayamada.com>\n"
"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
@@ -5297,6 +5297,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml
msgid ""
+"This is a string that defines the <envar>PATH</envar> environment variable "
+"used when running dpkg. It may be set to any valid value of that environment "
+"variable; or the empty string, in which case the variable is not changed."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml
+msgid ""
"This is a list of shell commands to run before/after invoking &dpkg;. Like "
"<literal>options</literal> this must be specified in list notation. The "
"commands are invoked in order using <filename>/bin/sh</filename>; should any "
@@ -9415,11 +9423,20 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "The APT preferences file <filename>/etc/apt/preferences</filename> and "
+#| "the fragment files in the <filename>/etc/apt/preferences.d/</filename> "
+#| "folder can be used to control which versions of packages will be selected "
+#| "for installation."
msgid ""
-"The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used "
-"to store login information in a netrc-like format with restrictive file "
-"permissions."
+"The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf "
+"files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store "
+"login information in a netrc-like format with restrictive file permissions."
msgstr ""
+"APT プリファレンスファイル <filename>/etc/apt/preferences</filename> と "
+"<filename>/etc/apt/preferences.d/</filename> フォルダにある断片ファイルは、イ"
+"ンストールするパッケージのバージョンを制御するのに使用します。"
#. type: Content of: <refentry><refsect1><title>
#: apt_auth.conf.5.xml
@@ -9588,6 +9605,24 @@ msgstr ""
"更新・インストールするパッケージのバージョンをすべて表示します。設定項目: "
"<literal>APT::Get::Show-Versions</literal>"
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: apt_auth.conf.5.xml
+msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>"
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "Show full versions for upgraded and installed packages. Configuration "
+#| "Item: <literal>APT::Get::Show-Versions</literal>."
+msgid ""
+"Login information for APT sources and proxies in a netrc-like format. "
+"Configuration Item: <literal>Dir::Etc::netrcparts</literal>."
+msgstr ""
+"更新・インストールするパッケージのバージョンをすべて表示します。設定項目: "
+"<literal>APT::Get::Show-Versions</literal>"
+
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
#, fuzzy
diff --git a/doc/po/nl.po b/doc/po/nl.po
index 55c29785f..6622d1925 100644
--- a/doc/po/nl.po
+++ b/doc/po/nl.po
@@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: apt-doc 1.7.0\n"
+"Project-Id-Version: apt-doc 1.8.0~alpha2\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
"POT-Creation-Date: 2018-10-30 22:06+0100\n"
-"PO-Revision-Date: 2018-10-09 20:51+0200\n"
+"PO-Revision-Date: 2018-11-19 20:54+0100\n"
"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
"Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n"
"Language: nl\n"
@@ -1291,6 +1291,8 @@ msgid ""
"The arguments are interpreted as binary and source package names. See the "
"<option>--only-source</option> option if you want to change that."
msgstr ""
+"De argumenten worden beschouwd als namen van binaire en broncodepakketen. "
+"Zie de optie <option>--only-source</option> indien u dit wenst te wijzigen."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml
@@ -1373,6 +1375,8 @@ msgid ""
"The arguments are interpreted as binary or source package names. See the "
"<option>--only-source</option> option if you want to change that."
msgstr ""
+"De argumenten worden beschouwd als namen van binaire en broncodepakketen. "
+"Zie de optie <option>--only-source</option> indien u dit wenst te wijzigen."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml
@@ -8183,7 +8187,6 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
#: sources.list.5.xml
-#, fuzzy
#| msgid ""
#| "<option>Signed-By</option> (<option>signed-by</option>) is either an "
#| "absolute path to a keyring file (has to be accessible and readable for "
@@ -8216,19 +8219,28 @@ msgid ""
"(only fingerprints can be specified there through). Otherwise all keys in "
"the trusted keyrings are considered valid signers for this repository."
msgstr ""
-"<option>Signed-By</option> (<option>signed-by</option>) is ofwel een "
-"absoluut pad naar een sleutelbosbestand (moet toegankelijk zijn voor en te "
-"lezen door gebruiker <literal>_apt</literal>; zorg er dus voor dat iedereen "
-"leesrechten heeft voor het bestand), ofwel een of meer vingerafdrukken van "
-"sleutels uit de sleutelbos <filename>trusted.gpg</filename> of uit de "
-"sleutelbossen in de map <filename>trusted.gpg.d/</filename> (zie "
-"<command>apt-key fingerprint</command>). Indien de optie ingesteld werd, "
-"worden enkel de sleutel(s) uit die sleutelbos of enkel de sleutels met deze "
-"vingerafdrukken gebruikt voor de verificatie van die pakketbron door &apt-"
-"secure;. Heeft standaard de waarde van de optie met dezelfde naam indien die "
-"ingesteld staat in het vooraf opgehaalde bestand <filename>Release</"
-"filename>. Anders worden alle sleutels uit de betrouwbare sleutelbossen als "
-"geldige ondertekenaars van deze pakketbron aanzien."
+"<option>Signed-By</option> (<option>signed-by</option>) is een optie die van "
+"een pakketbron vereist dat de verificatie door &apt-secure; gebeurt aan de "
+"hand van een bepaalde set sleutels in plaats van aan de hand van alle "
+"betrouwbare sleutels die in de configuratie van apt staan. Deze optie wordt "
+"opgegeven als een lijst van absolute paden naar sleutelbosbestanden (moeten "
+"toegankelijk zijn voor en te lezen door de systeemgebruiker <literal>_apt</"
+"literal>; zorg er dus voor dat iedereen leesrechten heeft op het bestand) en "
+"naar de vingerafdrukken van uit die sleutelbossen te selecteren sleutels. "
+"Indien geen sleutelbosbestanden opgegeven werden, geldt als standaard de "
+"sleutelbos <filename>trusted.gpg</filename> en alle sleutelbossen uit de map "
+"<filename>trusted.gpg.d/</filename> (zie <command>apt-key fingerprint</"
+"command>). Indien geen vingerafdruk opgegeven werd, worden alle sleutels uit "
+"de sleutelbossen geselecteerd. Een vingerafdruk aanvaardt ook alle "
+"handtekeningen die met een subsleutel van deze sleutel gemaakt werden. "
+"Indien dit niet het gewenste gedrag is, kan aan de vingerafdruk een "
+"uitroepteken (<literal>!</literal>) toegevoegd worden waardoor dit gedrag "
+"uitgezet wordt. Standaard krijgt de optie de waarde van de optie met "
+"dezelfde naam wanneer die ingesteld staat in het vooraf uit deze pakketbron "
+"opgehaald bestand <filename>Release</filename> (door middel hiervan kunnen "
+"enkel vingerafdrukken opgegeven worden). Anders worden alle sleutels uit de "
+"betrouwbare sleutelbossen als geldige ondertekenaars van deze pakketbron "
+"aanzien."
#. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para>
#: sources.list.5.xml
diff --git a/doc/po/pl.po b/doc/po/pl.po
index 5bda5957c..2d05a84fe 100644
--- a/doc/po/pl.po
+++ b/doc/po/pl.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-11-12 11:52+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2014-07-04 02:13+0200\n"
"Last-Translator: Robert Luberda <robert@debian.org>\n"
"Language-Team: Polish <manpages-pl-list@lists.sourceforge.net>\n"
@@ -5074,6 +5074,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml
msgid ""
+"This is a string that defines the <envar>PATH</envar> environment variable "
+"used when running dpkg. It may be set to any valid value of that environment "
+"variable; or the empty string, in which case the variable is not changed."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml
+msgid ""
"This is a list of shell commands to run before/after invoking &dpkg;. Like "
"<literal>options</literal> this must be specified in list notation. The "
"commands are invoked in order using <filename>/bin/sh</filename>; should any "
@@ -8863,11 +8871,20 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "The APT preferences file <filename>/etc/apt/preferences</filename> and "
+#| "the fragment files in the <filename>/etc/apt/preferences.d/</filename> "
+#| "folder can be used to control which versions of packages will be selected "
+#| "for installation."
msgid ""
-"The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used "
-"to store login information in a netrc-like format with restrictive file "
-"permissions."
+"The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf "
+"files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store "
+"login information in a netrc-like format with restrictive file permissions."
msgstr ""
+"Plik preferencji APT <filename>/etc/apt/preferences</filename> i pliki "
+"częściowe w katalogu <filename>/etc/apt/preferences.d/</filename> są używane "
+"do określania wersji pakietów wybieranych do instalacji."
#. type: Content of: <refentry><refsect1><title>
#: apt_auth.conf.5.xml
@@ -9039,6 +9056,27 @@ msgstr ""
"Wyświetla pełne wersje aktualizowanych pakietów Pozycja w pliku "
"konfiguracyjnym: <literal>APT::Get::Show-Versions</literal>."
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid "<filename>/etc/apt/trustdb.gpg</filename>"
+msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>"
+msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
+
+#
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "Show full versions for upgraded and installed packages. Configuration "
+#| "Item: <literal>APT::Get::Show-Versions</literal>."
+msgid ""
+"Login information for APT sources and proxies in a netrc-like format. "
+"Configuration Item: <literal>Dir::Etc::netrcparts</literal>."
+msgstr ""
+"Wyświetla pełne wersje aktualizowanych pakietów Pozycja w pliku "
+"konfiguracyjnym: <literal>APT::Get::Show-Versions</literal>."
+
#
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
diff --git a/doc/po/pt.po b/doc/po/pt.po
index fd0dd3059..4e29015a9 100644
--- a/doc/po/pt.po
+++ b/doc/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 1.0.7\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-11-12 11:52+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2014-08-29 00:34+0100\n"
"Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n"
"Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -5421,6 +5421,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml
msgid ""
+"This is a string that defines the <envar>PATH</envar> environment variable "
+"used when running dpkg. It may be set to any valid value of that environment "
+"variable; or the empty string, in which case the variable is not changed."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml
+msgid ""
"This is a list of shell commands to run before/after invoking &dpkg;. Like "
"<literal>options</literal> this must be specified in list notation. The "
"commands are invoked in order using <filename>/bin/sh</filename>; should any "
@@ -9567,11 +9575,21 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "The APT preferences file <filename>/etc/apt/preferences</filename> and "
+#| "the fragment files in the <filename>/etc/apt/preferences.d/</filename> "
+#| "folder can be used to control which versions of packages will be selected "
+#| "for installation."
msgid ""
-"The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used "
-"to store login information in a netrc-like format with restrictive file "
-"permissions."
+"The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf "
+"files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store "
+"login information in a netrc-like format with restrictive file permissions."
msgstr ""
+"O ficheiro de preferências do APT <filename>/etc/apt/preferences</filename> "
+"e os ficheiros fragmentados no directório <filename>/etc/apt/preferences.d/</"
+"filename> podem ser usados para controlar quais as versões de pacotes irão "
+"ser seleccionadas para instalação."
#. type: Content of: <refentry><refsect1><title>
#: apt_auth.conf.5.xml
@@ -9742,6 +9760,26 @@ msgstr ""
"Mostra as versões completas para pacotes actualizados e instalados. Item de "
"Configuração: <literal>APT::Get::Show-Versions</literal>."
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid "<filename>/etc/apt/trustdb.gpg</filename>"
+msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>"
+msgstr "<filename>/etc/apt/trustdb.gpg</filename>"
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt_auth.conf.5.xml
+#, fuzzy
+#| msgid ""
+#| "Show full versions for upgraded and installed packages. Configuration "
+#| "Item: <literal>APT::Get::Show-Versions</literal>."
+msgid ""
+"Login information for APT sources and proxies in a netrc-like format. "
+"Configuration Item: <literal>Dir::Etc::netrcparts</literal>."
+msgstr ""
+"Mostra as versões completas para pacotes actualizados e instalados. Item de "
+"Configuração: <literal>APT::Get::Show-Versions</literal>."
+
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
#, fuzzy
diff --git a/doc/po/pt_BR.po b/doc/po/pt_BR.po
index 6efd0e391..707bb66ae 100644
--- a/doc/po/pt_BR.po
+++ b/doc/po/pt_BR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-11-12 11:52+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2004-09-20 17:02+0000\n"
"Last-Translator: André Luís Lopes <andrelop@debian.org>\n"
"Language-Team: <debian-l10n-portuguese@lists.debian.org>\n"
@@ -3776,6 +3776,14 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt.conf.5.xml
msgid ""
+"This is a string that defines the <envar>PATH</envar> environment variable "
+"used when running dpkg. It may be set to any valid value of that environment "
+"variable; or the empty string, in which case the variable is not changed."
+msgstr ""
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt.conf.5.xml
+msgid ""
"This is a list of shell commands to run before/after invoking &dpkg;. Like "
"<literal>options</literal> this must be specified in list notation. The "
"commands are invoked in order using <filename>/bin/sh</filename>; should any "
@@ -7201,11 +7209,15 @@ msgstr ""
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
+#, fuzzy
msgid ""
-"The APT auth.conf file <filename>/etc/apt/auth.conf</filename> can be used "
-"to store login information in a netrc-like format with restrictive file "
-"permissions."
+"The APT auth.conf file <filename>/etc/apt/auth.conf</filename>, and .conf "
+"files inside <filename>/etc/apt/auth.conf.d</filename> can be used to store "
+"login information in a netrc-like format with restrictive file permissions."
msgstr ""
+"O arquivo de preferências do APT <filename>/etc/apt/preferences</filename> "
+"pode ser usado para controlar quais versões de pacotes serão selecionadas "
+"para instalação."
#. type: Content of: <refentry><refsect1><title>
#: apt_auth.conf.5.xml
@@ -7367,6 +7379,19 @@ msgid ""
"Configuration Item: <literal>Dir::Etc::netrc</literal>."
msgstr ""
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
+#: apt_auth.conf.5.xml
+#, fuzzy
+msgid "<filename>/etc/apt/auth.conf.d/*.conf</filename>"
+msgstr "<filename>/etc/apt.conf</>"
+
+#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
+#: apt_auth.conf.5.xml
+msgid ""
+"Login information for APT sources and proxies in a netrc-like format. "
+"Configuration Item: <literal>Dir::Etc::netrcparts</literal>."
+msgstr ""
+
#. type: Content of: <refentry><refsect1><para>
#: apt_auth.conf.5.xml
#, fuzzy
diff --git a/methods/aptmethod.h b/methods/aptmethod.h
index cb5a30e21..f6613ac3b 100644
--- a/methods/aptmethod.h
+++ b/methods/aptmethod.h
@@ -11,6 +11,7 @@
#include <algorithm>
#include <locale>
+#include <memory>
#include <string>
#include <vector>
@@ -471,8 +472,9 @@ protected:
};
class aptAuthConfMethod : public aptMethod
{
- FileFd authconf;
-public:
+ std::vector<std::unique_ptr<FileFd>> authconfs;
+
+ public:
virtual bool Configuration(std::string Message) APT_OVERRIDE
{
if (pkgAcqMethod::Configuration(Message) == false)
@@ -481,14 +483,25 @@ public:
std::string const conf = std::string("Binary::") + Binary;
_config->MoveSubTree(conf.c_str(), NULL);
+ // ignore errors with opening the auth file as it doesn't need to exist
+ _error->PushToStack();
auto const netrc = _config->FindFile("Dir::Etc::netrc");
if (netrc.empty() == false)
{
- // ignore errors with opening the auth file as it doesn't need to exist
- _error->PushToStack();
- authconf.Open(netrc, FileFd::ReadOnly);
- _error->RevertToStack();
+ authconfs.emplace_back(new FileFd());
+ authconfs.back()->Open(netrc, FileFd::ReadOnly);
+ }
+
+ auto const netrcparts = _config->FindDir("Dir::Etc::netrcparts");
+ if (netrcparts.empty() == false)
+ {
+ for (auto const &netrc : GetListOfFilesInDir(netrcparts, "conf", true, true))
+ {
+ authconfs.emplace_back(new FileFd());
+ authconfs.back()->Open(netrc, FileFd::ReadOnly);
+ }
}
+ _error->RevertToStack();
DropPrivsOrDie();
@@ -500,13 +513,25 @@ public:
bool MaybeAddAuthTo(URI &uri)
{
+ bool result = true;
+
if (uri.User.empty() == false || uri.Password.empty() == false)
return true;
- if (authconf.IsOpen() == false)
- return true;
- if (authconf.Seek(0) == false)
- return false;
- return MaybeAddAuth(authconf, uri);
+
+ for (auto &authconf : authconfs)
+ {
+ if (authconf->IsOpen() == false)
+ continue;
+ if (authconf->Seek(0) == false)
+ {
+ result = false;
+ continue;
+ }
+
+ result &= MaybeAddAuth(*authconf, uri);
+ }
+
+ return result;
}
aptAuthConfMethod(std::string &&Binary, char const *const Ver, unsigned long const Flags) APT_NONNULL(3)
diff --git a/methods/cdrom.cc b/methods/cdrom.cc
index d8c032744..77270b09f 100644
--- a/methods/cdrom.cc
+++ b/methods/cdrom.cc
@@ -96,7 +96,7 @@ string CDROMMethod::GetID(string Name)
/*}}}*/
// CDROMMethod::AutoDetectAndMount /*{{{*/
// ---------------------------------------------------------------------
-/* Modifies class varaiable CDROM to the mountpoint */
+/* Modifies class variable CDROM to the mountpoint */
bool CDROMMethod::AutoDetectAndMount(const URI Get, string &NewID)
{
vector<struct CdromDevice> v = UdevCdroms.Scan();
diff --git a/methods/http.cc b/methods/http.cc
index 2e7fca307..d75e9fe84 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -974,6 +974,10 @@ void HttpMethod::SendReq(FetchItem *Itm)
Req << "User-Agent: " << ConfigFind("User-Agent",
"Debian APT-HTTP/1.3 (" PACKAGE_VERSION ")") << "\r\n";
+ auto const referer = ConfigFind("Referer", "");
+ if (referer.empty() == false)
+ Req << "Referer: " << referer << "\r\n";
+
Req << "\r\n";
if (Debug == true)
diff --git a/po/apt-all.pot b/po/apt-all.pot
index fb7916d47..84a22e321 100644
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: apt 1.8.0~alpha2\n"
+"Project-Id-Version: apt 1.8.0~alpha3\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-11-13 10:31+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1726,8 +1726,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr ""
@@ -2408,7 +2408,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
+#, c-format
+msgid "%s does not take any arguments"
msgstr ""
#: cmdline/apt-cache.cc
diff --git a/po/ar.po b/po/ar.po
index 42092ba65..73df37b58 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\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"
@@ -1746,8 +1746,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "لم يُعثر على أية حزم"
@@ -2445,8 +2445,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "لا يقبل الأمر update أية مُعطيات"
#: cmdline/apt-cache.cc
diff --git a/po/ast.po b/po/ast.po
index 2826adf15..cdd964e14 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.18\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2010-10-02 23:35+0100\n"
"Last-Translator: Iñigo Varela <ivarela@softastur.org>\n"
"Language-Team: Asturian (ast)\n"
@@ -1800,8 +1800,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Nun s'alcontraron paquetes"
@@ -2524,8 +2524,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "La orde update nun lleva argumentos"
#: cmdline/apt-cache.cc
diff --git a/po/bg.po b/po/bg.po
index 844ed2824..fedc7fc93 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.7.21\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2012-06-25 17:23+0300\n"
"Last-Translator: Damyan Ivanov <dmn@debian.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -1841,8 +1841,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Няма намерени пакети"
@@ -2571,8 +2571,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Командата „update“ не възприема аргументи"
#: cmdline/apt-cache.cc
diff --git a/po/bs.po b/po/bs.po
index 21aa04d98..7c9d1db39 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.26\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2004-05-06 15:25+0100\n"
"Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
"Language-Team: Bosnian <lokal@lugbih.org>\n"
@@ -1738,8 +1738,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Paketi nisu pronađeni"
@@ -2427,7 +2427,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
+#, c-format
+msgid "%s does not take any arguments"
msgstr ""
#: cmdline/apt-cache.cc
diff --git a/po/ca.po b/po/ca.po
index f887179ed..41fb9f23d 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.4~beta1\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2016-12-05 21:09+0100\n"
"Last-Translator: Oriol Debian <oriol.debian@gmail.com>\n"
"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
@@ -1883,8 +1883,8 @@ msgstr ""
"--force-yes està en desús, en el seu lloc utilitzi una de les opcions que "
"comencen per --allow."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "No s'han trobat paquets"
@@ -2629,8 +2629,9 @@ msgid "All packages are up to date."
msgstr "Tots els paquets estan actualitzats."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "apt-cache stats no pren cap argument"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "%s no pren cap argument"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/cs.po b/po/cs.po
index 59ebe2de0..a1893aba0 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.4.2\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2017-05-06 11:08+0200\n"
"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -1825,8 +1825,8 @@ msgid ""
msgstr ""
"--force-yes je zastaralé, použijte některou z voleb začínajících --allow."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Nebyly nalezeny žádné balíky"
@@ -2558,8 +2558,9 @@ msgid "All packages are up to date."
msgstr "Všechny balíky jsou aktuální."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "apt-cache stats neakceptuje žádné argumenty"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "%s neakceptuje žádné argumenty"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/cy.po b/po/cy.po
index 42616c841..ed6d074cd 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2005-06-06 13:46+0100\n"
"Last-Translator: Dafydd Harries <daf@muse.19inch.net>\n"
"Language-Team: Welsh <cy@pengwyn.linux.org.uk>\n"
@@ -1798,8 +1798,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Canfuwyd dim pecyn"
@@ -2516,8 +2516,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Nid yw'r gorchymyn diweddaru yn derbyn ymresymiadau"
#: cmdline/apt-cache.cc
diff --git a/po/da.po b/po/da.po
index f0ab3cfcc..3d963a3fc 100644
--- a/po/da.po
+++ b/po/da.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.4~rc2\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2017-03-02 23:51+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
@@ -1842,8 +1842,8 @@ msgstr ""
"--force-yes er forældet, brug i stedet for et af tilvalgene startende med --"
"allow"
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Fandt ingen pakker"
@@ -2576,8 +2576,9 @@ msgid "All packages are up to date."
msgstr "Alle pakker er opdateret."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "»apt-cache stats« benytter ingen parametre"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "»%s« benytter ingen parametre"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/de.po b/po/de.po
index 70a3e8562..db6e6f4c6 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.6\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2018-01-11 21:11+0100\n"
"Last-Translator: Holger Wansing <linux@wansing-online.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
@@ -1911,8 +1911,8 @@ msgstr ""
"--force-yes ist veraltet, verwenden Sie stattdessen eine der Optionen, die "
"mit --allow beginnen."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Keine Pakete gefunden"
@@ -2676,8 +2676,9 @@ msgid "All packages are up to date."
msgstr "Alle Pakete sind aktuell."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "Der Befehl »apt-cache stats« akzeptiert keine Argumente."
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "Der Befehl »%s« akzeptiert keine Argumente."
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/dz.po b/po/dz.po
index 82f7ee867..6573db5aa 100644
--- a/po/dz.po
+++ b/po/dz.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2006-09-19 09:49+0530\n"
"Last-Translator: Kinley Tshering <gasepkuenden2k3@hotmail.com>\n"
"Language-Team: Dzongkha <pgeyleg@dit.gov.bt>\n"
@@ -1767,8 +1767,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "ཐུམ་སྒྲིལ་ཚུ་མ་ཐོབ།"
@@ -2480,8 +2480,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "དུས་མཐུན་བཟོ་བའི་བརྡ་བཀོད་འདི་གིས་སྒྲུབ་རྟགས་ཚུ་མི་འབག་འབད།"
#: cmdline/apt-cache.cc
diff --git a/po/el.po b/po/el.po
index c73a46c4b..338b86844 100644
--- a/po/el.po
+++ b/po/el.po
@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2008-08-26 18:25+0300\n"
"Last-Translator: Θανάσης Νάτσης <natsisthanasis@gmail.com>\n"
"Language-Team: Greek <debian-l10n-greek@lists.debian.org>\n"
@@ -1788,8 +1788,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Δε βρέθηκαν πακέτα"
@@ -2507,8 +2507,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Η εντολή update δεν παίρνει ορίσματα"
#: cmdline/apt-cache.cc
diff --git a/po/es.po b/po/es.po
index bac953f49..d828b5b73 100644
--- a/po/es.po
+++ b/po/es.po
@@ -34,7 +34,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.8.10\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2016-01-26 01:51+0100\n"
"Last-Translator: Manuel \"Venturi\" Porras Peralta <venturi@openmailbox."
"org>\n"
@@ -1949,8 +1949,8 @@ msgstr ""
"--force-yes está desactualizado, en su lugar utilice una de las opciones que "
"empiezan por --allow."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "No se encontró ningún paquete"
@@ -2691,8 +2691,9 @@ msgid "All packages are up to date."
msgstr "Todos los paquetes están actualizados."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "«apt-cache stats» no necesita argumentos"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "«%s» no necesita argumentos"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/eu.po b/po/eu.po
index 01ebb307b..eb70279f3 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2009-05-17 00:41+0200\n"
"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
"Language-Team: Euskara <debian-l10n-basque@lists.debian.org>\n"
@@ -1766,8 +1766,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Ez da paketerik aurkitu"
@@ -2484,8 +2484,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Eguneratzeko komandoak ez du argumenturik hartzen"
#: cmdline/apt-cache.cc
diff --git a/po/fi.po b/po/fi.po
index c75c30837..2476d6f8f 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.26\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2008-12-11 14:52+0200\n"
"Last-Translator: Tapio Lehtonen <tale@debian.org>\n"
"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
@@ -1761,8 +1761,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Yhtään pakettia ei löytynyt"
@@ -2476,8 +2476,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Komento update ei käytä parametreja"
#: cmdline/apt-cache.cc
diff --git a/po/fr.po b/po/fr.po
index 55a36ae56..396d9ed2b 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2018-01-02 15:09+0100\n"
"Last-Translator: Julien Patriarca <leatherface@debian.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -1920,8 +1920,8 @@ msgstr ""
"--force-yes est obsolète, veuillez plutôt utiliser l'une des options "
"commençant par --allow."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Aucun paquet n'a été trouvé"
@@ -2687,7 +2687,9 @@ msgid "All packages are up to date."
msgstr "Tous les paquets sont à jour."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+#| msgid "%s does not take any arguments"
+msgid "%s does not take any arguments"
msgstr "La commande apt-cache ne prend pas de paramètre"
#: cmdline/apt-cache.cc
diff --git a/po/gl.po b/po/gl.po
index 51da79a1c..42242f41f 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2011-05-12 15:28+0100\n"
"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>\n"
"Language-Team: galician <proxecto@trasno.net>\n"
@@ -1824,8 +1824,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Non se atopou ningún paquete"
@@ -2556,8 +2556,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "A orde «update» non toma argumentos"
#: cmdline/apt-cache.cc
diff --git a/po/hu.po b/po/hu.po
index 06c3ae2a6..8ea1f6151 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2016-04-10 19:46+0200\n"
"Last-Translator: Gabor Kelemen <kelemeng@ubuntu.com>\n"
"Language-Team: Hungarian <gnome-hu-list@gnome.org>\n"
@@ -1870,8 +1870,8 @@ msgid ""
"instead."
msgstr "a --force-yes elavult, használja a --allow kezdetű kapcsolók egyikét."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Nem találhatók csomagok"
@@ -2606,8 +2606,9 @@ msgid "All packages are up to date."
msgstr "Minden csomag naprakész."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "Az apt-cache stats parancsnak nincsenek argumentumai"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "Az %s parancsnak nincsenek argumentumai"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/it.po b/po/it.po
index f68973e18..fc28b3111 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,15 +1,15 @@
# Italian translation of apt
-# Copyright (C) 2002-2010, 2011, 2012, 2013, 2014, 2015, 2017 The Free Software Foundation, Inc.
+# Copyright (C) 2002-2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018 The Free Software Foundation, Inc.
# This file is distributed under the same license as the apt package.
# Samuele Giovanni Tonon <samu@debian.org>, 2002.
-# Milo Casagrande <milo@milo.name>, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017.
+# Milo Casagrande <milo@milo.name>, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018.
#
msgid ""
msgstr ""
-"Project-Id-Version: apt 1.6~alpha5\n"
+"Project-Id-Version: apt\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
-"PO-Revision-Date: 2017-11-27 13:57+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
+"PO-Revision-Date: 2018-12-04 09:33+0100\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"X-Generator: Poedit 2.0.4\n"
+"X-Generator: Poedit 2.1.1\n"
#: apt-inst/contrib/arfile.cc
msgid "Invalid archive signature"
@@ -357,16 +357,13 @@ msgstr ""
#. the time until the file will be valid - formatted in the same way as in
#. the download progress display (e.g. 7d 3h 42min 1s)
#: apt-pkg/acquire-item.cc
-#, fuzzy, c-format
-#| msgid ""
-#| "Release file for %s is expired (invalid since %s). Updates for this "
-#| "repository will not be applied."
+#, c-format
msgid ""
"Release file for %s is not valid yet (invalid for another %s). Updates for "
"this repository will not be applied."
msgstr ""
-"Il file Release per %s è scaduto (non valido dal %s). Gli aggiornamenti per "
-"questo repository non verranno applicati."
+"Il file Release per %s non è ancora valido (non valido per %s). Gli "
+"aggiornamenti per questo repository non verranno applicati."
#: apt-pkg/acquire-item.cc
#, c-format
@@ -1154,23 +1151,19 @@ msgid "Unable to parse package file %s (%d)"
msgstr "Impossibile analizzare il file di pacchetto %s (%d)"
#: apt-pkg/deb/debsystem.cc
-#, fuzzy, c-format
-#| msgid ""
-#| "Unable to lock the administration directory (%s), is another process "
-#| "using it?"
+#, c-format
msgid ""
"Unable to acquire the dpkg frontend lock (%s), is another process using it?"
msgstr ""
-"Impossibile acquisire il blocco sulla directory di amministrazione (%s). Un "
-"altro processo potrebbe tenerla occupata."
+"Impossibile acquisire il blocco sul frontend dpkg (%s). Un altro processo "
+"potrebbe tenerlo occupato."
#: apt-pkg/deb/debsystem.cc
-#, fuzzy, c-format
-#| msgid "Unable to lock the administration directory (%s), are you root?"
+#, c-format
msgid "Unable to acquire the dpkg frontend lock (%s), are you root?"
msgstr ""
-"Impossibile acquisire il blocco sulla directory di amministrazione (%s). È "
-"necessario essere root."
+"Impossibile acquisire il blocco sul frontend dpkg (%s). È necessario essere "
+"root."
#. TRANSLATORS: the %s contains the recovery command, usually
#. dpkg --configure -a
@@ -1897,8 +1890,8 @@ msgstr ""
"--force-yes è deprecata, utilizzare una delle opzioni che iniziano con --"
"allow."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Nessun pacchetto trovato"
@@ -2648,8 +2641,9 @@ msgid "All packages are up to date."
msgstr "Tutti i pacchetti sono aggiornati."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "Il comando \"apt-cache stats\" non accetta alcun argomento"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "Il comando \"%s\" non accetta alcun argomento"
#: cmdline/apt-cache.cc
msgid "Total package names: "
@@ -3041,7 +3035,7 @@ msgstr "Attende che il sistema sia online"
#: cmdline/apt-helper.cc
msgid "drop privileges before running given command"
-msgstr ""
+msgstr "Rilascia i privilegi prima di eseguire il comando fornito"
#: cmdline/apt-internal-planner.cc
msgid ""
@@ -3691,10 +3685,9 @@ msgid "[IP: %s %s]"
msgstr "[IP: %s %s]"
#: methods/connect.cc
-#, fuzzy, c-format
-#| msgid "Connecting to %s (%s)"
+#, c-format
msgid "Connected to %s (%s)"
-msgstr "Connessione a %s (%s)"
+msgstr "Connessi a %s (%s)"
#: methods/connect.cc methods/http.cc
#, c-format
@@ -3995,28 +3988,3 @@ msgstr "Connessione chiusa prematuramente"
#: methods/store.cc
msgid "Empty files can't be valid archives"
msgstr "File vuoti non possono essere archivi validi"
-
-#~ msgid "Removed %s"
-#~ msgstr "Pacchetto %s rimosso"
-
-#~ msgid "Package file %s is out of sync."
-#~ msgstr "Il file dei pacchetti %s non è sincronizzato."
-
-#~ msgid "No mirror file '%s' found "
-#~ msgstr "Nessun file mirror \"%s\" trovato "
-
-#~ msgid "Can not read mirror file '%s'"
-#~ msgstr "Impossibile leggere il file mirror \"%s\""
-
-#~ msgid "No entry found in mirror file '%s'"
-#~ msgstr "Nessuna voce trovata nel file mirror \"%s\""
-
-#~ msgid "[Mirror: %s]"
-#~ msgstr "[Mirror: %s]"
-
-# (ndt) sarebbe da controllare se veramente possono esistere più file indice
-#~ msgid ""
-#~ "The package index files are corrupted. No Filename: field for package %s."
-#~ msgstr ""
-#~ "I file indice del pacchetto sono danneggiati. Manca il campo \"Filename:"
-#~ "\" per il pacchetto %s."
diff --git a/po/ja.po b/po/ja.po
index 53b65d787..8ba4df794 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.4\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2017-01-06 04:50+0900\n"
"Last-Translator: Takuma Yamada <tyamada@takumayamada.com>\n"
"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
@@ -1866,8 +1866,8 @@ msgstr ""
"--force-yes は時代遅れです、代わりに --allow で始まるオプションのいずれかを使"
"用します。"
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "パッケージが見つかりません"
@@ -2594,8 +2594,9 @@ msgid "All packages are up to date."
msgstr "パッケージはすべて最新です。"
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "apt-cache stats は引数をとりません"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "%s は引数をとりません"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/km.po b/po/km.po
index bd4622e0f..ace0cbe10 100644
--- a/po/km.po
+++ b/po/km.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2006-10-10 09:48+0700\n"
"Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
"Language-Team: Khmer <support@khmeros.info>\n"
@@ -1762,8 +1762,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "រក​កញ្ចប់​មិន​ឃើញ"
@@ -2467,8 +2467,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "ពាក្យ​បញ្ជា​ដែលធ្វើ​ឲ្យ​ទាន់​សម័យ​គ្មាន​អាគុយម៉ង់​ទេ"
#: cmdline/apt-cache.cc
diff --git a/po/ko.po b/po/ko.po
index 3727b50c6..04b77dde0 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2010-08-30 02:31+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: Korean <debian-l10n-korean@lists.debian.org>\n"
@@ -1780,8 +1780,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "패키지가 없습니다"
@@ -2491,8 +2491,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "update 명령은 인수를 받지 않습니다"
#: cmdline/apt-cache.cc
diff --git a/po/ku.po b/po/ku.po
index b745f2db1..18e2bce96 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2008-05-08 12:48+0200\n"
"Last-Translator: Erdal Ronahi <erdal.ronahi@gmail.com>\n"
"Language-Team: ku <ubuntu-l10n-kur@lists.ubuntu.com>\n"
@@ -1738,8 +1738,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Pakêt nayên dîtin"
@@ -2427,7 +2427,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
+#, c-format
+msgid "%s does not take any arguments"
msgstr ""
#: cmdline/apt-cache.cc
diff --git a/po/lt.po b/po/lt.po
index c1d57b722..75add9735 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2008-08-02 01:47-0400\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -1754,8 +1754,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Paketų nerasta"
@@ -2457,8 +2457,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Atnaujinimo komandai argumentų nereikia"
#: cmdline/apt-cache.cc
diff --git a/po/mr.po b/po/mr.po
index 884a28e00..929e07352 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2008-11-20 23:27+0530\n"
"Last-Translator: Sampada <sampadanakhare@gmail.com>\n"
"Language-Team: Marathi, janabhaaratii, C-DAC, Mumbai, India "
@@ -1763,8 +1763,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "पॅकेजेस सापडले नाहीत"
@@ -2470,8 +2470,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "सुधारित आवृत्तीचा विधान आर्ग्युमेंटस घेऊ शकत नाही."
#: cmdline/apt-cache.cc
diff --git a/po/nb.po b/po/nb.po
index adb8833eb..70c4afa0d 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2018-10-30 20:53+0100\n"
"Last-Translator: Petter Reinholdtsen <pere@hungry.com>\n"
"Language-Team: Norwegian Bokmål <i18n-no@lister.ping.uio.no>\n"
@@ -212,8 +212,8 @@ msgid ""
"See apt-secure(8) manpage for repository creation and user configuration "
"details."
msgstr ""
-"Se manualsiden apt-secure(8) for detaljer om oppretting av depote "
-"og brukeroppsett."
+"Se manualsiden apt-secure(8) for detaljer om oppretting av depote og "
+"brukeroppsett."
#: apt-pkg/acquire-item.cc
#, fuzzy, c-format
@@ -258,8 +258,8 @@ msgstr "Hashsummen stemmer ikke"
#: apt-pkg/acquire-item.cc
msgid "Insufficient information available to perform this download securely"
msgstr ""
-"Utilstrekkelig informasjon tilgjengelig for å utføre denne nedlastingen på"
-" sikkert vis."
+"Utilstrekkelig informasjon tilgjengelig for å utføre denne nedlastingen på "
+"sikkert vis."
#: apt-pkg/acquire-item.cc apt-pkg/contrib/fileutl.cc
#, c-format
@@ -381,8 +381,8 @@ msgid ""
"This must be accepted explicitly before updates for this repository can be "
"applied. See %s manpage for details."
msgstr ""
-"Dette må eksplisitt aksepteres før oppdateringer fra dette depoet kan "
-"tas i bruk. Se manualsiden %s for detaljer."
+"Dette må eksplisitt aksepteres før oppdateringer fra dette depoet kan tas i "
+"bruk. Se manualsiden %s for detaljer."
#: apt-pkg/acquire-item.cc apt-pkg/update.cc apt-private/private-download.cc
#, c-format
@@ -1810,8 +1810,8 @@ msgid ""
msgstr ""
"--force-yes er utdatert, bruk en av valgene som starter med --allow istedet."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Fant ingen pakker"
@@ -2544,8 +2544,8 @@ msgid "All packages are up to date."
msgstr "Alle pakkene er oppdatert."
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Oppdaterings-kommandoen tar ingen argumenter"
#: cmdline/apt-cache.cc
diff --git a/po/ne.po b/po/ne.po
index c999294dd..565c11719 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2006-06-12 14:35+0545\n"
"Last-Translator: Shiva Pokharel <pokharelshiva@hotmail.com>\n"
"Language-Team: Nepali <info@mpp.org.np>\n"
@@ -1759,8 +1759,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "कुनै प्याकेजहरू फेला परेन"
@@ -2465,8 +2465,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "अद्यावधिक आदेशले कुनै तर्कहरू लिदैन"
#: cmdline/apt-cache.cc
diff --git a/po/nl.po b/po/nl.po
index f56ceeb03..d3ba448fc 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.7.0\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-10-30 22:05+0100\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2018-10-09 16:26+0200\n"
"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
"Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n"
@@ -1890,8 +1890,8 @@ msgstr ""
"--force-yes is verouderd, gebruik in plaats daarvan een van de opties die "
"met --allow begint."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Geen pakketten gevonden"
@@ -2637,8 +2637,9 @@ msgid "All packages are up to date."
msgstr "Alle pakketten zijn up-to-date."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "De opdracht 'apt-cache stats' aanvaardt geen argumenten"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "De opdracht '%s' aanvaardt geen argumenten"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/nn.po b/po/nn.po
index e115a7b9b..c5bd2bbac 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2005-02-14 23:30+0100\n"
"Last-Translator: Havard Korsvoll <korsvoll@skulelinux.no>\n"
"Language-Team: Norwegian nynorsk <i18n-nn@lister.ping.uio.no>\n"
@@ -1768,8 +1768,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Fann ingen pakkar"
@@ -2478,8 +2478,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Oppdateringskommandoen tek ingen argument"
#: cmdline/apt-cache.cc
diff --git a/po/pl.po b/po/pl.po
index 8a960b7ee..bd1ed694c 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.9.7.3\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2012-07-28 21:53+0200\n"
"Last-Translator: Michał Kułach <michal.kulach@gmail.com>\n"
"Language-Team: Polish <debian-l10n-polish@lists.debian.org>\n"
@@ -1841,8 +1841,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Nie znaleziono żadnych pakietów"
@@ -2596,8 +2596,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Polecenie update nie wymaga żadnych argumentów"
#: cmdline/apt-cache.cc
diff --git a/po/pt.po b/po/pt.po
index f47907ec9..cfc665a96 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2012-06-29 15:45+0100\n"
"Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
"Language-Team: Portuguese <traduz@debianpt.org>\n"
@@ -1844,8 +1844,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Não foi encontrado nenhum pacote"
@@ -2575,8 +2575,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "O comando update não leva argumentos"
#: cmdline/apt-cache.cc
diff --git a/po/pt_BR.po b/po/pt_BR.po
index d3064616a..66e3b1568 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2008-11-17 02:33-0200\n"
"Last-Translator: Felipe Augusto van de Wiel (faw) <faw@debian.org>\n"
"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
@@ -1774,8 +1774,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Nenhum pacote encontrado"
@@ -2494,8 +2494,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "O comando update não leva argumentos"
#: cmdline/apt-cache.cc
diff --git a/po/ro.po b/po/ro.po
index f3f1ae49b..904481a07 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2008-11-15 02:21+0200\n"
"Last-Translator: Eddy Petrișor <eddy.petrisor@gmail.com>\n"
"Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
@@ -1778,8 +1778,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Nu s-au găsit pachete"
@@ -2503,8 +2503,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Comanda de actualizare nu are argumente"
#: cmdline/apt-cache.cc
diff --git a/po/ru.po b/po/ru.po
index 311284a28..714cb22c8 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -12,10 +12,10 @@
# Lev Lamberov <dogsleg@debian.org>, 2018.
msgid ""
msgstr ""
-"Project-Id-Version: apt 1.6\n"
+"Project-Id-Version: apt 1.8.0\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
-"PO-Revision-Date: 2018-05-14 20:24+0300\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
+"PO-Revision-Date: 2018-10-25 19:03+0300\n"
"Last-Translator: Aleksej Shilin <rootlexx@mail.ru>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
"Language: ru\n"
@@ -1140,23 +1140,19 @@ msgid "Unable to parse package file %s (%d)"
msgstr "Невозможно разобрать содержимое файла пакета %s (%d)"
#: apt-pkg/deb/debsystem.cc
-#, fuzzy, c-format
-#| msgid ""
-#| "Unable to lock the administration directory (%s), is another process "
-#| "using it?"
+#, c-format
msgid ""
"Unable to acquire the dpkg frontend lock (%s), is another process using it?"
msgstr ""
-"Невозможно выполнить блокировку управляющего каталога (%s); он уже "
+"Невозможно получить блокировку внешнего интерфейса dpkg (%s); она уже "
"используется другим процессом?"
#: apt-pkg/deb/debsystem.cc
-#, fuzzy, c-format
-#| msgid "Unable to lock the administration directory (%s), are you root?"
+#, c-format
msgid "Unable to acquire the dpkg frontend lock (%s), are you root?"
msgstr ""
-"Невозможно выполнить блокировку управляющего каталога (%s); у вас есть права "
-"суперпользователя?"
+"Невозможно получить блокировку внешнего интерфейса dpkg (%s); у вас есть "
+"права суперпользователя?"
#. TRANSLATORS: the %s contains the recovery command, usually
#. dpkg --configure -a
@@ -1882,8 +1878,8 @@ msgstr ""
"--force-yes устарел, вместо него используйте параметры, начинающиеся с --"
"allow."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Не найдено ни одного пакета"
@@ -2267,7 +2263,7 @@ msgstr "но %s уже установлен"
#: apt-private/private-output.cc
#, c-format
msgid "but %s is to be installed"
-msgstr "но %s будет установлен"
+msgstr "но %s должен быть установлен"
#: apt-private/private-output.cc
msgid "but it is not installable"
@@ -2629,8 +2625,9 @@ msgid "All packages are up to date."
msgstr "Все пакеты имеют последние версии."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "Команде apt-cache stats не нужны аргументы"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "Команде %s не нужны аргументы"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/sk.po b/po/sk.po
index b1a1c423a..97f794269 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2012-06-28 20:49+0100\n"
"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -1806,8 +1806,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Neboli nájdené žiadne balíky"
@@ -2545,8 +2545,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Príkaz update neprijíma žiadne argumenty"
#: cmdline/apt-cache.cc
diff --git a/po/sl.po b/po/sl.po
index 09834b089..22580f245 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 0.5.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2012-06-27 21:29+0000\n"
"Last-Translator: Andrej Znidarsic <andrej.znidarsic@gmail.com>\n"
"Language-Team: Slovenian <sl@li.org>\n"
@@ -1806,8 +1806,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Noben paket ni bil najden"
@@ -2550,8 +2550,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Ukaz update ne sprejema argumentov"
#: cmdline/apt-cache.cc
diff --git a/po/sv.po b/po/sv.po
index 078721a41..daa2d336e 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2015-08-19 21:33+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <debian-l10n-swedish@debian.org>\n"
@@ -1829,8 +1829,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Inga paket hittades"
@@ -2564,8 +2564,8 @@ msgid "All packages are up to date."
msgstr "Alla paket är uppdaterade."
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Uppdateringskommandot tar inga argument"
#: cmdline/apt-cache.cc
diff --git a/po/th.po b/po/th.po
index 1afef0e63..c31a2dd65 100644
--- a/po/th.po
+++ b/po/th.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2014-12-12 13:00+0700\n"
"Last-Translator: Theppitak Karoonboonyanan <thep@debian.org>\n"
"Language-Team: Thai <thai-l10n@googlegroups.com>\n"
@@ -1775,8 +1775,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "ไม่พบแพกเกจ"
@@ -2479,8 +2479,8 @@ msgid "All packages are up to date."
msgstr "ปรับรุ่นทุกแพกเกจเป็นรุ่นล่าสุดแล้ว"
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "คำสั่ง update ไม่รับอาร์กิวเมนต์เพิ่ม"
#: cmdline/apt-cache.cc
diff --git a/po/tl.po b/po/tl.po
index 732c42b74..a50de95a6 100644
--- a/po/tl.po
+++ b/po/tl.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2007-03-29 21:36+0800\n"
"Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
"Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
@@ -1782,8 +1782,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Walang nahanap na mga pakete"
@@ -2494,8 +2494,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Ang utos na update ay hindi tumatanggap ng mga argumento"
#: cmdline/apt-cache.cc
diff --git a/po/tr.po b/po/tr.po
index 27d289b2d..68a997f5e 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2018-01-03 16:32+0300\n"
"Last-Translator: Mert Dirik <mertdirik@gmail.com>\n"
"Language-Team: Debian l10n Turkish <debian-l10n-turkish@lists.debian.org>\n"
@@ -1858,8 +1858,8 @@ msgstr ""
"--force-yes seçeneği kullanımdan kaldırılmıştır, bunun yerine --allow ile "
"başlayan seçeneklerden birini kullanabilirsiniz."
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Hiç paket bulunamadı"
@@ -2598,8 +2598,9 @@ msgid "All packages are up to date."
msgstr "Tüm paketler güncel."
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "apt-cache stats komutu argüman almaz"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "%s komutu argüman almaz"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/uk.po b/po/uk.po
index 861f5b9bd..b5a968df9 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.5\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2012-09-25 20:19+0300\n"
"Last-Translator: A. Bondarenko <artem.brz@gmail.com>\n"
"Language-Team: Українська <uk@li.org>\n"
@@ -1842,8 +1842,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Не знайдено жодного пакунка"
@@ -2582,8 +2582,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Команді update не потрібні аргументи"
#: cmdline/apt-cache.cc
diff --git a/po/vi.po b/po/vi.po
index 916b4b47f..316333913 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.0.8\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2014-09-12 13:48+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -1819,8 +1819,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "Không tìm thấy gói"
@@ -2536,8 +2536,8 @@ msgid "All packages are up to date."
msgstr "Mọi gói đã được cập nhật."
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "Lệnh cập nhật không chấp nhận đối số"
#: cmdline/apt-cache.cc
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 82a407b91..07eca117d 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -4,15 +4,15 @@
# Tchaikov <tchaikov@sjtu.org>, 2005, 2007.
# Carlos Z.F. Liu <carlosliu@users.sourceforge.net>, 2004, 2006.
# Aron Xu <happyaron.xu@gmail.com>, 2009, 2010.
-# Mo Zhou <cdluminate@gmail.com>, 2014, 2015, 2016, 2017.
+# Mo Zhou <cdluminate@gmail.com>, 2014, 2015, 2016, 2017, 2019.
# Boyuan Yang <073plan@gmail.com>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: apt 1.7.x\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
-"PO-Revision-Date: 2018-07-13 18:16+0800\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
+"PO-Revision-Date: 2019-01-12 00:00+0000\n"
"Last-Translator: Mo Zhou <cdluminate@gmail.com>\n"
"Language-Team: Chinese (simplified) <debian-l10n-chinese@lists.debian.org>\n"
"Language: zh_CN\n"
@@ -1080,19 +1080,15 @@ msgid "Unable to parse package file %s (%d)"
msgstr "无法解析软件包文件 %s (%d)"
#: apt-pkg/deb/debsystem.cc
-#, fuzzy, c-format
-#| msgid ""
-#| "Unable to lock the administration directory (%s), is another process "
-#| "using it?"
+#, c-format
msgid ""
"Unable to acquire the dpkg frontend lock (%s), is another process using it?"
-msgstr "无法锁定管理目录(%s),是否有其他进程正占用它?"
+msgstr "无法获取 dpkg 前端锁 (%s),是否有其他进程正占用它?"
#: apt-pkg/deb/debsystem.cc
-#, fuzzy, c-format
-#| msgid "Unable to lock the administration directory (%s), are you root?"
+#, c-format
msgid "Unable to acquire the dpkg frontend lock (%s), are you root?"
-msgstr "无法对状态列表目录加锁(%s),请查看您是否正以 root 用户运行?"
+msgstr "无法获取 dpkg 前端锁 (%s),请查看您是否正以 root 用户运行?"
#. TRANSLATORS: the %s contains the recovery command, usually
#. dpkg --configure -a
@@ -1778,8 +1774,8 @@ msgid ""
"instead."
msgstr "--force-yes 已经被废弃,请使用以 --allow 开头的选项来代替。"
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "没有发现匹配的软件包"
@@ -2444,10 +2440,9 @@ msgid "Failed to parse %s. Edit again? "
msgstr "解析 %s 失败。请重新编辑之后再试。"
#: apt-private/private-sources.cc
-#, fuzzy, c-format
-#| msgid "Your '%s' file changed, please run 'apt-get update'."
+#, c-format
msgid "Your '%s' file changed, please run 'apt-get update'.\n"
-msgstr "您的 %s 文件有过改动,请执行 ‘apt-get update’。"
+msgstr "您的 %s 文件有过改动,请执行 ‘apt-get update’。\n"
#: apt-private/private-unmet.cc
#, c-format
@@ -2479,8 +2474,9 @@ msgid "All packages are up to date."
msgstr "所有软件包均为最新。"
#: cmdline/apt-cache.cc
-msgid "apt-cache stats does not take any arguments"
-msgstr "apt-cache stats 命令不需要参数"
+#, c-format
+msgid "%s does not take any arguments"
+msgstr "%s 命令不需要参数"
#: cmdline/apt-cache.cc
msgid "Total package names: "
diff --git a/po/zh_TW.po b/po/zh_TW.po
index d232e1319..d6a08d0ec 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: apt 1.2.X\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2018-09-18 16:15+0200\n"
+"POT-Creation-Date: 2018-12-18 15:02+0100\n"
"PO-Revision-Date: 2009-01-28 10:41+0800\n"
"Last-Translator: Tetralet <tetralet@gmail.com>\n"
"Language-Team: Debian-user in Chinese [Big5] <debian-chinese-big5@lists."
@@ -1753,8 +1753,8 @@ msgid ""
"instead."
msgstr ""
-#: apt-private/private-depends.cc apt-private/private-show.cc
-#: cmdline/apt-mark.cc
+#: apt-private/private-depends.cc apt-private/private-download.cc
+#: apt-private/private-show.cc cmdline/apt-mark.cc
msgid "No packages found"
msgstr "未找到套件"
@@ -2454,8 +2454,8 @@ msgid "All packages are up to date."
msgstr ""
#: cmdline/apt-cache.cc
-#, fuzzy
-msgid "apt-cache stats does not take any arguments"
+#, fuzzy, c-format
+msgid "%s does not take any arguments"
msgstr "update 指令不需任何參數"
#: cmdline/apt-cache.cc
diff --git a/test/integration/framework b/test/integration/framework
index 8ec2e80cf..e7b82c273 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -482,6 +482,9 @@ EOF
unset GREP_OPTIONS POSIXLY_CORRECT
unset http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy
+ # Make dpkg inherit testing path
+ echo 'DPkg::Path "";\n' >> aptconfig.conf
+
# Make gcov shut up
export GCOV_ERROR_FILE=/dev/null
diff --git a/test/integration/test-apt-config b/test/integration/test-apt-config
index f2068b789..12df63de1 100755
--- a/test/integration/test-apt-config
+++ b/test/integration/test-apt-config
@@ -34,3 +34,17 @@ testsuccessequal 'nodoc
stage1' aptconfig dump --no-empty --format='%v%n' APT::Build-Profiles
unset DEB_BUILD_PROFILES
testempty aptconfig dump --no-empty --format='%v%n' APT::Build-Profiles
+
+cat > spaces.conf <<EOF
+Spaces::Test::"Foo Bar" "1 1";
+Spaces::Test2::" Bar Baz " "B B" {
+ A%20B "C C";
+ "B C" "A A";
+};
+EOF
+testsuccessequal 'Spaces::Test "";
+Spaces::Test::Foo%20Bar "1 1";
+Spaces::Test2 "";
+Spaces::Test2::%20Bar%20Baz%20 "B B";
+Spaces::Test2::%20Bar%20Baz%20::A%20B "C C";
+Spaces::Test2::%20Bar%20Baz%20::B%20C "A A";' aptconfig dump -c spaces.conf Spaces::Test Spaces::Test2
diff --git a/test/integration/test-apt-get-autoremove b/test/integration/test-apt-get-autoremove
index 4dba4f164..5546958a0 100755
--- a/test/integration/test-apt-get-autoremove
+++ b/test/integration/test-apt-get-autoremove
@@ -219,5 +219,20 @@ Remv foo-multi2-2 [1]
Remv foo-plus-1 [1]
Remv foo-plus-2 [1]' apt autoremove -s
+
+testsuccessequal 'Reading package lists...
+Building dependency tree...
+Reading state information...
+The following packages will be REMOVED:
+ foo-multi1-1* foo-multi1-2* foo-multi2-1* foo-multi2-2* foo-plus-1*
+ foo-plus-2*
+0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded.
+Purg foo-multi1-1 [1]
+Purg foo-multi1-2 [1]
+Purg foo-multi2-1 [1]
+Purg foo-multi2-2 [1]
+Purg foo-plus-1 [1]
+Purg foo-plus-2 [1]' apt autopurge -s
+
testdpkgstatus 'pi' '1' 'unrelated'
testsuccess apt purge unrelated -y
diff --git a/test/integration/test-apt-get-changelog b/test/integration/test-apt-get-changelog
index 15c3dd50f..9ac9b063a 100755
--- a/test/integration/test-apt-get-changelog
+++ b/test/integration/test-apt-get-changelog
@@ -132,3 +132,8 @@ testfilestats 'dpkg.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAU
head -n 3 dpkg.changelog > dpkg.change
testfileequal 'dpkg.change' "$(apthelper cat-file 'rootdir/usr/share/doc/dpkg/changelog' | head -n 3)"
rm -f dpkg.change dpkg.changelog
+
+# no package specified
+testfailureequal 'E: No packages found' aptget changelog
+testfailureequal 'E: Unable to locate package clclclclc
+E: No packages found' aptget changelog clclclclc
diff --git a/test/integration/test-apt-sources-deb822 b/test/integration/test-apt-sources-deb822
index e2cf4d980..fdf26fe97 100755
--- a/test/integration/test-apt-sources-deb822
+++ b/test/integration/test-apt-sources-deb822
@@ -19,7 +19,7 @@ Types: deb
URIs: http://ftp.debian.org/debian
Suites: stable
Components: main
-Description: summay
+Description: summary
# comments are ignored
and the long part'
diff --git a/test/integration/test-authentication-basic b/test/integration/test-authentication-basic
index 011f205af..211c73e35 100755
--- a/test/integration/test-authentication-basic
+++ b/test/integration/test-authentication-basic
@@ -53,7 +53,8 @@ Conf foo (1 unstable [all])' aptget install foo -s
}
authfile() {
- local AUTHCONF='rootdir/etc/apt/auth.conf'
+ local AUTHCONF="${2:-rootdir/etc/apt/auth.conf}"
+ mkdir -p "$(dirname "$AUTHCONF")"
rm -f "$AUTHCONF"
printf '%s' "$1" > "$AUTHCONF"
chmod 600 "$AUTHCONF"
@@ -85,6 +86,16 @@ machine localhost
login star@irc
password hunter2'
testauthsuccess "$1"
+
+ # delete file, make sure it fails; add auth.conf.d snippet, works again.
+ rm rootdir/etc/apt/auth.conf
+ testauthfailure "$1"
+
+ authfile 'machine localhost
+login star@irc
+password hunter2' rootdir/etc/apt/auth.conf.d/myauth.conf
+ testauthsuccess "$1"
+ rm rootdir/etc/apt/auth.conf.d/myauth.conf
}
msgmsg 'server basic auth'
diff --git a/test/integration/test-dpkg-path b/test/integration/test-dpkg-path
new file mode 100755
index 000000000..b17b59421
--- /dev/null
+++ b/test/integration/test-dpkg-path
@@ -0,0 +1,35 @@
+#!/bin/sh
+set -e
+
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
+
+setupenvironment
+configarchitecture 'native'
+configdpkgnoopchroot
+
+# create a bunch of test pkgs
+createtestpkg() {
+ setupsimplenativepackage "testpkg-$1" 'native' '1.0' 'unstable'
+ BUILDDIR="incoming/testpkg-$1-1.0"
+ echo '#!/bin/sh
+echo PATH=$PATH' > "${BUILDDIR}/debian/preinst"
+ buildpackage "$BUILDDIR" 'unstable' 'main' 'native'
+ rm -rf "$BUILDDIR"
+}
+
+createtestpkg 'one'
+createtestpkg 'two'
+
+setupaptarchive
+
+
+# Inherit from environment
+testsuccess aptget install testpkg-one -y -o DPkg::Path=""
+cp rootdir/tmp/testsuccess.output apt.log
+testsuccess grep "PATH=$PATH" apt.log
+
+# Set a custom value
+testsuccess aptget install testpkg-two -y -o DPkg::Path="foobar:$PATH"
+cp rootdir/tmp/testsuccess.output apt.log
+testsuccess grep "PATH=foobar:$PATH" apt.log
diff --git a/test/integration/test-pdiff-usage b/test/integration/test-pdiff-usage
index 7cda2ee45..c5726dd08 100755
--- a/test/integration/test-pdiff-usage
+++ b/test/integration/test-pdiff-usage
@@ -251,7 +251,13 @@ SHA256-Download:
cp Packages-future aptarchive/Packages
rm -f rootdir/var/lib/apt/lists/*_Contents-*
webserverconfig 'aptwebserver::overwrite::.*Contents-.*::filename' '/hacked-i386.gz'
- testfailure apt update "$@"
+ # This should work in at least 4% of the cases...
+ for i in $(seq 25); do
+ testfailure apt update "$@"
+ if ! grep 'rred:600' rootdir/tmp/testfailure.output; then
+ break
+ fi
+ done
webserverconfig 'aptwebserver::overwrite::.*Contents-.*::filename' '/Contents-i386.gz'
cp rootdir/tmp/testfailure.output patchdownload.output
testfailure grep 'rred:600' patchdownload.output
diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
index 461484f6e..109364d7a 100644
--- a/test/interactive-helper/aptwebserver.cc
+++ b/test/interactive-helper/aptwebserver.cc
@@ -28,8 +28,24 @@
#include <sstream>
#include <string>
#include <thread>
+#include <unordered_map>
#include <vector>
+static std::string HTMLEncode(std::string encode) /*{{{*/
+{
+ constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
+ {{ "&", "&amp;" }},
+ {{ "<", "&lt;" }},
+ {{ ">", "&gt;" }},
+ {{ "\"", "&quot;" }},
+ {{ "'", "&#x27;" }},
+ {{ "/", "&#x2F;" }},
+ }};
+ for (auto &&h: htmlencode)
+ encode = SubstVar(encode, h[0], h[1]);
+ return encode;
+}
+ /*}}}*/
static std::string httpcodeToStr(int const httpcode) /*{{{*/
{
switch (httpcode)
@@ -88,13 +104,29 @@ static std::string httpcodeToStr(int const httpcode) /*{{{*/
return _config->Find(codeconf, code);
}
/*}}}*/
-static bool chunkedTransferEncoding(std::list<std::string> const &headers) {
+static bool chunkedTransferEncoding(std::list<std::string> const &headers)/*{{{*/
+{
if (std::find(headers.begin(), headers.end(), "Transfer-Encoding: chunked") != headers.end())
return true;
if (_config->FindB("aptwebserver::chunked-transfer-encoding", false) == true)
return true;
return false;
}
+ /*}}}*/
+static bool contentTypeSet(std::list<std::string> const &headers) /*{{{*/
+{
+ return std::any_of(headers.begin(), headers.end(), [](std::string const &h) { return APT::String::Startswith(h, "Content-Type:"); });
+}
+ /*}}}*/
+// contentTypeFromExtension /*{{{*/
+static std::string contentTypeFromExtension(std::string const &ext)
+{
+ auto t = _config->Find(std::string("aptwebserver::content-type::by-extension::").append(ext));
+ if (APT::String::Startswith(t, "text/"))
+ return t.append("; charset=utf-8");
+ return t;
+}
+ /*}}}*/
static void addFileHeaders(std::list<std::string> &headers, FileFd &data)/*{{{*/
{
if (chunkedTransferEncoding(headers) == false)
@@ -109,6 +141,20 @@ static void addFileHeaders(std::list<std::string> &headers, FileFd &data)/*{{{*/
lastmodified.append(TimeRFC1123(data.ModificationTime(), false));
headers.push_back(lastmodified);
}
+ if (_config->FindB("aptwebserver::content-type::guess", true) &&
+ data.FileSize() != 0 &&
+ contentTypeSet(headers) == false)
+ {
+ std::string const name = data.Name();
+ std::string ext = flExtension(name);
+ if (name.empty() == false && ext.empty() == false && name != ext)
+ {
+ std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower);
+ auto const type = contentTypeFromExtension(ext);
+ if (type.empty() == false)
+ headers.push_back(std::string("Content-Type: ").append(type));
+ }
+ }
}
/*}}}*/
static void addDataHeaders(std::list<std::string> &headers, std::string &data)/*{{{*/
@@ -219,28 +265,33 @@ static bool sendData(int const client, std::list<std::string> const &headers, st
static void sendError(std::ostream &log, int const client, int const httpcode, std::string const &request,/*{{{*/
bool const content, std::string const &error, std::list<std::string> &headers)
{
+ auto const quotedCode = HTMLEncode(httpcodeToStr(httpcode));
std::string response("<!doctype html><html><head><title>");
- response.append(httpcodeToStr(httpcode)).append("</title><meta charset=\"utf-8\" /></head>");
- response.append("<body><h1>").append(httpcodeToStr(httpcode)).append("</h1>");
+ response.append(quotedCode).append("</title><meta charset=\"utf-8\" /></head>");
+ response.append("<body><h1>").append(quotedCode).append("</h1>");
if (httpcode != 200)
response.append("<p><em>Error</em>: ");
else
response.append("<p><em>Success</em>: ");
if (error.empty() == false)
- response.append(error);
+ response.append(HTMLEncode(error));
else
- response.append(httpcodeToStr(httpcode));
+ response.append(quotedCode);
if (httpcode != 200)
response.append("</p>This error is a result of the request: <pre>");
else
response.append("The successfully executed operation was requested by: <pre>");
- response.append(request).append("</pre></body></html>");
+ response.append(HTMLEncode(request)).append("</pre></body></html>");
if (httpcode != 200)
{
if (_config->FindB("aptwebserver::closeOnError", false) == true)
headers.push_back("Connection: close");
}
addDataHeaders(headers, response);
+
+ if (contentTypeSet(headers) == false)
+ headers.push_back("Content-Type: text/html; charset=utf-8");
+
sendHead(log, client, httpcode, headers);
if (content == true)
sendData(client, headers, response);
@@ -255,12 +306,13 @@ static void sendRedirect(std::ostream &log, int const client, int const httpcode
std::string const &uri, std::string const &request, bool content)
{
std::list<std::string> headers;
+ auto const quotedCode = HTMLEncode(httpcodeToStr(httpcode));
std::string response("<!doctype html><html><head><title>");
- response.append(httpcodeToStr(httpcode)).append("</title><meta charset=\"utf-8\" /></head>");
- response.append("<body><h1>").append(httpcodeToStr(httpcode)).append("</h1");
- response.append("<p>You should be redirected to <em>").append(uri).append("</em></p>");
+ response.append(quotedCode).append("</title><meta charset=\"utf-8\" /></head>");
+ response.append("<body><h1>").append(quotedCode).append("</h1");
+ response.append("<p>You should be redirected to <em>").append(HTMLEncode(uri)).append("</em></p>");
response.append("This page is a result of the request: <pre>");
- response.append(request).append("</pre></body></html>");
+ response.append(HTMLEncode(request)).append("</pre></body></html>");
addDataHeaders(headers, response);
std::string location("Location: ");
if (strncmp(uri.c_str(), "http://", 7) != 0 && strncmp(uri.c_str(), "https://", 8) != 0)
@@ -286,6 +338,10 @@ static void sendRedirect(std::ostream &log, int const client, int const httpcode
else
location.append(uri);
headers.push_back(location);
+
+ if (contentTypeSet(headers) == false)
+ headers.push_back("Content-Type: text/html; charset=utf-8");
+
sendHead(log, client, httpcode, headers);
if (content == true)
sendData(client, headers, response);
@@ -341,13 +397,14 @@ static void sendDirectoryListing(std::ostream &log, int const client, std::strin
}
std::ostringstream listing;
- listing << "<!doctype html><html><head><title>Index of " << dir << "</title><meta charset=\"utf-8\" />"
+ std::string const quotedDir = HTMLEncode(dir);
+ listing << "<!doctype html><html><head><title>Index of " << quotedDir << "</title><meta charset=\"utf-8\" />"
<< "<style type=\"text/css\"><!-- td {padding: 0.02em 0.5em 0.02em 0.5em;}"
<< "tr:nth-child(even){background-color:#dfdfdf;}"
<< "h1, td:nth-child(3){text-align:center;}"
<< "table {margin-left:auto;margin-right:auto;} --></style>"
<< "</head>" << std::endl
- << "<body><h1>Index of " << dir << "</h1>" << std::endl
+ << "<body><h1>Index of " << quotedDir << "</h1>" << std::endl
<< "<table><tr><th>#</th><th>Name</th><th>Size</th><th>Last-Modified</th></tr>" << std::endl;
if (dir != "./")
listing << "<tr><td>d</td><td><a href=\"..\">Parent Directory</a></td><td>-</td><td>-</td></tr>";
@@ -356,22 +413,19 @@ static void sendDirectoryListing(std::ostream &log, int const client, std::strin
std::string filename(dir);
filename.append("/").append(namelist[i]->d_name);
stat(filename.c_str(), &fs);
- if (S_ISDIR(fs.st_mode))
- {
- listing << "<tr><td>d</td>"
- << "<td><a href=\"" << namelist[i]->d_name << "/\">" << namelist[i]->d_name << "</a></td>"
- << "<td>-</td>";
- }
- else
- {
- listing << "<tr><td>f</td>"
- << "<td><a href=\"" << namelist[i]->d_name << "\">" << namelist[i]->d_name << "</a></td>"
- << "<td>" << SizeToStr(fs.st_size) << "B</td>";
- }
- listing << "<td>" << TimeRFC1123(fs.st_mtime, true) << "</td></tr>" << std::endl;
+ std::string const quotedHref = QuoteString(namelist[i]->d_name, "\"\\/#?");
+ std::string const quotedName = HTMLEncode(namelist[i]->d_name);
+ bool const isDir = S_ISDIR(fs.st_mode);
+ listing << "<tr><td>" << (isDir ? 'd' : 'f') << "</td>"
+ << "<td><a href=\"./" << quotedHref << (isDir ? "/" : "") <<"\">" << quotedName << "</a></td>"
+ << "<td>" << (isDir ? "-" : SizeToStr(fs.st_size).append("B")) << "</td>"
+ << "<td>" << TimeRFC1123(fs.st_mtime, true) << "</td></tr>\n";
}
listing << "</table></body></html>" << std::endl;
+ if (contentTypeSet(headers) == false)
+ headers.push_back("Content-Type: text/html; charset=utf-8");
+
std::string response(listing.str());
addDataHeaders(headers, response);
sendHead(log, client, 200, headers);
@@ -581,6 +635,8 @@ static bool handleOnTheFlyReconfiguration(std::ostream &log, int const client,/*
{
std::string response = _config->Find(parts[2], parts[3]);
addDataHeaders(headers, response);
+ if (contentTypeSet(headers) == false)
+ headers.push_back("Content-Type: text/plain; charset=utf-8");
sendHead(log, client, 200, headers);
sendData(client, headers, response);
return true;
@@ -591,6 +647,8 @@ static bool handleOnTheFlyReconfiguration(std::ostream &log, int const client,/*
{
std::string response = _config->Find(parts[2]);
addDataHeaders(headers, response);
+ if (contentTypeSet(headers) == false)
+ headers.push_back("Content-Type: text/plain; charset=utf-8");
sendHead(log, client, 200, headers);
sendData(client, headers, response);
return true;
@@ -689,9 +747,16 @@ static void * handleClient(int const client, size_t const id) /*{{{*/
}
if (regexec(pattern, filename.c_str(), 0, 0, 0) == 0)
{
- filename = _config->Find("aptwebserver::overwrite::" + I->Tag + "::filename", filename);
- if (filename[0] == '/')
+ filename = _config->Find("aptwebserver::overwrite::" + I->Tag + "::filename", flNotDir(filename));
+ if (filename.find("/") == std::string::npos)
+ {
+ auto directory = _config->Find("aptwebserver::overwrite::" + I->Tag + "::directory", flNotFile(filename));
+ filename = flCombine(directory, filename);
+ }
+ if (filename.empty() == false && filename[0] == '/')
filename.erase(0,1);
+ if (filename.empty())
+ filename = "./";
regfree(pattern);
break;
}
@@ -833,6 +898,28 @@ static void * handleClient(int const client, size_t const id) /*{{{*/
return NULL;
}
/*}}}*/
+static void loadMimeTypesFile(std::string const &filename) /*{{{*/
+{
+ if (FileExists(filename) == false)
+ return;
+
+ std::string line;
+ FileFd mimetypes(filename, FileFd::ReadOnly);
+ while (mimetypes.ReadLine(line))
+ {
+ if (line.empty() || line[0] == '#' || line.find_first_not_of(" \t\r") == std::string::npos)
+ continue;
+ std::transform(line.begin(), line.end(), line.begin(), [](char const c) { return c == ' ' ? '\t' : c; });
+ auto l = VectorizeString(line, '\t');
+ l.erase(std::remove_if(l.begin(), l.end(), [](std::string const &f) { return f.empty(); }), l.end());
+ if (l.size() < 2)
+ continue;
+ for (size_t i = 1; i < l.size(); ++i)
+ if (l[i].empty() == false)
+ _config->CndSet(std::string("aptwebserver::content-type::by-extension::").append(l[i]).c_str(), l[0]);
+ }
+}
+ /*}}}*/
int main(int const argc, const char * argv[])
{
@@ -854,6 +941,22 @@ int main(int const argc, const char * argv[])
exit(1);
}
+ if (_config->FindB("aptwebserver::content-type::mime.types", true))
+ {
+ if (_config->FindB("aptwebserver::content-type::mime.types::apt", true))
+ loadMimeTypesFile("/etc/apt/mime.types");
+
+ if (_config->FindB("aptwebserver::content-type::mime.types::home", true))
+ {
+ auto const home = getenv("HOME");
+ if (home != nullptr)
+ loadMimeTypesFile(flCombine(home, ".mime.types"));
+ }
+
+ if (_config->FindB("aptwebserver::content-type::mime.types::etc", true))
+ loadMimeTypesFile("/etc/mime.types");
+ }
+
// create socket, bind and listen to it {{{
// ignore SIGPIPE, this can happen on write() if the socket closes connection
signal(SIGPIPE, SIG_IGN);
diff --git a/vendor/tanglu/apt-vendor.ent b/vendor/tanglu/apt-vendor.ent
deleted file mode 100644
index f5cd813bf..000000000
--- a/vendor/tanglu/apt-vendor.ent
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- details about the keys used by the distribution -->
-<!ENTITY keyring-distro "Tanglu">
-<!ENTITY keyring-package "<package>tanglu-archive-keyring</package>">
-<!ENTITY keyring-filename "<filename>/usr/share/keyrings/tanglu-archive-keyring.gpg</filename>">
-<!ENTITY keyring-removed-filename "<filename>/usr/share/keyrings/tanglu-archive-removed-keys.gpg</filename>">
-<!ENTITY keyring-master-filename "">
-<!ENTITY keyring-uri "">
-<!ENTITY current-codename "bartholomea">
-
-<!ENTITY sourceslist-list-format "deb http://archive.tanglu.org/tanglu &current-codename; main contrib non-free">
-<!ENTITY sourceslist-sources-format "Types: deb
-URIs: http://archive.tanglu.org/tanglu
-Suites: &current-codename;
-Components: main contrib non-free">
diff --git a/vendor/tanglu/sources.list.in b/vendor/tanglu/sources.list.in
deleted file mode 100644
index ce95e70c2..000000000
--- a/vendor/tanglu/sources.list.in
+++ /dev/null
@@ -1,7 +0,0 @@
-# See sources.list(5) manpage for more information
-
-deb http://archive.tanglu.org/tanglu &current-codename; main contrib non-free
-#deb-src http://archive.tanglu.org/tanglu &current-codename; main contrib non-free
-
-#deb http://archive.tanglu.org/tanglu &current-codename;-updates main contrib non-free
-#deb-src http://archive.tanglu.org/tanglu &current-codename;-updates main contrib non-free