diff options
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 <a.b.c -> " "d.e.f | x.y.z> (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 (>= 2.01) but 2.0-3 is installed\n" +" bash-builtins: Depends: bash (>= 2.01) mais 2.0-3 est installé\n" " cthugha: Depends: svgalibg1 mais il n'est pas installé\n" " Depends: xlib6g (>= 3.3-5) mais il n'est pas installé\n" " libreadlineg2: Conflicts:libreadline2 (<< 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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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: " @@ -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: " @@ -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 @@ -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: " @@ -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: " @@ -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 @@ -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 @@ -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: " @@ -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 @@ -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 @@ -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 @@ -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 @@ -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: " @@ -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." @@ -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: " @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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: " @@ -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 @@ -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 @@ -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 @@ -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 @@ -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: " @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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: " @@ -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 @@ -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 = {{ + {{ "&", "&" }}, + {{ "<", "<" }}, + {{ ">", ">" }}, + {{ "\"", """ }}, + {{ "'", "'" }}, + {{ "/", "/" }}, + }}; + 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 ¤t-codename; main contrib non-free"> -<!ENTITY sourceslist-sources-format "Types: deb -URIs: http://archive.tanglu.org/tanglu -Suites: ¤t-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 ¤t-codename; main contrib non-free -#deb-src http://archive.tanglu.org/tanglu ¤t-codename; main contrib non-free - -#deb http://archive.tanglu.org/tanglu ¤t-codename;-updates main contrib non-free -#deb-src http://archive.tanglu.org/tanglu ¤t-codename;-updates main contrib non-free |