diff options
author | Michael Vogt <mvo@debian.org> | 2014-03-27 15:20:49 +0100 |
---|---|---|
committer | Michael Vogt <mvo@debian.org> | 2014-03-27 15:20:49 +0100 |
commit | 355a960dd8bfbe2606be95d38aafd6bc0675d76f (patch) | |
tree | 67c58c736cee0f96f65b3de5e1070e1e1af92672 | |
parent | fa211e2d3b0305cfdd184cdba9750259f6d9c98e (diff) | |
parent | 62f1ee1cc7a5e16ca0cbfbee3c00cefab1892f87 (diff) |
Merge branch 'debian/sid' into feature/more-fancy-progress
90 files changed, 698 insertions, 502 deletions
diff --git a/apt-inst/deb/debfile.cc b/apt-inst/deb/debfile.cc index 3803329fa..a63cb6716 100644 --- a/apt-inst/deb/debfile.cc +++ b/apt-inst/deb/debfile.cc @@ -124,8 +124,10 @@ bool debDebFile::ExtractTarMember(pkgDirStream &Stream,const char *Name) { std::string ext = std::string(Name) + ".{"; for (std::vector<APT::Configuration::Compressor>::const_iterator c = compressor.begin(); - c != compressor.end(); ++c) - ext.append(c->Extension.substr(1)); + c != compressor.end(); ++c) { + if (!c->Extension.empty()) + ext.append(c->Extension.substr(1)); + } ext.append("}"); return _error->Error(_("Internal error, could not locate member %s"), ext.c_str()); } diff --git a/apt-pkg/acquire-method.h b/apt-pkg/acquire-method.h index f0f2a537a..221ccf273 100644 --- a/apt-pkg/acquire-method.h +++ b/apt-pkg/acquire-method.h @@ -20,6 +20,8 @@ #ifndef PKGLIB_ACQUIRE_METHOD_H #define PKGLIB_ACQUIRE_METHOD_H +#include <apt-pkg/macros.h> + #include <stdarg.h> #include <time.h> @@ -107,7 +109,7 @@ class pkgAcqMethod virtual ~pkgAcqMethod() {}; private: - void Dequeue(); + APT_HIDDEN void Dequeue(); }; /** @} */ diff --git a/apt-pkg/cdrom.h b/apt-pkg/cdrom.h index 0ed4a6a73..0f2c2cd02 100644 --- a/apt-pkg/cdrom.h +++ b/apt-pkg/cdrom.h @@ -1,6 +1,8 @@ #ifndef PKGLIB_CDROM_H #define PKGLIB_CDROM_H +#include <apt-pkg/macros.h> + #include<string> #include<vector> @@ -73,7 +75,7 @@ class pkgCdrom /*{{{*/ bool Add(pkgCdromStatus *log); private: - bool MountAndIdentCDROM(Configuration &Database, std::string &CDROM, + APT_HIDDEN bool MountAndIdentCDROM(Configuration &Database, std::string &CDROM, std::string &ident, pkgCdromStatus * const log, bool const interactive); }; /*}}}*/ diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 1eabf37f4..69406a9bf 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -1191,7 +1191,7 @@ bool FileFd::OpenInternDescriptor(unsigned int const Mode, APT::Configuration::C d->openmode = Mode; d->compressor = compressor; #if defined HAVE_ZLIB || defined HAVE_BZ2 || defined HAVE_LZMA - if (AutoClose == false && compress_open != NULL) + if ((Flags & AutoClose) != AutoClose && compress_open != NULL) { // Need to duplicate fd here or gz/bz2 close for cleanup will close the fd as well int const internFd = dup(iFd); @@ -1430,7 +1430,15 @@ bool FileFd::Read(void *To,unsigned long long Size,unsigned long long *Actual) errno = 0; } else + { Res = Size - d->lzma->stream.avail_out; + if (Res == 0) + { + // lzma run was okay, but produced no output… + Res = -1; + errno = EINTR; + } + } } #endif else @@ -1439,7 +1447,12 @@ bool FileFd::Read(void *To,unsigned long long Size,unsigned long long *Actual) if (Res < 0) { if (errno == EINTR) + { + // trick the while-loop into running again + Res = 1; + errno = 0; continue; + } if (false) /* dummy so that the rest can be 'else if's */; #ifdef HAVE_ZLIB diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h index 278a25742..f25ed3622 100644 --- a/apt-pkg/contrib/fileutl.h +++ b/apt-pkg/contrib/fileutl.h @@ -150,11 +150,11 @@ class FileFd private: FileFdPrivate* d; - bool OpenInternDescriptor(unsigned int const Mode, APT::Configuration::Compressor const &compressor); + APT_HIDDEN bool OpenInternDescriptor(unsigned int const Mode, APT::Configuration::Compressor const &compressor); // private helpers to set Fail flag and call _error->Error - bool FileFdErrno(const char* Function, const char* Description,...) APT_PRINTF(3) APT_COLD; - bool FileFdError(const char* Description,...) APT_PRINTF(2) APT_COLD; + APT_HIDDEN bool FileFdErrno(const char* Function, const char* Description,...) APT_PRINTF(3) APT_COLD; + APT_HIDDEN bool FileFdError(const char* Description,...) APT_PRINTF(2) APT_COLD; }; bool RunScripts(const char *Cnf); diff --git a/apt-pkg/contrib/macros.h b/apt-pkg/contrib/macros.h index d97053553..2d6448e5e 100644 --- a/apt-pkg/contrib/macros.h +++ b/apt-pkg/contrib/macros.h @@ -94,8 +94,12 @@ #if APT_GCC_VERSION >= 0x0400 #define APT_SENTINEL __attribute__((sentinel)) + #define APT_PUBLIC __attribute__ ((visibility ("default"))) + #define APT_HIDDEN __attribute__ ((visibility ("hidden"))) #else #define APT_SENTINEL + #define APT_PUBLIC + #define APT_HIDDEN #endif // cold functions are unlikely() to be called diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h index 286244cc9..baace79fe 100644 --- a/apt-pkg/deb/deblistparser.h +++ b/apt-pkg/deb/deblistparser.h @@ -15,6 +15,7 @@ #include <apt-pkg/tagfile.h> #include <apt-pkg/md5.h> #include <apt-pkg/pkgcache.h> +#include <apt-pkg/macros.h> #include <string> #include <vector> @@ -102,7 +103,7 @@ class debListParser : public pkgCacheGenerator::ListParser virtual ~debListParser() {}; private: - unsigned char ParseMultiArch(bool const showErrors); + APT_HIDDEN unsigned char ParseMultiArch(bool const showErrors); }; #endif diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 9fee7c923..5a5fff13b 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1530,28 +1530,18 @@ bool pkgDPkgPM::GoNoABIBreak(APT::Progress::PackageManager *progress) // here but keep the loop going and just report it as a error // for later bool const stopOnError = _config->FindB("Dpkg::StopOnError",true); - - if(stopOnError) - RunScripts("DPkg::Post-Invoke"); - if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV) + if (WIFSIGNALED(Status) != 0 && WTERMSIG(Status) == SIGSEGV) strprintf(d->dpkg_error, "Sub-process %s received a segmentation fault.",Args[0]); else if (WIFEXITED(Status) != 0) strprintf(d->dpkg_error, "Sub-process %s returned an error code (%u)",Args[0],WEXITSTATUS(Status)); - else + else strprintf(d->dpkg_error, "Sub-process %s exited unexpectedly",Args[0]); + _error->Error("%s", d->dpkg_error.c_str()); - if(d->dpkg_error.size() > 0) - _error->Error("%s", d->dpkg_error.c_str()); - - if(stopOnError) - { - CloseLog(); - StopPtyMagic(); - d->progress->Stop(); - return false; - } - } + if(stopOnError) + break; + } } // dpkg is done at this point d->progress->Stop(); @@ -1582,7 +1572,7 @@ bool pkgDPkgPM::GoNoABIBreak(APT::Progress::PackageManager *progress) } Cache.writeStateFile(NULL); - return true; + return d->dpkg_error.empty(); } void SigINT(int /*sig*/) { diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index e2c412757..19a6e0d7e 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1059,10 +1059,9 @@ bool pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, return true; } - // check if we are allowed to install the package (if we haven't already) - if (P.Mode != ModeInstall || P.InstallVer != P.CandidateVer) - if (IsInstallOk(Pkg,AutoInst,Depth,FromUser) == false) - return false; + // check if we are allowed to install the package + if (IsInstallOk(Pkg,AutoInst,Depth,FromUser) == false) + return false; ActionGroup group(*this); P.iFlags &= ~AutoKept; @@ -1123,32 +1122,22 @@ bool pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, continue; /* Check if this dep should be consider for install. If it is a user - defined important dep and we are installed a new package then + defined important dep and we are installed a new package then it will be installed. Otherwise we only check for important - deps that have changed from the installed version - */ + deps that have changed from the installed version */ if (IsImportantDep(Start) == false) continue; - /* If we are in an or group locate the first or that can - succeed. We have already cached this.. */ + /* If we are in an or group locate the first or that can + succeed. We have already cached this… */ for (; Ors > 1 && (DepState[Start->ID] & DepCVer) != DepCVer; --Ors) ++Start; + + /* unsatisfiable dependency: IsInstallOkDependenciesSatisfiableByCandidates + would have prevented us to get here if not overridden, so just skip + over the problem here as the frontend will know what it is doing */ if (Ors == 1 && (DepState[Start->ID] &DepCVer) != DepCVer && Start.IsNegative() == false) - { - if(DebugAutoInstall == true) - std::clog << OutputInDepth(Depth) << Start << " can't be satisfied!" << std::endl; - if (Start.IsCritical() == false) - continue; - // if the dependency was critical, we have absolutely no chance to install it, - // so if it wasn't installed remove it again. If it was, discard the candidate - // as the problemresolver will trip over it otherwise trying to install it (#735967) - if (Pkg->CurrentVer == 0) - MarkDelete(Pkg,false,Depth + 1, false); - else - SetCandidateVersion(Pkg.CurrentVer()); - return false; - } + continue; /* Check if any ImportantDep() (but not Critical) were added * since we installed the package. Also check for deps that @@ -1300,7 +1289,8 @@ bool pkgDepCache::MarkInstall(PkgIterator const &Pkg,bool AutoInst, bool pkgDepCache::IsInstallOk(PkgIterator const &Pkg,bool AutoInst, unsigned long Depth, bool FromUser) { - return IsInstallOkMultiArchSameVersionSynced(Pkg,AutoInst, Depth, FromUser); + return IsInstallOkMultiArchSameVersionSynced(Pkg,AutoInst, Depth, FromUser) && + IsInstallOkDependenciesSatisfiableByCandidates(Pkg,AutoInst, Depth, FromUser); } bool pkgDepCache::IsInstallOkMultiArchSameVersionSynced(PkgIterator const &Pkg, bool const /*AutoInst*/, unsigned long const Depth, bool const FromUser) @@ -1308,6 +1298,11 @@ bool pkgDepCache::IsInstallOkMultiArchSameVersionSynced(PkgIterator const &Pkg, if (FromUser == true) // as always: user is always right return true; + // if we have checked before and it was okay, it will still be okay + if (PkgState[Pkg->ID].Mode == ModeInstall && + PkgState[Pkg->ID].InstallVer == PkgState[Pkg->ID].CandidateVer) + return true; + // ignore packages with none-M-A:same candidates VerIterator const CandVer = PkgState[Pkg->ID].CandidateVerIter(*this); if (unlikely(CandVer.end() == true) || CandVer == Pkg.CurrentVer() || @@ -1340,6 +1335,53 @@ bool pkgDepCache::IsInstallOkMultiArchSameVersionSynced(PkgIterator const &Pkg, return true; } +bool pkgDepCache::IsInstallOkDependenciesSatisfiableByCandidates(PkgIterator const &Pkg, + bool const AutoInst, unsigned long const Depth, bool const /*FromUser*/) +{ + if (AutoInst == false) + return true; + + VerIterator const CandVer = PkgState[Pkg->ID].CandidateVerIter(*this); + if (unlikely(CandVer.end() == true) || CandVer == Pkg.CurrentVer()) + return true; + + for (DepIterator Dep = CandVer.DependsList(); Dep.end() != true;) + { + // Grok or groups + DepIterator Start = Dep; + bool Result = true; + unsigned Ors = 0; + for (bool LastOR = true; Dep.end() == false && LastOR == true; ++Dep, ++Ors) + { + LastOR = (Dep->CompareOp & Dep::Or) == Dep::Or; + + if ((DepState[Dep->ID] & DepInstall) == DepInstall) + Result = false; + } + + if (Start.IsCritical() == false || Start.IsNegative() == true || Result == false) + continue; + + /* If we are in an or group locate the first or that can succeed. + We have already cached this… */ + for (; Ors > 1 && (DepState[Start->ID] & DepCVer) != DepCVer; --Ors) + ++Start; + + if (Ors == 1 && (DepState[Start->ID] &DepCVer) != DepCVer) + { + if (DebugAutoInstall == true) + std::clog << OutputInDepth(Depth) << Start << " can't be satisfied!" << std::endl; + + // the dependency is critical, but can't be installed, so discard the candidate + // as the problemresolver will trip over it otherwise trying to install it (#735967) + if (Pkg->CurrentVer != 0) + SetCandidateVersion(Pkg.CurrentVer()); + return false; + } + } + + return true; +} /*}}}*/ // DepCache::SetReInstall - Set the reinstallation flag /*{{{*/ // --------------------------------------------------------------------- diff --git a/apt-pkg/depcache.h b/apt-pkg/depcache.h index bde648c65..bec651279 100644 --- a/apt-pkg/depcache.h +++ b/apt-pkg/depcache.h @@ -506,6 +506,8 @@ class pkgDepCache : protected pkgCache::Namespace // methods call by IsInstallOk bool IsInstallOkMultiArchSameVersionSynced(PkgIterator const &Pkg, bool const AutoInst, unsigned long const Depth, bool const FromUser); + bool IsInstallOkDependenciesSatisfiableByCandidates(PkgIterator const &Pkg, + bool const AutoInst, unsigned long const Depth, bool const FromUser); // methods call by IsDeleteOk bool IsDeleteOkProtectInstallRequests(PkgIterator const &Pkg, diff --git a/apt-pkg/edsp.h b/apt-pkg/edsp.h index ae20ed7db..f3092d3c6 100644 --- a/apt-pkg/edsp.h +++ b/apt-pkg/edsp.h @@ -12,6 +12,7 @@ #include <apt-pkg/cacheset.h> #include <apt-pkg/pkgcache.h> #include <apt-pkg/cacheiterators.h> +#include <apt-pkg/macros.h> #include <stdio.h> @@ -32,15 +33,15 @@ class EDSP /*{{{*/ static const char * const PrioMap[]; static const char * const DepMap[]; - bool static ReadLine(int const input, std::string &line); - bool static StringToBool(char const *answer, bool const defValue); + APT_HIDDEN bool static ReadLine(int const input, std::string &line); + APT_HIDDEN bool static StringToBool(char const *answer, bool const defValue); - void static WriteScenarioVersion(pkgDepCache &Cache, FILE* output, + APT_HIDDEN void static WriteScenarioVersion(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg, pkgCache::VerIterator const &Ver); - void static WriteScenarioDependency(FILE* output, + APT_HIDDEN void static WriteScenarioDependency(FILE* output, pkgCache::VerIterator const &Ver); - void static WriteScenarioLimitedDependency(FILE* output, + APT_HIDDEN void static WriteScenarioLimitedDependency(FILE* output, pkgCache::VerIterator const &Ver, APT::PackageSet const &pkgset); public: diff --git a/apt-pkg/pkgcachegen.h b/apt-pkg/pkgcachegen.h index 5994dab9f..1e1a71026 100644 --- a/apt-pkg/pkgcachegen.h +++ b/apt-pkg/pkgcachegen.h @@ -38,10 +38,10 @@ class pkgCacheGenerator /*{{{*/ private: pkgCache::StringItem *UniqHash[26]; - map_ptrloc WriteStringInMap(std::string const &String) { return WriteStringInMap(String.c_str()); }; - map_ptrloc WriteStringInMap(const char *String); - map_ptrloc WriteStringInMap(const char *String, const unsigned long &Len); - map_ptrloc AllocateInMap(const unsigned long &size); + APT_HIDDEN map_ptrloc WriteStringInMap(std::string const &String) { return WriteStringInMap(String.c_str()); }; + APT_HIDDEN map_ptrloc WriteStringInMap(const char *String); + APT_HIDDEN map_ptrloc WriteStringInMap(const char *String, const unsigned long &Len); + APT_HIDDEN map_ptrloc AllocateInMap(const unsigned long &size); public: @@ -117,14 +117,14 @@ class pkgCacheGenerator /*{{{*/ ~pkgCacheGenerator(); private: - bool MergeListGroup(ListParser &List, std::string const &GrpName); - bool MergeListPackage(ListParser &List, pkgCache::PkgIterator &Pkg); - bool MergeListVersion(ListParser &List, pkgCache::PkgIterator &Pkg, + APT_HIDDEN bool MergeListGroup(ListParser &List, std::string const &GrpName); + APT_HIDDEN bool MergeListPackage(ListParser &List, pkgCache::PkgIterator &Pkg); + APT_HIDDEN bool MergeListVersion(ListParser &List, pkgCache::PkgIterator &Pkg, std::string const &Version, pkgCache::VerIterator* &OutVer); - bool AddImplicitDepends(pkgCache::GrpIterator &G, pkgCache::PkgIterator &P, + APT_HIDDEN bool AddImplicitDepends(pkgCache::GrpIterator &G, pkgCache::PkgIterator &P, pkgCache::VerIterator &V); - bool AddImplicitDepends(pkgCache::VerIterator &V, pkgCache::PkgIterator &D); + APT_HIDDEN bool AddImplicitDepends(pkgCache::VerIterator &V, pkgCache::PkgIterator &D); }; /*}}}*/ // This is the abstract package list parser class. /*{{{*/ diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h index 2f600d397..d5b62e76d 100644 --- a/apt-pkg/tagfile.h +++ b/apt-pkg/tagfile.h @@ -20,6 +20,8 @@ #ifndef PKGLIB_TAGFILE_H #define PKGLIB_TAGFILE_H +#include <apt-pkg/macros.h> + #include <stdio.h> #include <string> @@ -93,9 +95,9 @@ class pkgTagFile { pkgTagFilePrivate *d; - bool Fill(); - bool Resize(); - bool Resize(unsigned long long const newSize); + APT_HIDDEN bool Fill(); + APT_HIDDEN bool Resize(); + APT_HIDDEN bool Resize(unsigned long long const newSize); public: diff --git a/apt-private/acqprogress.h b/apt-private/acqprogress.h index e12dafe50..71a10d78a 100644 --- a/apt-private/acqprogress.h +++ b/apt-private/acqprogress.h @@ -10,18 +10,19 @@ #define ACQPROGRESS_H #include <apt-pkg/acquire.h> +#include <apt-pkg/macros.h> #include <string> -class AcqTextStatus : public pkgAcquireStatus +class APT_PUBLIC AcqTextStatus : public pkgAcquireStatus { unsigned int &ScreenWidth; char BlankLine[1024]; unsigned long ID; unsigned long Quiet; - + public: - + virtual bool MediaChange(std::string Media,std::string Drive); virtual void IMSHit(pkgAcquire::ItemDesc &Itm); virtual void Fetch(pkgAcquire::ItemDesc &Itm); @@ -29,7 +30,7 @@ class AcqTextStatus : public pkgAcquireStatus virtual void Fail(pkgAcquire::ItemDesc &Itm); virtual void Start(); virtual void Stop(); - + bool Pulse(pkgAcquire *Owner); AcqTextStatus(unsigned int &ScreenWidth,unsigned int const Quiet); diff --git a/apt-private/makefile b/apt-private/makefile index 728890b9b..09736c6d3 100644 --- a/apt-private/makefile +++ b/apt-private/makefile @@ -16,6 +16,7 @@ LIBRARY=apt-private MAJOR=0.0 MINOR=0 SLIBS=$(PTHREADLIB) -lapt-pkg +CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden PRIVATES=list install download output cachefile cacheset update upgrade cmndline moo search show main utils sources SOURCE += $(foreach private, $(PRIVATES), private-$(private).cc) diff --git a/apt-private/private-cachefile.h b/apt-private/private-cachefile.h index 67c5e8cdc..dce7e0a3a 100644 --- a/apt-private/private-cachefile.h +++ b/apt-private/private-cachefile.h @@ -5,16 +5,17 @@ #include <apt-pkg/progress.h> #include <apt-pkg/configuration.h> #include <apt-pkg/pkgcache.h> +#include <apt-pkg/macros.h> // class CacheFile - Cover class for some dependency cache functions /*{{{*/ // --------------------------------------------------------------------- /* */ -class CacheFile : public pkgCacheFile +class APT_PUBLIC CacheFile : public pkgCacheFile { static pkgCache *SortCache; - static int NameComp(const void *a,const void *b) APT_PURE; - + APT_HIDDEN static int NameComp(const void *a,const void *b) APT_PURE; + public: pkgCache::Package **List; diff --git a/apt-private/private-cmndline.h b/apt-private/private-cmndline.h index 76045ffe7..d0af16782 100644 --- a/apt-private/private-cmndline.h +++ b/apt-private/private-cmndline.h @@ -2,9 +2,10 @@ #define APT_PRIVATE_CMNDLINE_H #include <apt-pkg/cmndline.h> +#include <apt-pkg/macros.h> #include <vector> -std::vector<CommandLine::Args> getCommandArgs(char const * const Program, char const * const Cmd); +APT_PUBLIC std::vector<CommandLine::Args> getCommandArgs(char const * const Program, char const * const Cmd); #endif diff --git a/apt-private/private-download.h b/apt-private/private-download.h index 1447845ed..a108aa531 100644 --- a/apt-private/private-download.h +++ b/apt-private/private-download.h @@ -1,9 +1,11 @@ #ifndef APT_PRIVATE_DOWNLOAD_H #define APT_PRIVATE_DOWNLOAD_H +#include <apt-pkg/macros.h> + class pkgAcquire; -bool CheckAuth(pkgAcquire& Fetcher, bool const PromptUser); -bool AcquireRun(pkgAcquire &Fetcher, int const PulseInterval, bool * const Failure, bool * const TransientNetworkFailure); +APT_PUBLIC bool CheckAuth(pkgAcquire& Fetcher, bool const PromptUser); +APT_PUBLIC bool AcquireRun(pkgAcquire &Fetcher, int const PulseInterval, bool * const Failure, bool * const TransientNetworkFailure); #endif diff --git a/apt-private/private-install.h b/apt-private/private-install.h index 79769d470..5e18560c5 100644 --- a/apt-private/private-install.h +++ b/apt-private/private-install.h @@ -9,6 +9,9 @@ #include <apt-pkg/cacheset.h> #include <apt-pkg/strutl.h> #include <apt-pkg/algorithms.h> +#include <apt-pkg/macros.h> + +#include <apt-private/private-output.h> #include <stddef.h> #include <iosfwd> @@ -17,7 +20,6 @@ #include <string> #include <utility> -#include "private-output.h" #include <apti18n.h> @@ -26,13 +28,13 @@ class CommandLine; #define RAMFS_MAGIC 0x858458f6 -bool DoInstall(CommandLine &Cmd); +APT_PUBLIC bool DoInstall(CommandLine &Cmd); bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, CacheFile &Cache, std::map<unsigned short, APT::VersionSet> &verset); bool DoCacheManipulationFromCommandLine(CommandLine &CmdL, CacheFile &Cache); -bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, +APT_PUBLIC bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, bool Safety = true); diff --git a/apt-private/private-list.h b/apt-private/private-list.h index 749744dd1..461f527cb 100644 --- a/apt-private/private-list.h +++ b/apt-private/private-list.h @@ -1,9 +1,11 @@ #ifndef APT_PRIVATE_LIST_H #define APT_PRIVATE_LIST_H +#include <apt-pkg/macros.h> + class CommandLine; -bool List(CommandLine &Cmd); +APT_PUBLIC bool List(CommandLine &Cmd); #endif diff --git a/apt-private/private-main.h b/apt-private/private-main.h index 257c51a0b..23d4aca68 100644 --- a/apt-private/private-main.h +++ b/apt-private/private-main.h @@ -1,8 +1,10 @@ #ifndef APT_PRIVATE_MAIN_H #define APT_PRIVATE_MAIN_H +#include <apt-pkg/macros.h> + class CommandLine; -void CheckSimulateMode(CommandLine &CmdL); +APT_PUBLIC void CheckSimulateMode(CommandLine &CmdL); #endif diff --git a/apt-private/private-moo.h b/apt-private/private-moo.h index 7bfc5c1fc..b8e1cfed6 100644 --- a/apt-private/private-moo.h +++ b/apt-private/private-moo.h @@ -3,7 +3,7 @@ class CommandLine; -bool DoMoo(CommandLine &CmdL); +APT_PUBLIC bool DoMoo(CommandLine &CmdL); bool DoMoo1(CommandLine &CmdL); bool DoMoo2(CommandLine &CmdL); bool DoMoo3(CommandLine &CmdL); diff --git a/apt-private/private-output.h b/apt-private/private-output.h index 81643f90a..9633d0c37 100644 --- a/apt-private/private-output.h +++ b/apt-private/private-output.h @@ -2,6 +2,7 @@ #define APT_PRIVATE_OUTPUT_H #include <apt-pkg/pkgcache.h> +#include <apt-pkg/macros.h> #include <fstream> #include <string> @@ -13,22 +14,24 @@ class pkgDepCache; class pkgRecords; -extern std::ostream c0out; -extern std::ostream c1out; -extern std::ostream c2out; -extern std::ofstream devnull; -extern unsigned int ScreenWidth; +APT_PUBLIC extern std::ostream c0out; +APT_PUBLIC extern std::ostream c1out; +APT_PUBLIC extern std::ostream c2out; +APT_PUBLIC extern std::ofstream devnull; +APT_PUBLIC extern unsigned int ScreenWidth; -bool InitOutput(); -void ListSingleVersion(pkgCacheFile &CacheFile, pkgRecords &records, +APT_PUBLIC bool InitOutput(); + +void ListSingleVersion(pkgCacheFile &CacheFile, pkgRecords &records, pkgCache::VerIterator V, std::ostream &out, bool include_summary=true); // helper to describe global state -bool ShowList(std::ostream &out, std::string Title, std::string List, +APT_PUBLIC void ShowBroken(std::ostream &out,CacheFile &Cache,bool Now); + +APT_PUBLIC bool ShowList(std::ostream &out, std::string Title, std::string List, std::string VersionsList); -void ShowBroken(std::ostream &out,CacheFile &Cache,bool Now); void ShowNew(std::ostream &out,CacheFile &Cache); void ShowDel(std::ostream &out,CacheFile &Cache); void ShowKept(std::ostream &out,CacheFile &Cache); diff --git a/apt-private/private-search.h b/apt-private/private-search.h index 539915f1f..d4786233a 100644 --- a/apt-private/private-search.h +++ b/apt-private/private-search.h @@ -1,9 +1,11 @@ #ifndef APT_PRIVATE_SEARCH_H #define APT_PRIVATE_SEARCH_H +#include <apt-pkg/macros.h> + class CommandLine; -bool FullTextSearch(CommandLine &CmdL); +APT_PUBLIC bool FullTextSearch(CommandLine &CmdL); #endif diff --git a/apt-private/private-show.h b/apt-private/private-show.h index a15367e28..359aeeb28 100644 --- a/apt-private/private-show.h +++ b/apt-private/private-show.h @@ -1,12 +1,14 @@ #ifndef APT_PRIVATE_SHOW_H #define APT_PRIVATE_SHOW_H +#include <apt-pkg/macros.h> + class CommandLine; namespace APT { namespace Cmd { - bool ShowPackage(CommandLine &CmdL); + APT_PUBLIC bool ShowPackage(CommandLine &CmdL); } } #endif diff --git a/apt-private/private-sources.h b/apt-private/private-sources.h index 4c58af180..0c421902e 100644 --- a/apt-private/private-sources.h +++ b/apt-private/private-sources.h @@ -1,8 +1,10 @@ #ifndef APT_PRIVATE_SOURCES_H #define APT_PRIVATE_SOURCES_H +#include <apt-pkg/macros.h> + class CommandLine; -bool EditSources(CommandLine &CmdL); +APT_PUBLIC bool EditSources(CommandLine &CmdL); #endif diff --git a/apt-private/private-update.h b/apt-private/private-update.h index d3d0b7af9..e584f70cf 100644 --- a/apt-private/private-update.h +++ b/apt-private/private-update.h @@ -1,8 +1,10 @@ #ifndef APT_PRIVATE_UPDATE_H #define APT_PRIVATE_UPDATE_H +#include <apt-pkg/macros.h> + class CommandLine; -bool DoUpdate(CommandLine &CmdL); +APT_PUBLIC bool DoUpdate(CommandLine &CmdL); #endif diff --git a/apt-private/private-upgrade.h b/apt-private/private-upgrade.h index 64c4c0874..16bb93c9b 100644 --- a/apt-private/private-upgrade.h +++ b/apt-private/private-upgrade.h @@ -1,10 +1,12 @@ #ifndef APTPRIVATE_PRIVATE_UPGRADE_H #define APTPRIVATE_PRIVATE_UPGRADE_H +#include <apt-pkg/macros.h> + class CommandLine; -bool DoDistUpgrade(CommandLine &CmdL); -bool DoUpgrade(CommandLine &CmdL); +APT_PUBLIC bool DoDistUpgrade(CommandLine &CmdL); +APT_PUBLIC bool DoUpgrade(CommandLine &CmdL); bool DoUpgradeNoNewPackages(CommandLine &CmdL); bool DoUpgradeWithAllowNewPackages(CommandLine &CmdL); diff --git a/apt-private/private-utils.h b/apt-private/private-utils.h index 4bb535e86..432699787 100644 --- a/apt-private/private-utils.h +++ b/apt-private/private-utils.h @@ -1,9 +1,11 @@ #ifndef APT_PRIVATE_UTILS_H #define APT_PRIVATE_UTILS_H -#include<string> +#include <apt-pkg/macros.h> -void DisplayFileInPager(std::string filename); -void EditFileInSensibleEditor(std::string filename); +#include <string> + +APT_PUBLIC void DisplayFileInPager(std::string filename); +APT_PUBLIC void EditFileInSensibleEditor(std::string filename); #endif diff --git a/cmdline/apt-extracttemplates.cc b/cmdline/apt-extracttemplates.cc index a82623444..e4428e051 100644 --- a/cmdline/apt-extracttemplates.cc +++ b/cmdline/apt-extracttemplates.cc @@ -37,6 +37,7 @@ #include <stdio.h> #include <string.h> #include <unistd.h> +#include <stdlib.h> #include "apt-extracttemplates.h" @@ -239,23 +240,25 @@ static int ShowHelp(void) static string WriteFile(const char *package, const char *prefix, const char *data) { char fn[512]; - static int i; std::string tempdir = GetTempDir(); - snprintf(fn, sizeof(fn), "%s/%s.%s.%u%d", + snprintf(fn, sizeof(fn), "%s/%s.%s.XXXXXX", _config->Find("APT::ExtractTemplates::TempDir", tempdir.c_str()).c_str(), - package, prefix, getpid(), i++); + package, prefix); FileFd f; if (data == NULL) data = ""; - - if (!f.Open(fn, FileFd::WriteTemp, 0600)) + int fd = mkstemp(fn); + if (fd < 0) { + _error->Errno("ofstream::ofstream",_("Unable to mkstemp %s"),fn); + return string(); + } + if (!f.OpenDescriptor(fd, FileFd::WriteOnly, FileFd::None, true)) { _error->Errno("ofstream::ofstream",_("Unable to write to %s"),fn); return string(); } - f.Write(data, strlen(data)); f.Close(); return fn; diff --git a/configure.ac b/configure.ac index b161d31be..890dadf77 100644 --- a/configure.ac +++ b/configure.ac @@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib) AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) PACKAGE="apt" -PACKAGE_VERSION="0.9.16~20140314" +PACKAGE_VERSION="0.9.16.1" PACKAGE_MAIL="APT Development Team <deity@lists.debian.org>" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION") diff --git a/debian/apt.auto-removal.sh b/debian/apt.auto-removal.sh index 0c5158658..c00416127 100644 --- a/debian/apt.auto-removal.sh +++ b/debian/apt.auto-removal.sh @@ -41,7 +41,7 @@ version_test_gt () return "$?" } -list="$(${DPKG} -l | awk '/^ii[ ]+(linux|kfreebsd|gnumach)-image-[0-9]*/ && $2 !~ /-dbg$/ { print $2 }' | sed -e 's#\(linux\|kfreebsd\|gnumach\)-image-##')" +list="$(${DPKG} -l | awk '/^ii[ ]+(linux|kfreebsd|gnumach)-image-[0-9]/ && $2 !~ /-dbg$/ { print $2 }' | sed -e 's#\(linux\|kfreebsd\|gnumach\)-image-##')" latest_version="" previous_version="" diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily index 71ac76555..ee0761bfb 100644 --- a/debian/apt.cron.daily +++ b/debian/apt.cron.daily @@ -41,7 +41,7 @@ # APT::Periodic::MaxSize "0"; (new) # - Set maximum size of the cache in MB (0=disable). If the cache # is bigger, cached package files are deleted until the size -# requirement is met (the biggest packages will be deleted +# requirement is met (the oldest packages will be deleted # first). # # APT::Periodic::Update-Package-Lists "0"; @@ -91,7 +91,7 @@ check_stamp() stamp=$(date --date=$(date -r $stamp_file --iso-8601) +%s 2>/dev/null) if [ "$?" != "0" ]; then # Due to some timezones returning 'invalid date' for midnight on - # certain dates (eg America/Sao_Paulo), if date returns with error + # certain dates (e.g. America/Sao_Paulo), if date returns with error # remove the stamp file and return 0. See coreutils bug: # http://lists.gnu.org/archive/html/bug-coreutils/2007-09/msg00176.html rm -f "$stamp_file" @@ -101,14 +101,14 @@ check_stamp() now=$(date --date=$(date --iso-8601) +%s 2>/dev/null) if [ "$?" != "0" ]; then # As above, due to some timezones returning 'invalid date' for midnight - # on certain dates (eg America/Sao_Paulo), if date returns with error + # on certain dates (e.g. America/Sao_Paulo), if date returns with error # return 0. return 0 fi delta=$(($now-$stamp)) - # intervall is in days, convert to sec. + # interval is in days, convert to sec. interval=$(($interval*60*60*24)) debug_echo "check_stamp: interval=$interval, now=$now, stamp=$stamp, delta=$delta (sec)" @@ -338,7 +338,7 @@ if test -r /var/lib/apt/extended_states; then fi fi -# check apt-config exstance +# check apt-config existence if ! which apt-config >/dev/null ; then exit 0 fi diff --git a/debian/changelog b/debian/changelog index 03a99f38d..41cca4e59 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +apt (0.9.16.1) unstable; urgency=medium + + [ Chris Leick ] + * Updated German doc translation + + [ Julian Andres Klode ] + * Fix handling of autoclosing for compressed files (Closes: #741685) + + -- Julian Andres Klode <jak@debian.org> Sat, 15 Mar 2014 18:05:25 +0100 + apt (0.9.16) unstable; urgency=medium [ Michael Vogt ] diff --git a/debian/libapt-pkg4.12.symbols b/debian/libapt-pkg4.12.symbols index c1747bc9e..5d7b21f10 100644 --- a/debian/libapt-pkg4.12.symbols +++ b/debian/libapt-pkg4.12.symbols @@ -184,9 +184,7 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"pkgRecords::Parser::~Parser()@Base" 0.8.0 (c++)"pkgRecords::pkgRecords(pkgCache&)@Base" 0.8.0 (c++)"pkgRecords::~pkgRecords()@Base" 0.8.0 - (c++)"pkgTagFile::Fill()@Base" 0.8.0 (c++)"pkgTagFile::Step(pkgTagSection&)@Base" 0.8.0 - (c++)"pkgTagFile::Resize()@Base" 0.8.0 (c++)"pkgTagFile::~pkgTagFile()@Base" 0.8.0 (c++)"CdromDevice::~CdromDevice()@Base" 0.8.0 (c++)"CommandLine::DispatchArg(CommandLine::Dispatch*, bool)@Base" 0.8.0 @@ -517,11 +515,8 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"pkgCacheGenerator::SelectFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pkgIndexFile const&, unsigned long)@Base" 0.8.0 (c++)"pkgCacheGenerator::FinishCache(OpProgress*)@Base" 0.8.0 (c++)"pkgCacheGenerator::NewFileDesc(pkgCache::DescIterator&, pkgCacheGenerator::ListParser&)@Base" 0.8.0 - (c++)"pkgCacheGenerator::AllocateInMap(unsigned long const&)@Base" 0.8.0 (c++)"pkgCacheGenerator::MakeStatusCache(pkgSourceList&, OpProgress*, MMap**, bool)@Base" 0.8.0 (c++)"pkgCacheGenerator::WriteUniqString(char const*, unsigned int)@Base" 0.8.0 - (c++)"pkgCacheGenerator::WriteStringInMap(char const*)@Base" 0.8.0 - (c++)"pkgCacheGenerator::WriteStringInMap(char const*, unsigned long const&)@Base" 0.8.0 (c++)"pkgCacheGenerator::CreateDynamicMMap(FileFd*, unsigned long)@Base" 0.8.0 (c++)"pkgCacheGenerator::MergeFileProvides(pkgCacheGenerator::ListParser&)@Base" 0.8.0 (c++)"pkgCacheGenerator::MakeOnlyStatusCache(OpProgress*, DynamicMMap**)@Base" 0.8.0 @@ -1126,24 +1121,24 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@Base" 0.8.15~exp1 (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@Base" 0.8.15~exp1 ### architecture specific: va_list & size_t - (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 - (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 - (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 - (arch=powerpc powerpcspe x32|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 - (arch=amd64 kfreebsd-amd64 s390 s390x|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 - (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 - (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 - (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 - (arch=ppc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned long&)@Base" 0.8.11.4 - (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 - (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 - (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 - (arch=powerpc powerpcspe x32|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 - (arch=amd64 kfreebsd-amd64 s390 s390x|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 - (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 - (arch=ia64 sparc64|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@Base" 0.8.11.4 1 - (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 - (arch=ppc64|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned long&)@Base" 0.8.11.4 + (arch=i386 hurd-i386 kfreebsd-i386|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 + (arch=armel armhf|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 + (arch=alpha|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 + (arch=powerpc powerpcspe x32|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 + (arch=amd64 kfreebsd-amd64 s390 s390x|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 + (arch=hppa mips mipsel sparc|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 + (arch=ia64 sparc64|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 + (arch=sh4|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 + (arch=ppc64|c++)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned long&)@Base" 0.8.11.4 + (arch=i386 hurd-i386 kfreebsd-i386|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 + (arch=armel armhf|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 + (arch=alpha|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 + (arch=powerpc powerpcspe x32|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 + (arch=amd64 kfreebsd-amd64 s390 s390x|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 + (arch=hppa mips mipsel sparc|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 + (arch=ia64 sparc64|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@Base" 0.8.11.4 1 + (arch=sh4|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 + (arch=ppc64|c++)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned long&)@Base" 0.8.11.4 ### architecture specific: size_t (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc x32|c++)"_strtabexpand(char*, unsigned int)@Base" 0.8.0 (arch=alpha amd64 ia64 kfreebsd-amd64 s390 s390x sparc64 ppc64|c++)"_strtabexpand(char*, unsigned long)@Base" 0.8.0 @@ -1196,7 +1191,7 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"APT::Configuration::getCompressorExtensions()@Base" 0.8.12 (c++)"APT::Configuration::setDefaultConfigurationForCompressors()@Base" 0.8.12 (c++)"pkgAcqMetaClearSig::Custom600Headers()@Base" 0.8.13 - (c++|optional=private)"debListParser::NewProvidesAllArch(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.13.2 + (c++)"debListParser::NewProvidesAllArch(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.13.2 (c++)"pkgDepCache::IsModeChangeOk(pkgDepCache::ModeList, pkgCache::PkgIterator const&, unsigned long, bool)@Base" 0.8.13.2 (c++)"pkgCache::DepIterator::IsNegative() const@Base" 0.8.15~exp1 (c++)"Configuration::CndSet(char const*, int)@Base" 0.8.15.3 @@ -1237,18 +1232,14 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"EDSP::ReadRequest(int, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, bool&, bool&, bool&)@Base" 0.8.16~exp2 (c++)"EDSP::ApplyRequest(std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::list<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, pkgDepCache&)@Base" 0.8.16~exp2 (c++)"EDSP::ReadResponse(int, pkgDepCache&, OpProgress*)@Base" 0.8.16~exp2 - (c++)"EDSP::StringToBool(char const*, bool)@Base" 0.8.16~exp2 (c++)"EDSP::WriteRequest(pkgDepCache&, _IO_FILE*, bool, bool, bool, OpProgress*)@Base" 0.8.16~exp2 (c++)"EDSP::ExecuteSolver(char const*, int*, int*)@Base" 0.8.16~exp2 (c++)"EDSP::WriteProgress(unsigned short, char const*, _IO_FILE*)@Base" 0.8.16~exp2 (c++)"EDSP::WriteScenario(pkgDepCache&, _IO_FILE*, OpProgress*)@Base" 0.8.16~exp2 (c++)"EDSP::WriteSolution(pkgDepCache&, _IO_FILE*)@Base" 0.8.16~exp2 (c++)"EDSP::ResolveExternal(char const*, pkgDepCache&, bool, bool, bool, OpProgress*)@Base" 0.8.16~exp2 - (c++)"EDSP::WriteScenarioVersion(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&)@Base" 0.8.16~exp2 - (c++)"EDSP::WriteScenarioDependency(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&)@Base" 0.8.16~exp2 (c++)"EDSP::DepMap@Base" 0.8.16~exp2 (c++)"EDSP::PrioMap@Base" 0.8.16~exp2 - (c++)"EDSP::ReadLine(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.16~exp2 (c++)"pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const&)@Base" 0.8.16~exp6 (c++)"pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const&)@Base" 0.8.16~exp6 (c++)"typeinfo for edspIFType@Base" 0.8.16~exp2 @@ -1385,7 +1376,6 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"SummationImplementation::AddFD(FileFd&, unsigned long long)@Base" 0.8.16~exp9 (c++)"Hashes::AddFD(FileFd&, unsigned long long, bool, bool, bool, bool)@Base" 0.8.16~exp9 (c++|optional=deprecated,previous-inline)"FileFd::gzFd()@Base" 0.8.0 - (c++|optional=private)"FileFd::OpenInternDescriptor(unsigned int, APT::Configuration::Compressor const&)@Base" 0.8.16~exp9 ### CacheSet rework: making them real containers breaks bigtime the API (for the CacheSetHelper) (c++)"APT::PackageContainer<std::set<pkgCache::PkgIterator, std::less<pkgCache::PkgIterator>, std::allocator<pkgCache::PkgIterator> > >::const_iterator::getPkg() const@Base" 0.8.16~exp9 (c++)"APT::PackageContainer<std::set<pkgCache::PkgIterator, std::less<pkgCache::PkgIterator>, std::allocator<pkgCache::PkgIterator> > >::getConstructor() const@Base" 0.8.16~exp9 @@ -1425,7 +1415,6 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"APT::VersionContainerInterface::getInstalledVer(pkgCacheFile&, pkgCache::PkgIterator const&, APT::CacheSetHelper&)@Base" 0.8.16~exp9 (c++)"APT::VersionContainerInterface::FromModifierCommandLine(unsigned short&, APT::VersionContainerInterface*, pkgCacheFile&, char const*, std::list<APT::VersionContainerInterface::Modifier, std::allocator<APT::VersionContainerInterface::Modifier> > const&, APT::CacheSetHelper&)@Base" 0.8.16~exp9 (c++)"EDSP::WriteLimitedScenario(pkgDepCache&, _IO_FILE*, APT::PackageContainer<std::set<pkgCache::PkgIterator, std::less<pkgCache::PkgIterator>, std::allocator<pkgCache::PkgIterator> > > const&, OpProgress*)@Base" 0.8.16~exp9 - (c++)"EDSP::WriteScenarioLimitedDependency(pkgDepCache&, _IO_FILE*, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, APT::PackageContainer<std::set<pkgCache::PkgIterator, std::less<pkgCache::PkgIterator>, std::allocator<pkgCache::PkgIterator> > > const&)@Base" 0.8.16~exp9 (c++)"typeinfo for APT::PackageContainer<std::set<pkgCache::PkgIterator, std::less<pkgCache::PkgIterator>, std::allocator<pkgCache::PkgIterator> > >::const_iterator@Base" 0.8.16~exp9 (c++)"typeinfo for APT::PackageContainer<std::set<pkgCache::PkgIterator, std::less<pkgCache::PkgIterator>, std::allocator<pkgCache::PkgIterator> > >@Base" 0.8.16~exp9 (c++)"typeinfo for APT::PackageContainer<std::list<pkgCache::PkgIterator, std::allocator<pkgCache::PkgIterator> > >::const_iterator@Base" 0.8.16~exp9 @@ -1537,11 +1526,6 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"pkgCache::DepIterator::IsIgnorable(pkgCache::PkgIterator const&) const@Base" 0.8.16~exp10 (c++)"pkgCache::DepIterator::IsIgnorable(pkgCache::PrvIterator const&) const@Base" 0.8.16~exp10 (c++)"FileFd::Write(int, void const*, unsigned long long)@Base" 0.8.16~exp14 - (c++|optional=private)"pkgCacheGenerator::MergeListGroup(pkgCacheGenerator::ListParser&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@Base" 0.8.16~exp7 - (c++|optional=private)"pkgCacheGenerator::MergeListPackage(pkgCacheGenerator::ListParser&, pkgCache::PkgIterator&)@Base" 0.8.16~exp7 - (c++|optional=private)"pkgCacheGenerator::MergeListVersion(pkgCacheGenerator::ListParser&, pkgCache::PkgIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pkgCache::VerIterator*&)@Base" 0.8.16~exp7 - (c++|optional=private)"pkgCacheGenerator::AddImplicitDepends(pkgCache::GrpIterator&, pkgCache::PkgIterator&, pkgCache::VerIterator&)@Base" 0.8.16~exp7 - (c++|optional=private)"pkgCacheGenerator::AddImplicitDepends(pkgCache::VerIterator&, pkgCache::PkgIterator&)@Base" 0.8.16~exp7 (c++)"pkgTagSection::Exists(char const*)@Base" 0.9.7.9~exp1 (c++)"_strrstrip(char*)@Base" 0.9.7.9~exp2 (c++)"SplitClearSignedFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, FileFd*, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, FileFd*)@Base" 0.9.7.9~exp2 @@ -1550,7 +1534,6 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"SigVerify::RunGPGV(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&)@Base" 0.9.7.9~exp2 (c++)"Configuration::Dump(std::basic_ostream<char, std::char_traits<char> >&, char const*, char const*, bool)@Base" 0.9.3 (c++)"AcquireUpdate(pkgAcquire&, int, bool, bool)@Base" 0.9.3 - (c++|optional=private)"pkgAcqMethod::Dequeue()@Base" 0.9.4 (c++)"pkgCache::DepIterator::IsMultiArchImplicit() const@Base" 0.9.6 (c++)"pkgCache::PrvIterator::IsMultiArchImplicit() const@Base" 0.9.6 (c++)"APT::PackageContainerInterface::FromGroup(APT::PackageContainerInterface*, pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@Base" 0.9.7 @@ -1565,8 +1548,6 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"pkgCache::DepIterator::IsSatisfied(pkgCache::VerIterator const&) const@Base" 0.9.8 (c++)"pkgCacheGenerator::NewDepends(pkgCache::PkgIterator&, pkgCache::VerIterator&, unsigned int, unsigned int const&, unsigned int const&, unsigned int*&)@Base" 0.9.8 (c++)"pkgCacheGenerator::NewVersion(pkgCache::VerIterator&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned long, unsigned long)@Base" 0.9.8 - (c++)"FileFd::FileFdErrno(char const*, char const*, ...)@Base" 0.9.9 - (c++)"FileFd::FileFdError(char const*, ...)@Base" 0.9.9 (c++)"operator<<(std::basic_ostream<char, std::char_traits<char> >&, GlobalError::Item)@Base" 0.9.9 (c++)"pkgDepCache::IsDeleteOkProtectInstallRequests(pkgCache::PkgIterator const&, bool, unsigned long, bool)@Base" 0.9.9.1 (c++)"pkgDepCache::IsInstallOkMultiArchSameVersionSynced(pkgCache::PkgIterator const&, bool, unsigned long, bool)@Base" 0.9.9.1 @@ -1579,7 +1560,6 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"APT::CacheFilter::PackageNameMatchesFnmatch::operator()(pkgCache::GrpIterator const&)@Base" 0.9.11 (c++)"APT::CacheFilter::PackageNameMatchesFnmatch::operator()(pkgCache::PkgIterator const&)@Base" 0.9.11 (c++)"APT::PackageContainerInterface::FromFnmatch(APT::PackageContainerInterface*, pkgCacheFile&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, APT::CacheSetHelper&)@Base" 0.9.11 - (c++|optional=private)"pkgTagFile::Resize(unsigned long long)@Base" 0.9.11 (c++)"pkgTagSection::pkgTagSection()@Base" 0.9.11 (c++)"strv_length(char const**)@Base" 0.9.11 (c++)"StringSplit(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)@Base" 0.9.11.3 @@ -1591,7 +1571,14 @@ libapt-pkg.so.4.12 libapt-pkg4.12 #MINVER# (c++)"HashString::GetHashForFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const@Base" 0.9.13.1 (c++)"indexRecords::GetSuite() const@Base" 0.9.13.2 (c++)"GetTempDir()@Base" 0.9.14.2 - (c++|optional=private)"pkgCdrom::MountAndIdentCDROM(Configuration&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, pkgCdromStatus*)@Base" 0.9.15.2 + (c++)"APT::Configuration::getBuildProfiles()@Base" 0.9.16 + (c++)"APT::Configuration::getBuildProfilesString()@Base" 0.9.16 + (c++)"Configuration::FindVector(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@Base" 0.9.16 + (c++)"debListParser::ParseDepends(char const*, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&)@Base" 0.9.16 + (c++)"debListParser::ParseDepends(char const*, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&, bool const&)@Base" 0.9.16 + (c++)"debListParser::ParseDepends(char const*, char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&, bool const&, bool const&, bool const&)@Base" 0.9.16 + (c++)"pkgCacheGenerator::ListParser::SameVersion(unsigned short, pkgCache::VerIterator const&)@Base" 0.9.16 + (c++)"Rename(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.9.16 ### demangle strangeness - buildd report it as MISSING and as new… (c++)"pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<IndexTarget*, std::allocator<IndexTarget*> > const*, indexRecords*)@Base" 0.8.0 ### gcc-4.6 artefacts diff --git a/doc/apt-extracttemplates.1.xml b/doc/apt-extracttemplates.1.xml index d27e05075..9f9888069 100644 --- a/doc/apt-extracttemplates.1.xml +++ b/doc/apt-extracttemplates.1.xml @@ -47,8 +47,8 @@ <para>template-file and config-script are written to the temporary directory specified by the <option>-t</option> or <option>--tempdir</option> (<literal>APT::ExtractTemplates::TempDir</literal>) directory, - with filenames of the form <filename>package.template.XXXX</filename> and - <filename>package.config.XXXX</filename></para> + with filenames of the form <filename>package.template.XXXXXX</filename> and + <filename>package.config.XXXXXX</filename></para> </refsect1> <refsect1><title>options</title> diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent index fdc63ab1a..1d98362c1 100644 --- a/doc/apt-verbatim.ent +++ b/doc/apt-verbatim.ent @@ -219,7 +219,7 @@ "> <!-- this will be updated by 'prepare-release' --> -<!ENTITY apt-product-version "0.9.16~20140314"> +<!ENTITY apt-product-version "0.9.16.1"> <!-- (Code)names for various things used all over the place --> <!ENTITY oldstable-codename "squeeze"> diff --git a/doc/examples/configure-index b/doc/examples/configure-index index 93e96cf16..020f0d2ce 100644 --- a/doc/examples/configure-index +++ b/doc/examples/configure-index @@ -149,7 +149,7 @@ APT MaxSize "0"; // (new) // - Set maximum size of the cache in MB (0=disable). If the cache // is bigger, cached package files are deleted until the size - // requirement is met (the biggest packages will be deleted + // requirement is met (the oldest packages will be deleted // first). Update-Package-Lists "0"; diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot index 2067216e9..63d29221c 100644 --- a/doc/po/apt-doc.pot +++ b/doc/po/apt-doc.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: apt-doc 0.9.15.5\n" +"Project-Id-Version: apt-doc 0.9.16.1\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" diff --git a/doc/po/it.po b/doc/po/it.po index dc74eb25e..3a54e10c9 100644 --- a/doc/po/it.po +++ b/doc/po/it.po @@ -5,14 +5,13 @@ # Eugenia Franzoni, 2000 # Hugh Hartmann, 2000-2012 # Gabriele Stilli, 2012 -# Beatrice Torracca, 2012 -# Beatrice Torracca <beatricet@libero.it>, 2012. +# Beatrice Torracca <beatricet@libero.it>, 2012, 2014. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" -"PO-Revision-Date: 2012-12-23 18:04+0200\n" +"POT-Creation-Date: 2014-03-14 09:57+0100\n" +"PO-Revision-Date: 2014-03-15 23:29+0200\n" "Last-Translator: Beatrice Torracca <beatricet@libero.it>\n" "Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n" "Language: it\n" @@ -692,7 +691,6 @@ msgstr "Descrizione" #. type: Content of: <refentry><refsect1><para> #: apt-get.8.xml:41 -#, fuzzy #| msgid "" #| "<command>apt-get</command> is the command-line tool for handling " #| "packages, and may be considered the user's \"back-end\" to other tools " @@ -707,7 +705,7 @@ msgstr "" "<command>apt-get</command> è lo strumento a riga di comando per gestire " "pacchetti e può essere considerato il «backend» dell'utente per altri " "strumenti che usano la libreria APT. Esistono diversi «frontend» per " -"interfaccia, come &dselect;, &aptitude;, &synaptic; e &wajig;." +"interfaccia, come &aptitude;, &synaptic; e &wajig;." #. type: Content of: <refentry><refsect1><para> #: apt-get.8.xml:46 apt-cache.8.xml:46 apt-cdrom.8.xml:53 apt-config.8.xml:46 @@ -1056,7 +1054,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:217 -#, fuzzy #| msgid "" #| "<literal>clean</literal> clears out the local repository of retrieved " #| "package files. It removes everything but the lock file from " @@ -1072,12 +1069,9 @@ msgid "" "partial/</filename>." msgstr "" "<literal>clean</literal> ripulisce il repository locale dei file di " -"pacchetto recuperati. Rimuove tutto da <filename>&cachedir;/archives/</" -"filename> e <filename>&cachedir;/archives/partial/</filename>, tranne il " -"file di lock. Quando APT viene usato come metodo per &dselect;, " -"<literal>clean</literal> viene eseguito automaticamente. Chi non usa dselect " -"probabilmente è bene che usi <literal>apt-get clean</literal> di quando in " -"quando per liberare spazio su disco." +"pacchetto recuperati. Rimuove tutto da " +"<filename>&cachedir;/archives/</filename> e " +"<filename>&cachedir;/archives/partial/</filename>, tranne il file di lock." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:224 @@ -1170,7 +1164,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:277 -#, fuzzy #| msgid "" #| "Fix; attempt to correct a system with broken dependencies in place. This " #| "option, when used with install/remove, can omit any packages to permit " @@ -1204,10 +1197,10 @@ msgstr "" "volta; APT stesso non permette l'esistenza di pacchetti con dipendenze non " "soddisfatte in un sistema. È possibile che la struttura di dipendenze di un " "sistema sia corrotta a tal punto da richiedere un intervento manuale (il che " -"di solito significa usare &dselect; o <command>dpkg --remove</command> per " -"eliminare alcuni dei pacchetti che creano problemi). L'uso di questa opzione " -"insieme a <option>-m</option> può in alcune situazioni produrre un errore. " -"Voce di configurazione: <literal>APT::Get::Fix-Broken</literal>." +"di solito significa usare <command>dpkg --remove</command> per eliminare " +"alcuni dei pacchetti che creano problemi). L'uso di questa opzione insieme a " +"<option>-m</option> può in alcune situazioni produrre un errore. Voce di " +"configurazione: <literal>APT::Get::Fix-Broken</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:292 @@ -1353,7 +1346,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:370 -#, fuzzy #| msgid "" #| "This option controls the architecture packages are built for by " #| "<command>apt-get source --compile</command> and how cross-" @@ -1378,7 +1370,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:380 -#, fuzzy #| msgid "" #| "This option controls the architecture packages are built for by " #| "<command>apt-get source --compile</command> and how cross-" @@ -1393,12 +1384,12 @@ msgid "" "than one build profile can be activated at a time by concatenating them with " "a comma. Configuration Item: <literal>APT::Build-Profiles</literal>." msgstr "" -"Questa opzione controlla l'architettura per la quale <command>apt-get source " -"--compile</command> compila i pacchetti e come le dipendenze di compilazione " -"incrociata sono soddisfatte. In modo predefinito non è impostata, il che " -"significa che l'architettura ospite è la stessa dell'architettura di " -"compilazione (che è definita da <literal>APT::Architecture</literal>). Voce " -"di configurazione: <literal>APT::Get::Host-Architecture</literal>." +"Questa opzione controlla i profili di compilazione attivi per i quali " +"<command>apt-get source --compile</command> compila un pacchetto sorgente e " +"come le dipendenze di compilazione sono soddisfatte. In modo predefinito non " +"è attivo alcun profilo di compilazione. Più profili di compilazione possono " +"essere attivati contemporaneamente concatenandoli con una virgola. Voce di " +"configurazione: <literal>APT::Build-Profiles</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:391 @@ -1433,6 +1424,13 @@ msgid "" "will never remove packages, only allow adding new ones. Configuration Item: " "<literal>APT::Get::Upgrade-Allow-New</literal>." msgstr "" +"Permette l'installazione di nuovi pacchetti quando usato insieme a " +"<literal>upgrade</literal>. Ciò è utile se l'aggiornamento di un pacchetto " +"installato richiede l'installazione di nuove dipendenze. Invece di bloccare " +"il pacchetto <literal>upgrade</literal> aggiornerà il pacchetto e installerà " +"le nuove dipendenze. Notare che <literal>upgrade</literal> con questa " +"opzione non rimuoverà mai pacchetti, permetterà solo l'aggiunta di nuovi. " +"Voce di configurazione: <literal>APT::Get::Upgrade-Allow-New</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-get.8.xml:415 @@ -1658,6 +1656,12 @@ msgid "" "Item: <literal>DpkgPM::Progress</literal> and <literal>Dpkg::Progress-Fancy</" "literal>." msgstr "" +"Mostra informazioni sul progresso facili da leggere nella finestra del " +"terminale quando i pacchetti sono installati, aggiornati o rimossi. Per una " +"versione analizzabile da macchina di questi dati, vedere README.progress-" +"reporting nella directory della documentazione di apt. Voce di " +"configurazione: <literal>DpkgPM::Progress</literal> e <literal>Dpkg" +"::Progress-Fancy</literal>." #. type: Content of: <refentry><refsect1><title> #: apt-get.8.xml:548 apt-cache.8.xml:345 apt-key.8.xml:176 apt-mark.8.xml:127 @@ -1676,7 +1680,6 @@ msgstr "Vedere anche" #. type: Content of: <refentry><refsect1><para> #: apt-get.8.xml:559 -#, fuzzy #| msgid "" #| "&apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;, &apt-conf;, " #| "&apt-config;, &apt-secure;, The APT User's guide in &guidesdir;, &apt-" @@ -1686,9 +1689,9 @@ msgid "" "&apt-secure;, The APT User's guide in &guidesdir;, &apt-preferences;, the " "APT Howto." msgstr "" -"&apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;, &apt-conf;, " -"&apt-config;, &apt-secure;, la Guida dell'utente di APT in &guidesdir;, &apt-" -"preferences;, l'APT Howto." +"&apt-cache;, &apt-cdrom;, &dpkg;, &sources-list;, &apt-conf;, &apt-config;, " +"&apt-secure;, la guida dell'utente di APT in &guidesdir;, &apt-preferences;, " +"l'APT Howto." #. type: Content of: <refentry><refsect1><title> #: apt-get.8.xml:564 apt-cache.8.xml:357 apt-mark.8.xml:137 @@ -2993,7 +2996,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cdrom.8.xml:87 -#, fuzzy #| msgid "" #| "Mount point; specify the location to mount the CD-ROM. This mount point " #| "must be listed in <filename>/etc/fstab</filename> and properly " @@ -3003,10 +3005,9 @@ msgid "" "<option>--cdrom</option> option. Configuration Item: <literal>Acquire::" "cdrom::AutoDetect</literal>." msgstr "" -"Punto di mount; specifica la posizione in cui montare il CD-ROM. Questo " -"punto di mount deve essere elencato nel file <filename>/etc/fstab</filename> " -"e configurato correttamente. Voce di configurazione: <literal>Acquire::" -"cdrom::mount</literal>." +"Non cercare di rilevare automaticamente il percorso del CD-ROM. Solitamente " +"usato insieme all'opzione <option>--cdrom</option>. Voce di configurazione: " +"<literal>Acquire::cdrom::AutoDetect</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt-cdrom.8.xml:95 @@ -3558,6 +3559,11 @@ msgid "" "is empty. The <envar>DEB_BUILD_PROFILES</envar> as used by &dpkg-" "buildpackage; overrides the list notation." msgstr "" +"Elenco dei profili di compilazione abilitati per la risoluzione delle " +"dipendenze di compilazione, senza il prefisso dello spazio dei nomi " +"«<literal>profile.</literal>». In modo predefinito questa lista è vuota. " +"<envar>DEB_BUILD_PROFILES</envar>, come usata da &dpkg-buildpackage; ha la " +"precedenza sulla notazione della lista." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:190 @@ -3987,7 +3993,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:400 -#, fuzzy #| msgid "" #| "The used bandwidth can be limited with <literal>Acquire::http::Dl-Limit</" #| "literal> which accepts integer values in kilobytes. The default value is " @@ -4001,11 +4006,11 @@ msgid "" "bandwidth. Note that this option implicitly disables downloading from " "multiple servers at the same time." msgstr "" -"La quantità di banda utilizzata può essere limitata con <literal>Acquire::" -"http::Dl-Limit</literal> che accetta valori interi in kilobyte. Il valore " -"predefinito è 0 che disattiva il limite e cerca di usare tutta la banda " -"disponibile (notare che questa opzione implicitamente disabilita lo " -"scaricamento da più server contemporaneamente)." +"La quantità di banda utilizzata può essere limitata con " +"<literal>Acquire::http::Dl-Limit</literal> che accetta valori interi in " +"kilobyte al secondo. Il valore predefinito è 0 che disattiva il limite e " +"cerca di usare tutta la banda disponibile. Notare che questa opzione " +"implicitamente disabilita lo scaricamento da più server contemporaneamente." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:407 @@ -4032,6 +4037,16 @@ msgid "" "takes precedence over the legacy option name <literal>ProxyAutoDetect</" "literal>." msgstr "" +"<literal>Acquire::http::Proxy-Auto-Detect</literal> può essere usato per " +"specificare un comando esterno per rilevare il proxy http da usare. Apt si " +"aspetta che il comando produca in output il proxy sullo stdout nello stile " +"<literal>http://proxy:porta/</literal>. Questo avrà la precedenza sul " +"generico <literal>Acquire::http::Proxy</literal>, ma non su qualsiasi " +"configurazione specifica di host proxy impostata con " +"<literal>Acquire::http::Proxy::$HOST</literal>. Vedere il pacchetto &squid-" +"deb-proxy-client; per un esempio di implementazione che usa avahi. Questa " +"opzione ha la precedenza sull'opzione col nome obsoleto " +"<literal>ProxyAutoDetect</literal>." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:429 @@ -4415,12 +4430,12 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:585 msgid "When downloading, force to use only the IPv4 protocol." -msgstr "" +msgstr "Durante gli scaricamenti, forza l'uso del solo protocollo IPv4." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:591 msgid "When downloading, force to use only the IPv6 protocol." -msgstr "" +msgstr "Durante gli scaricamenti, forza l'uso del solo protocollo IPv6." #. type: Content of: <refentry><refsect1><title> #: apt.conf.5.xml:598 @@ -4659,7 +4674,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:712 -#, fuzzy #| msgid "" #| "This is a list of shell commands to run before invoking &dpkg;. Like " #| "<literal>options</literal> this must be specified in list notation. The " @@ -4676,14 +4690,14 @@ msgid "" msgstr "" "Questa è una lista di comandi di shell da eseguire prima di invocare &dpkg;. " "Come <literal>options</literal> deve essere specificata con la notazione per " -"le liste. I comandi sono invocati in ordine usando <filename>/bin/sh</" -"filename>; se qualcuno dei comandi fallisce APT terminerà annullando. APT " -"passa i nomi di file di tutti i file .deb che sta per installare ai comandi, " -"uno per riga, sullo standard input." +"le liste. I comandi sono invocati in ordine usando " +"<filename>/bin/sh</filename>; se qualcuno dei comandi fallisce APT terminerà " +"annullando. APT passa i nomi di file di tutti i file .deb che sta per " +"installare ai comandi, uno per riga sul descrittore di file richiesto, " +"usando in modo predefinito lo standard input." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:719 -#, fuzzy #| msgid "" #| "Version 2 of this protocol dumps more information, including the protocol " #| "version, the APT configuration space and the packages, files and versions " @@ -4698,10 +4712,9 @@ msgid "" msgstr "" "La versione 2 di questo protocollo fa il dump di più informazioni, inclusi " "la versione del protocollo, lo spazio di configurazione di APT, e i " -"pacchetti, file e versioni che vengono modificati. La versione 2 viene " -"abilitata impostando <literal>DPkg::Tools::options::cmd::Version</literal> a " -"2. <literal>cmd</literal> è un comando passato a <literal>Pre-Install-Pkgs</" -"literal>." +"pacchetti, file e versioni che vengono modificati. La versione 3 aggiunge " +"l'architettura e il contrassegno <literal>MultiArch</literal> per ciascuna " +"versione di cui viene fatto il dump." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:724 @@ -4713,6 +4726,12 @@ msgid "" "the requested version it will send the information in the highest version it " "has support for instead." msgstr "" +"La versione del protocollo da usare per il comando " +"<literal><replaceable>cmd</replaceable></literal> può essere scelta " +"impostando in modo appropriato <literal>DPkg::Tools::options::<replaceable>cm" +"d</replaceable>::Version</literal>, il cui valore predefinito è la versione " +"1. Se APT non supporta la versione richiesta invierà invece l'informazione " +"nella versione più alta per cui ha il supporto." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:731 @@ -4724,6 +4743,13 @@ msgid "" "looking for the environment variable <envar>APT_HOOK_INFO_FD</envar> which " "contains the number of the used file descriptor as a confirmation." msgstr "" +"Il descrittore di file da usare per inviare le informazioni può essere " +"richiesto con <literal>DPkg::Tools::options::<replaceable>cmd</replaceable>::" +"InfoFD</literal> che è in modo predefinito <literal>0</literal> per lo " +"standard input ed è disponibile a partire dalla versione 0.9.11. Il supporto " +"per l'opzione può essere controllato guardando la variabile d'ambiente " +"<envar>APT_HOOK_INFO_FD</envar> che contiene il numero del descrittore di " +"file usato per conferma." #. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #: apt.conf.5.xml:741 @@ -6784,10 +6810,10 @@ msgstr "" #. type: Content of: <refentry><refsect1><literallayout> #: sources.list.5.xml:82 -#, fuzzy, no-wrap +#, no-wrap #| msgid "deb [ options ] uri distribution [component1] [component2] [...]" msgid "deb [ options ] uri suite [component1] [component2] [...]" -msgstr "deb [ opzioni ] uri distribuzione [componente1] [componente2] [...]" +msgstr "deb [ opzioni ] uri suite [componente1] [componente2] [...]" #. type: Content of: <refentry><refsect1><para><literallayout> #: sources.list.5.xml:86 @@ -6811,6 +6837,23 @@ msgid "" " [option1]: [option1-value]\n" " " msgstr "" +" Types: deb deb-src\n" +" URIs: http://example.com\n" +" Suites: stable testing\n" +" Sections: componente1 componente2\n" +" Description: breve\n" +" lunga lunga lunga\n" +" [opzione1]: [valore-opzione1]\n" +"\n" +" Types: deb\n" +" URIs: http://another.example.com\n" +" Suites: experimental\n" +" Sections: componente1 componente2\n" +" Enabled: no\n" +" Description:breve\n" +" lunga lunga lunga\n" +" [opzione1]: [valore-opzione1]\n" +" " #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:84 @@ -6818,10 +6861,11 @@ msgid "" "Alternatively a rfc822 style format is also supported: <placeholder type=" "\"literallayout\" id=\"0\"/>" msgstr "" +"In alternativa è gestito anche un formato in stile rfc822: <placeholder type=" +"\"literallayout\" id=\"0\"/>" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:105 -#, fuzzy #| msgid "" #| "The URI for the <literal>deb</literal> type must specify the base of the " #| "Debian distribution, from which APT will find the information it needs. " @@ -6842,18 +6886,16 @@ msgid "" "<literal>component</literal> must be present." msgstr "" "L'URI per il tipo <literal>deb</literal> deve specificare la base della " -"distribuzione Debian, dalla quale APT troverà le informazioni necessarie. " -"<literal>distribuzione</literal> può specificare un percorso esatto, nel " -"qual caso le componenti devono essere omesse e <literal>distribuzione</" -"literal> deve terminare con una sbarra (<literal>/</literal>). Questo è " -"utile nel caso in cui si è interessati solo a una particolare sottosezione " -"dell'archivio indicata dall'URI. Se <literal>distribuzione</literal> non " -"specifica un percorso esatto, deve essere presente almeno una " -"<literal>componente</literal>." +"distribuzione Debian, dalla quale APT troverà le informazioni di cui ha " +"bisogno. <literal>suite</literal> può specificare un percorso esatto, nel " +"qual caso le componenti devono essere omesse e <literal>suite</literal> deve " +"terminare con una sbarra (<literal>/</literal>). Questo è utile nel caso in " +"cui si è interessati solo a una particolare sottosezione dell'archivio " +"indicata dall'URI. Se <literal>suite</literal> non specifica un percorso " +"esatto, deve essere presente almeno una <literal>componente</literal>." #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:114 -#, fuzzy #| msgid "" #| "<literal>distribution</literal> may also contain a variable, <literal>" #| "$(ARCH)</literal> which expands to the Debian architecture (such as " @@ -6871,8 +6913,8 @@ msgid "" "<literal>APT</literal> will automatically generate a URI with the current " "architecture otherwise." msgstr "" -"<literal>distribuzione</literal> può anche contenere una variabile <literal>" -"$(ARCH)</literal> che viene espansa nell'architettura Debian (come " +"<literal>suite</literal> può anche contenere una variabile " +"<literal>$(ARCH)</literal> che viene espansa nell'architettura Debian (come " "<literal>amd64</literal> o <literal>armel</literal>) usata nel sistema. Ciò " "consente di utilizzare file <filename>sources.list</filename> indipendenti " "dall'architettura. In generale questo è interessante solo quando viene " @@ -6881,7 +6923,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para> #: sources.list.5.xml:122 -#, fuzzy #| msgid "" #| "Since only one distribution can be specified per line it may be necessary " #| "to have multiple lines for the same URI, if a subset of all available " @@ -6907,17 +6948,18 @@ msgid "" "users. APT also parallelizes connections to different hosts to more " "effectively deal with sites with low bandwidth." msgstr "" -"Dato che può essere specificata solo una distribuzione per riga, può essere " -"necessario avere più righe per lo stesso URI, se si desidera un sottoinsieme " -"di tutte le distribuzioni o componenti disponibili in quella posizione. APT " -"ordinerà la lista degli URI dopo aver generato internamente un insieme " -"completo, e riunirà i riferimenti multipli, per esempio al medesimo host " -"Internet in una singola connessione; in questo modo non stabilisce in modo " -"inefficiente una connessione FTP per poi chiuderla, fare qualcos'altro e " -"quindi ristabilire una connessione con il medesimo host. Questa funzionalità " -"è utile per accedere a siti FTP molto impegnati con un limite al numero di " -"accessi anonimi contemporanei. APT inoltre parallelizza le connessioni a " -"host differenti, per gestire in maniera più efficiente i siti con scarsa " +"Dato che, nel formato di sources.list in stile tradizionale, può essere " +"specificata solo una distribuzione per riga, può essere necessario avere più " +"righe per lo stesso URI, se si desidera un sottoinsieme di tutte le " +"distribuzioni o componenti disponibili in quella posizione. APT ordinerà la " +"lista degli URI dopo aver generato internamente un insieme completo, e " +"riunirà i riferimenti multipli, per esempio al medesimo host Internet in una " +"singola connessione; in questo modo non stabilisce in modo inefficiente una " +"connessione FTP per poi chiuderla, fare qualcos'altro e quindi ristabilire " +"una connessione con il medesimo host. Questa funzionalità è utile per " +"accedere a siti FTP molto impegnati con un limite al numero di accessi " +"anonimi contemporanei. APT inoltre parallelizza le connessioni a host " +"differenti, per gestire in maniera più efficiente i siti con scarsa " "larghezza di banda." #. type: Content of: <refentry><refsect1><para> @@ -6954,7 +6996,6 @@ msgstr "" #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml:146 -#, fuzzy #| msgid "" #| "<literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</" #| "replaceable>,…</literal> can be used to specify for which architectures " @@ -6967,11 +7008,10 @@ msgid "" "<replaceable>arch2</replaceable>,…</literal> which can be used to add/remove " "architectures from the set which will be downloaded." msgstr "" -"<literal>arch=<replaceable>arch1</replaceable>,<replaceable>arch2</" -"replaceable>,…</literal> può essere usato per specificare le architetture " -"per le quali scaricare le informazioni. Se questa opzione non è impostata " -"verranno scaricate tutte le architetture definite dall'opzione <literal>APT::" -"Architectures</literal>." +"<literal>arch+=<replaceable>arch1</replaceable>,<replaceable>arch2</replaceab" +"le>,…</literal> e <literal>arch-=<replaceable>arch1</replaceable>,<replaceabl" +"e>arch2</replaceable>,…</literal> possono essere usati per aggiungere e " +"rimuovere architetture dall'insieme di quelle che verranno scaricate." #. type: Content of: <refentry><refsect1><para><itemizedlist><listitem><para> #: sources.list.5.xml:149 @@ -8796,7 +8836,6 @@ msgstr "" #. type: <p></p> #: guide.sgml:163 -#, fuzzy #| msgid "" #| "<prgn>apt-get</prgn> has several command line options that are detailed " #| "in its man page, <manref section=\"8\" name=\"apt-get\">. The most useful " @@ -8807,7 +8846,7 @@ msgstr "" #| "command that caused them to be downloaded again without <tt>-d</tt>." msgid "" "<prgn>apt-get</prgn> has several command line options that are detailed in " -"its man page, <manref name=\"apt-get\" section=\"8\">. The most useful " +"its man page, <manref section=\"8\" name=\"apt-get\">. The most useful " "option is <tt>-d</tt> which does not install the fetched files. If the " "system has to download a large number of package it would be undesired to " "start installing them in case something goes wrong. When <tt>-d</tt> is used " @@ -8815,13 +8854,13 @@ msgid "" "caused them to be downloaded again without <tt>-d</tt>." msgstr "" "<prgn>apt-get</prgn> ha diverse opzioni per la riga di comando, che sono " -"documentate dettagliatamente nella sua pagina di manuale, <manref section=" -"\"8\" name=\"apt-get\">. L'opzione più utile è <tt>-d</tt>, che non installa " -"i file scaricati; se il sistema deve scaricare un gran numero di pacchetti, " +"documentate dettagliatamente nella sua pagina di manuale, <manref section=\"" +"8\" name=\"apt-get\">. L'opzione più utile è <tt>-d</tt>, che non installa i " +"file scaricati; se il sistema deve scaricare un gran numero di pacchetti, " "non è bene iniziare ad installarli nel caso qualcosa dovesse andare storto. " "Quando si usa <tt>-d</tt>, gli archivi scaricati possono essere installati " -"semplicemente eseguendo di nuovo lo stesso comando senza l'opzione <tt>-d</" -"tt>." +"semplicemente eseguendo di nuovo lo stesso comando senza l'opzione " +"<tt>-d</tt>." #. type: <heading></heading> #: guide.sgml:168 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -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: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -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: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -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: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.9.7.6\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2012-10-19 13:30+0200\n" "Last-Translator: Jordi Mallach <jordi@debian.org>\n" "Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2012-07-08 13:46+0200\n" "Last-Translator: Miroslav Kure <kurem@debian.cz>\n" "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: APT\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2013-12-14 23:51+0200\n" "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" "Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.9.2\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2012-06-27 10:55+0200\n" "Last-Translator: Holger Wansing <linux@wansing-online.de>\n" "Language-Team: Debian German <debian-l10n-german@lists.debian.org>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po.pot\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po_el\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -33,7 +33,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: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2011-01-24 11:47+0100\n" "Last-Translator: Javier Fernández-Sanguino Peña <jfs@debian.org>\n" "Language-Team: Debian Spanish <debian-l10n-spanish@lists.debian.org>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po_eu\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -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: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2013-08-17 07:57+0200\n" "Last-Translator: Christian Perrier <bubulle@debian.org>\n" "Language-Team: French <debian-l10n-french@lists.debian.org>\n" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po_gl\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt trunk\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2012-06-25 17:09+0200\n" "Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n" "Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2013-08-27 22:06+0200\n" "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n" "Language-Team: Italian <tp@lists.linux.it>\n" @@ -6,10 +6,10 @@ # Debian Project, Kenshi Muto <kmuto@debian.org>, 2004-2012 msgid "" msgstr "" -"Project-Id-Version: apt 0.9.9.4\n" +"Project-Id-Version: apt 0.9.16.1\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" -"PO-Revision-Date: 2013-08-11 19:39+0900\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" +"PO-Revision-Date: 2014-03-21 19:53+0900\n" "Last-Translator: Kenshi Muto <kmuto@debian.org>\n" "Language-Team: Debian Japanese List <debian-japanese@lists.debian.org>\n" "Language: ja\n" @@ -249,17 +249,15 @@ msgid "Failed to mount '%s' to '%s'" msgstr "'%s' を '%s' にマウントできませんでした" #: cmdline/apt-cdrom.cc:178 -#, fuzzy msgid "" "No CD-ROM could be auto-detected or found using the default mount point.\n" "You may try the --cdrom option to set the CD-ROM mount point.\n" "See 'man apt-cdrom' for more information about the CD-ROM auto-detection and " "mount point." msgstr "" -"CD-ROM が自動検出されなかったか、デフォルトで利用するマウントポイントに見当た" -"りませんでした。CD-ROM のマウントポイントを設定するために --cdrom オプション" -"を試すことができます。CD-ROM の自動検出およびマウントポイントの詳細について" -"は、'man apt-cdrom' を参照してください。" +"CD-ROM が自動検出されなかったか、デフォルトで利用するマウントポイントに見当たりませんでした。\n" +"CD-ROM のマウントポイントを設定するために --cdrom オプションを試すことができます。\n" +"CD-ROM の自動検出およびマウントポイントの詳細については、'man apt-cdrom' を参照してください。" #: cmdline/apt-cdrom.cc:182 msgid "Repeat this process for the rest of the CDs in your set." @@ -299,19 +297,19 @@ msgstr "" " -o=? 指定した設定オプションを適用する (例: -o dir::cache=/tmp)\n" #: cmdline/apt-get.cc:245 -#, fuzzy, c-format +#, c-format msgid "Can not find a package for architecture '%s'" -msgstr "正規表現 '%s' ではパッケージは見つかりませんでした" +msgstr "アーキテクチャ '%s' 用のパッケージは見つかりませんでした" #: cmdline/apt-get.cc:327 -#, fuzzy, c-format +#, c-format msgid "Can not find a package '%s' with version '%s'" -msgstr "正規表現 '%s' ではパッケージは見つかりませんでした" +msgstr "パッケージ '%s' のバージョン '%s' は見つかりませんでした" #: cmdline/apt-get.cc:330 -#, fuzzy, c-format +#, c-format msgid "Can not find a package '%s' with release '%s'" -msgstr "正規表現 '%s' ではパッケージは見つかりませんでした" +msgstr "リリース '%2$s' にはパッケージ '%1$s' は見つかりませんでした" #: cmdline/apt-get.cc:367 #, c-format @@ -319,9 +317,9 @@ msgid "Picking '%s' as source package instead of '%s'\n" msgstr "'%2$s' の代わりに '%1$s' をソースパッケージとして選出しています\n" #: cmdline/apt-get.cc:423 -#, fuzzy, c-format +#, c-format msgid "Can not find version '%s' of package '%s'" -msgstr "パッケージ '%2$s' の利用できないバージョン '%1$s' を無視" +msgstr "パッケージ '%2$s' のバージョン '%1$s' は見つかりませんでした" #: cmdline/apt-get.cc:454 #, c-format @@ -637,14 +635,12 @@ msgstr "" " この APT は Super Cow Powers 化されています。\n" #: cmdline/apt-helper.cc:35 -#, fuzzy msgid "Must specify at least one pair url/filename" -msgstr "" -"ソースを取得するには少なくとも 1 つのパッケージ名を指定する必要があります" +msgstr "少なくとも URL / ファイル名を 1 組指定する必要があります" #: cmdline/apt-helper.cc:52 msgid "Download Failed" -msgstr "" +msgstr "ダウンロード失敗" #: cmdline/apt-helper.cc:65 msgid "" @@ -658,6 +654,15 @@ msgid "" "\n" " This APT helper has Super Meep Powers.\n" msgstr "" +"使用法: apt-helper [オプション] コマンド\n" +" apt-helper [オプション] download-file uri 目標パス\n" +"\n" +"apt-helper は apt の内部ヘルパーです\n" +"\n" +"コマンド:\n" +" download-file - 指定した uri を目標パスにダウンロードする\n" +"\n" +" この APT helper は Super Meep Powers 化されています。\n" #: cmdline/apt-mark.cc:68 #, c-format @@ -706,7 +711,6 @@ msgid "Executing dpkg failed. Are you root?" msgstr "dpkg の実行に失敗しました。root 権限で実行していますか?" #: cmdline/apt-mark.cc:392 -#, fuzzy msgid "" "Usage: apt-mark [options] {auto|manual} pkg1 [pkg2 ...]\n" "\n" @@ -738,8 +742,13 @@ msgstr "" "する簡単なコマンドラインインターフェイスです。マークの一覧表示もできます。\n" "\n" "コマンド:\n" -" auto - 指定のパッケージを自動でインストールされたものとしてマークする\n" -" manual - 指定のパッケージを手動でインストールしたものとしてマークする\n" +" auto - 指定のパッケージを自動でインストールされたものとしてマークする\n" +" manual - 指定のパッケージを手動でインストールしたものとしてマークする\n" +" hold - パッケージを保留としてマークする\n" +" unhold - パッケージの保留を解除する\n" +" showauto - 自動的にインストールされたパッケージの一覧を表示する\n" +" showmanual - 手作業でインストールしたパッケージの一覧を表示する\n" +" showhold - 保留されているパッケージの一覧を表示する\n" "\n" "オプション:\n" " -h このヘルプを表示する\n" @@ -749,8 +758,7 @@ msgstr "" " -f 指定のファイルを使って自動/手動のマーキングを読み書きする\n" " -c=? 指定した設定ファイルを読み込む\n" " -o=? 任意の設定オプションを指定する (例 -o dir::cache=/tmp)\n" -"さらなる情報については、マニュアルページ apt-mark(8) および apt.conf(5) を参" -"照してください。" +"さらなる情報については、マニュアルページ apt-mark(8) および apt.conf(5) を参照してください。" #: cmdline/apt.cc:47 msgid "" @@ -773,6 +781,23 @@ msgid "" "\n" " edit-sources - edit the source information file\n" msgstr "" +"使用法: apt [オプション] コマンド\n" +"\n" +"apt 用コマンドラインインターフェイス\n" +"基本コマンド: \n" +" list - パッケージ名を基にパッケージの一覧を表示\n" +" search - パッケージの説明を検索\n" +" show - パッケージの詳細を表示\n" +"\n" +" update - 利用可能パッケージの一覧を更新\n" +"\n" +" install - パッケージをインストール\n" +" remove - パッケージを削除\n" +"\n" +" upgrade - パッケージをインストール/更新してシステムをアップグレード\n" +" full-upgrade - パッケージを削除/インストール/更新してシステムをアップグレード\n" +"\n" +" edit-sources - ソース情報ファイルを編集\n" #: methods/cdrom.cc:203 #, c-format @@ -1148,7 +1173,7 @@ msgstr "内部エラー" #: apt-private/private-list.cc:132 msgid "Listing" -msgstr "" +msgstr "一覧表示" #: apt-private/private-install.cc:81 msgid "Internal error, InstallPackages was called with broken packages!" @@ -1392,40 +1417,37 @@ msgstr "%s の取得に失敗しました %s\n" #: apt-private/private-output.cc:81 apt-private/private-show.cc:84 #: apt-private/private-show.cc:89 msgid "unknown" -msgstr "" +msgstr "不明" #: apt-private/private-output.cc:207 -#, fuzzy, c-format +#, c-format msgid "[installed,upgradable to: %s]" -msgstr " [インストール済み]" +msgstr "[インストール済み、%s にアップグレード可]" #: apt-private/private-output.cc:211 -#, fuzzy msgid "[installed,local]" -msgstr " [インストール済み]" +msgstr "[インストール済み、ローカル]" #: apt-private/private-output.cc:214 msgid "[installed,auto-removable]" -msgstr "" +msgstr "[インストール済み、自動削除可]" #: apt-private/private-output.cc:216 -#, fuzzy msgid "[installed,automatic]" -msgstr " [インストール済み]" +msgstr "[インストール済み、自動]" #: apt-private/private-output.cc:218 -#, fuzzy msgid "[installed]" -msgstr " [インストール済み]" +msgstr "[インストール済み]" #: apt-private/private-output.cc:222 #, c-format msgid "[upgradable from: %s]" -msgstr "" +msgstr "[%s からアップグレード可]" #: apt-private/private-output.cc:226 msgid "[residual-config]" -msgstr "" +msgstr "[設定未完了]" #: apt-private/private-output.cc:326 msgid "The following packages have unmet dependencies:" @@ -1586,7 +1608,7 @@ msgstr "未解決の依存関係があります。-f オプションを試して #: apt-private/private-cacheset.cc:35 apt-private/private-search.cc:47 msgid "Sorting" -msgstr "" +msgstr "ソート中" #: apt-private/private-update.cc:31 msgid "The update command takes no arguments" @@ -1597,9 +1619,8 @@ msgid "Calculating upgrade... " msgstr "アップグレードパッケージを検出しています ... " #: apt-private/private-upgrade.cc:30 -#, fuzzy msgid "Internal error, Upgrade broke stuff" -msgstr "内部エラー、AllUpgrade が何かを破壊しました" +msgstr "内部エラー、アップグレードで何か壊れました" #: apt-private/private-upgrade.cc:32 msgid "Done" @@ -1607,18 +1628,18 @@ msgstr "完了" #: apt-private/private-search.cc:51 msgid "Full Text Search" -msgstr "" +msgstr "全文検索" #: apt-private/private-show.cc:156 #, c-format msgid "There is %i additional record. Please use the '-a' switch to see it" msgid_plural "" "There are %i additional records. Please use the '-a' switch to see them." -msgstr[0] "" +msgstr[0] "追加レコードが %i 件あります。表示するには '-a' スイッチを付けてください。" #: apt-private/private-show.cc:163 msgid "not a real package (virtual)" -msgstr "" +msgstr "実際のパッケージではありません (仮想)" #: apt-private/private-main.cc:23 msgid "" @@ -1633,14 +1654,14 @@ msgstr "" " あるとは言い切れないことに注意してください!" #: apt-private/private-sources.cc:58 -#, fuzzy, c-format +#, c-format msgid "Failed to parse %s. Edit again? " -msgstr "%s を %s に名前変更できませんでした" +msgstr "%s の解析に失敗しました。再編集しますか? " #: apt-private/private-sources.cc:70 #, c-format msgid "Your '%s' file changed, please run 'apt-get update'." -msgstr "" +msgstr "'%s' ファイルが変更されています。「apt-get update」を実行してください。" #: apt-private/acqprogress.cc:66 msgid "Hit " @@ -2046,9 +2067,9 @@ msgstr "'%s' をオープンできません" #. skip spaces #. find end of word #: ftparchive/override.cc:68 -#, fuzzy, c-format +#, c-format msgid "Malformed override %s line %llu (%s)" -msgstr "不正な override %s %llu 行目 #1" +msgstr "不正な override %s %llu 行目 (%s)" #: ftparchive/override.cc:127 ftparchive/override.cc:201 #, c-format @@ -2781,9 +2802,9 @@ msgid "Unable to parse package file %s (2)" msgstr "パッケージファイル %s を解釈することができません (2)" #: apt-pkg/sourcelist.cc:127 -#, fuzzy, c-format +#, c-format msgid "Malformed stanza %u in source list %s (URI parse)" -msgstr "ソースリスト %2$s の %1$lu 行目が不正です (URI parse)" +msgstr "ソースリスト %2$s の %1$u 個目の区切りが不正です (URI parse)" #: apt-pkg/sourcelist.cc:170 #, c-format @@ -2860,9 +2881,9 @@ msgid "Type '%s' is not known on line %u in source list %s" msgstr "ソースリスト %3$s の %2$u 行にあるタイプ '%1$s' は不明です" #: apt-pkg/sourcelist.cc:416 -#, fuzzy, c-format +#, c-format msgid "Type '%s' is not known on stanza %u in source list %s" -msgstr "ソースリスト %3$s の %2$u 行にあるタイプ '%1$s' は不明です" +msgstr "ソースリスト %3$s の %2$u 個目の節 '%1$s' は不明です" #: apt-pkg/packagemanager.cc:303 apt-pkg/packagemanager.cc:932 #, c-format @@ -2947,10 +2968,9 @@ msgid "The method driver %s could not be found." msgstr "メソッドドライバ %s が見つかりません。" #: apt-pkg/acquire-worker.cc:118 -#, fuzzy, c-format +#, c-format msgid "Is the package %s installed?" -msgstr "" -"'dpkg-dev' パッケージがインストールされていることを確認してください。\n" +msgstr "パッケージ %s はインストールされていますか?" #: apt-pkg/acquire-worker.cc:169 #, c-format @@ -3090,9 +3110,8 @@ msgid "Size mismatch" msgstr "サイズが適合しません" #: apt-pkg/acquire-item.cc:173 -#, fuzzy msgid "Invalid file format" -msgstr "不正な操作 %s" +msgstr "不正なファイル形式" #: apt-pkg/acquire-item.cc:1579 #, c-format @@ -3325,9 +3344,9 @@ msgid "Couldn't find any package by regex '%s'" msgstr "正規表現 '%s' ではパッケージは見つかりませんでした" #: apt-pkg/cacheset.cc:613 -#, fuzzy, c-format +#, c-format msgid "Couldn't find any package by glob '%s'" -msgstr "正規表現 '%s' ではパッケージは見つかりませんでした" +msgstr "'%s' に一致するパッケージは見つかりませんでした" #: apt-pkg/cacheset.cc:624 #, c-format @@ -3384,7 +3403,7 @@ msgstr "外部ソルバを実行" #: apt-pkg/install-progress.cc:57 #, c-format msgid "Progress: [%3i%%]" -msgstr "" +msgstr "進捗: [%3i%%]" #: apt-pkg/install-progress.cc:91 apt-pkg/install-progress.cc:174 msgid "Running dpkg" @@ -3481,20 +3500,20 @@ msgstr "%s を完全に削除しました" #: apt-pkg/deb/dpkgpm.cc:1050 msgid "ioctl(TIOCGWINSZ) failed" -msgstr "" +msgstr "ioctl(TIOCGWINSZ) に失敗しました" #: apt-pkg/deb/dpkgpm.cc:1053 apt-pkg/deb/dpkgpm.cc:1074 -#, fuzzy, c-format +#, c-format msgid "Can not write log (%s)" -msgstr "%s に書き込めません" +msgstr "ログを書き込めません (%s)" #: apt-pkg/deb/dpkgpm.cc:1053 msgid "Is /dev/pts mounted?" -msgstr "" +msgstr "/dev/pts はマウントされていますか?" #: apt-pkg/deb/dpkgpm.cc:1074 msgid "Is stdout a terminal?" -msgstr "" +msgstr "標準出力はターミナルですか?" #: apt-pkg/deb/dpkgpm.cc:1562 msgid "Operation was interrupted before it could finish" @@ -3534,13 +3553,10 @@ msgstr "" "込まれません。" #: apt-pkg/deb/dpkgpm.cc:1651 apt-pkg/deb/dpkgpm.cc:1657 -#, fuzzy msgid "" "No apport report written because the error message indicates an issue on the " "local system" -msgstr "" -"エラーメッセージはディスクフルエラーであることを示しているので、レポートは書" -"き込まれません。" +msgstr "エラーメッセージはローカルシステムの問題であることを示しているので、レポートは書き込まれません。" #: apt-pkg/deb/dpkgpm.cc:1678 msgid "" @@ -3577,119 +3593,3 @@ msgstr "" #: apt-pkg/deb/debsystem.cc:128 msgid "Not locked" msgstr "ロックされていません" - -#~ msgid "%s not a valid DEB package." -#~ msgstr "%s は正しい DEB パッケージではありません。" - -#~ msgid "" -#~ "Using CD-ROM mount point %s\n" -#~ "Mounting CD-ROM\n" -#~ msgstr "" -#~ "CD-ROM マウントポイント %s を使用します\n" -#~ "CD-ROM をマウントしています\n" - -#~ msgid "" -#~ "Could not patch %s with mmap and with file operation usage - the patch " -#~ "seems to be corrupt." -#~ msgstr "" -#~ "mmap およびファイル操作用法へのパッチ %s を適用できません - パッチが壊れて" -#~ "いるようです。" - -#~ msgid "" -#~ "Could not patch %s with mmap (but no mmap specific fail) - the patch " -#~ "seems to be corrupt." -#~ msgstr "" -#~ "mmap へのパッチ %s を適用できません (しかし mmap 固有の失敗ではありませ" -#~ "ん) - パッチが壊れているようです。" - -#~ msgid "Note, selecting '%s' for task '%s'\n" -#~ msgstr "注意: タスク '%2$s' に対して '%1$s' を選択しています\n" - -#~ msgid "Note, selecting '%s' for regex '%s'\n" -#~ msgstr "注意: 正規表現 '%2$s' に対して '%1$s' を選択しています\n" - -#~ msgid "Package %s is a virtual package provided by:\n" -#~ msgstr "%s は以下のパッケージで提供されている仮想パッケージです:\n" - -#~ msgid " [Not candidate version]" -#~ msgstr "[候補バージョンなし]" - -#~ msgid "You should explicitly select one to install." -#~ msgstr "インストールするパッケージを明示的に選択する必要があります。" - -#~ msgid "" -#~ "Package %s is not available, but is referred to by another package.\n" -#~ "This may mean that the package is missing, has been obsoleted, or\n" -#~ "is only available from another source\n" -#~ msgstr "" -#~ "パッケージ %s はデータベースには存在しますが、利用できません。\n" -#~ "おそらく、そのパッケージが見つからないか、もう古くなっているか、\n" -#~ "あるいは別のソースからのみしか利用できないという状況が考えられます\n" - -#~ msgid "However the following packages replace it:" -#~ msgstr "しかし、以下のパッケージで置き換えられています:" - -#~ msgid "Package '%s' has no installation candidate" -#~ msgstr "パッケージ '%s' にはインストール候補がありません" - -#~ msgid "Virtual packages like '%s' can't be removed\n" -#~ msgstr "'%s' のような仮想パッケージは削除できません\n" - -#~ msgid "Package '%s' is not installed, so not removed. Did you mean '%s'?\n" -#~ msgstr "" -#~ "パッケージ %s はインストールされていないため、削除はできません。'%s' のこ" -#~ "とでしょうか?\n" - -#~ msgid "Package '%s' is not installed, so not removed\n" -#~ msgstr "パッケージ '%s' はインストールされていないため、削除はできません\n" - -#~ msgid "Note, selecting '%s' instead of '%s'\n" -#~ msgstr "注意、'%2$s' の代わりに '%1$s' を選択しています\n" - -#~ msgid "Skipping %s, it is already installed and upgrade is not set.\n" -#~ msgstr "" -#~ "すでにインストールされておりアップグレードも設定されていないため、%s をス" -#~ "キップします。\n" - -#~ msgid "Skipping %s, it is not installed and only upgrades are requested.\n" -#~ msgstr "" -#~ "%s はインストールされていないのにアップグレードだけが要求されているので、" -#~ "スキップします。\n" - -#~ msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" -#~ msgstr "ダウンロードできないため、%s の再インストールは不可能です。\n" - -#~ msgid "%s is already the newest version.\n" -#~ msgstr "%s はすでに最新バージョンです。\n" - -#~ msgid "Selected version '%s' (%s) for '%s'\n" -#~ msgstr "'%3$s' にはバージョン '%1$s' (%2$s) を選択しました\n" - -#~ msgid "Selected version '%s' (%s) for '%s' because of '%s'\n" -#~ msgstr "'%4$s' のため、'%3$s' にはバージョン '%1$s' (%2$s) を選択しました\n" - -#~ msgid "Ignore unavailable target release '%s' of package '%s'" -#~ msgstr "パッケージ '%2$s' の利用できないターゲットリリース '%1$s' を無視" - -#~ msgid "Downloading %s %s" -#~ msgstr "%s %s をダウンロードしています" - -#~ msgid "This is not a valid DEB archive, it has no '%s', '%s' or '%s' member" -#~ msgstr "" -#~ "これは正しい DEB アーカイブではありません。'%s'、'%s'、'%s' のいずれのメン" -#~ "バーもありません" - -#~ msgid "MD5Sum mismatch" -#~ msgstr "MD5Sum が適合しません" - -#~ msgid "" -#~ "I wasn't able to locate a file for the %s package. This might mean you " -#~ "need to manually fix this package." -#~ msgstr "" -#~ "パッケージ %s のファイルの位置を特定できません。おそらくこのパッケージを手" -#~ "動で修正する必要があります。" - -#~ msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n" -#~ msgstr "" -#~ "ログに書き込めません。openpty() に失敗しました (/dev/pts がマウントされて" -#~ "いない?)\n" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po_km\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-ku\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2008-05-08 12:48+0200\n" "Last-Translator: Erdal Ronahi <erdal dot ronahi at gmail dot com>\n" "Language-Team: ku <ubuntu-l10n-kur@lists.ubuntu.com>\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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 " @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2010-09-01 21:10+0200\n" "Last-Translator: Hans Fredrik Nordhaug <hans@nordhaug.priv.no>\n" "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_po\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.15.9\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2011-12-05 17:10+0100\n" "Last-Translator: Jeroen Schot <schot@a-eskwadraat.nl>\n" "Language-Team: Debian l10n Dutch <debian-l10n-dutch@lists.debian.org>\n" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt_nn\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -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: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" diff --git a/po/pt_BR.po b/po/pt_BR.po index a16be868a..f3abbf512 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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." @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ro\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: apt rev2227.1.3\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2012-06-30 08:47+0400\n" "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -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: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2010-08-24 21:18+0100\n" "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" "Language-Team: Swedish <debian-l10n-swedish@debian.org>\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2012-10-27 22:44+0700\n" "Last-Translator: Theppitak Karoonboonyanan <thep@linux.thai.net>\n" "Language-Team: Thai <thai-l10n@googlegroups.com>\n" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2013-02-18 03:41+0200\n" "Last-Translator: Mert Dirik <mertdirik@gmail.com>\n" "Language-Team: Debian l10n Turkish\n" @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: apt-all\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.9.15.5\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2014-03-03 15:40+0700\n" "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" diff --git a/po/zh_CN.po b/po/zh_CN.po index 4ee8099bb..671f4453f 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: apt 0.8.0~pre1\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+0100\n" "PO-Revision-Date: 2010-08-26 14:42+0800\n" "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" diff --git a/po/zh_TW.po b/po/zh_TW.po index 5199b3f99..53ea6b521 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.5.4\n" "Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n" -"POT-Creation-Date: 2014-03-14 09:13+0100\n" +"POT-Creation-Date: 2014-03-15 18:13+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." diff --git a/test/integration/framework b/test/integration/framework index 8e401cb5f..1c6f041b0 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -118,6 +118,7 @@ apt() { runapt apt "$@"; } apthelper() { runapt "${APTHELPERBINDIR}/apt-helper" "$@"; } aptwebserver() { runapt "${APTWEBSERVERBINDIR}/aptwebserver" "$@"; } aptitude() { runapt aptitude "$@"; } +aptextracttemplates() { runapt apt-extracttemplates "$@"; } dpkg() { command dpkg --root=${TMPWORKINGDIRECTORY}/rootdir --force-not-root --force-bad-path --log=${TMPWORKINGDIRECTORY}/rootdir/var/log/dpkg.log "$@" diff --git a/test/integration/test-apt-extracttemplates b/test/integration/test-apt-extracttemplates new file mode 100755 index 000000000..ae2cc8bc2 --- /dev/null +++ b/test/integration/test-apt-extracttemplates @@ -0,0 +1,45 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework + +setupenvironment +configarchitecture 'amd64' + +# apt-extracttemplates needs this +insertinstalledpackage 'debconf' 'amd64' '1.5' +insertinstalledpackage 'pkg-with-template' 'amd64' '1.0' + +# build a simple package that contains a config and a tempalte +mkdir -p DEBIAN +TEMPLATE_STR="Template: foo/bar +Type: string +Description: Some bar var +" +echo "$TEMPLATE_STR" > DEBIAN/templates + +CONFIG_STR="#!/bin/sh +random shell stuff +" +echo "$CONFIG_STR" > DEBIAN/config + +buildsimplenativepackage 'pkg-with-template' 'amd64' '0.8.15' 'stable' '' 'pkg with template' '' '' './DEBIAN' + +# ensure we get the right stuff out of the file +mkdir extracttemplates-out +OUT="$(aptextracttemplates -t ./extracttemplates-out incoming/pkg-with-template*.deb)" + +PKG=$(printf "$OUT" | cut -f1 -d' ') +INSTALLED_VER=$(printf "$OUT" | cut -f2 -d' ') +TEMPLATE=$(printf "$OUT" | cut -f3 -d' ') +CONFIG=$(printf "$OUT" | cut -f4 -d' ') + +testequal "$CONFIG_STR" cat $CONFIG +testequal "$TEMPLATE_STR" cat $TEMPLATE + +# ensure that the format of the output string has the right number of dots +for s in "$CONFIG" "$TEMPLATE"; do + NR_DOTS=$(basename "$s" | tr -c -d .) + testequal ".." echo $NR_DOTS +done diff --git a/test/integration/test-apt-progress-fd-error-postinst b/test/integration/test-apt-progress-fd-error-postinst deleted file mode 100755 index 0b6e70212..000000000 --- a/test/integration/test-apt-progress-fd-error-postinst +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -set -e - -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework - -setupenvironment -configarchitecture 'amd64' 'i386' - -mkdir -p DEBIAN/ -echo "#!/bin/sh\nexit 1" > DEBIAN/postinst -chmod 755 DEBIAN/postinst - -buildsimplenativepackage 'postinst-error' 'amd64,i386' '0.8.15' 'stable' '' 'pkg with posinst error' '' '' './DEBIAN' - -setupaptarchive - -exec 3> apt-progress.log -testfailure aptget install postinst-error -y -o APT::Status-Fd=3 -msgtest "Ensure correct error message for postinst error" -grep -q "pmerror:postinst-error :80:subprocess installed post-installation script returned error exit status 2" apt-progress.log && msgpass || msgfail - diff --git a/test/integration/test-bug-612958-use-dpkg-multiarch-config b/test/integration/test-bug-612958-use-dpkg-multiarch-config index 4d1f00ca0..7bf5781e8 100755 --- a/test/integration/test-bug-612958-use-dpkg-multiarch-config +++ b/test/integration/test-bug-612958-use-dpkg-multiarch-config @@ -43,6 +43,15 @@ testpass 'apt config' 'armel' rm $CONFFILE echo '#clear APT::Architectures;' >> $CONFFILE +echo 'APT::Architectures "i386,amd64";' >> $CONFFILE + +testpass 'apt config' 'i386' +testpass 'apt config' 'amd64' +testfail 'apt config' 'armel' + +rm $CONFFILE + +echo '#clear APT::Architectures;' >> $CONFFILE echo 'Dir::Bin::dpkg "./dpkg-printer";' >> $CONFFILE echo '#! /bin/sh diff --git a/test/integration/test-bug-735967-lib32-to-i386-unavailable b/test/integration/test-bug-735967-lib32-to-i386-unavailable index 4dbe1d25d..e9f3bf96d 100755 --- a/test/integration/test-bug-735967-lib32-to-i386-unavailable +++ b/test/integration/test-bug-735967-lib32-to-i386-unavailable @@ -12,6 +12,9 @@ insertpackage 'unstable' 'libnss-mdns' 'amd64,i386' '0.10-6' 'Multi-Arch: same Breaks: lib32nss-mdns (<< 0.10-6)' insertpackage 'unstable' 'libnss-mdns-i386' 'i386' '0.10-6' 'Multi-Arch: foreign Depends: libnss-mdns' +# introduce some dummies so that there are versions, but none works +insertpackage 'unstable' 'libnss-mdns-i386' 'amd64' '0.1-6' +insertpackage 'experimental' 'libnss-mdns-amd64' 'i386,amd64' '0.10-6' 'Provides: libnss-mdns-i386' insertpackage 'unstable' 'foo' 'amd64' '1' 'Depends: libfoo' insertpackage 'unstable' 'libfoo' 'amd64' '1' 'Depends: libfoo-bin' diff --git a/test/integration/test-failing-maintainer-scripts b/test/integration/test-failing-maintainer-scripts new file mode 100755 index 000000000..cb82ebc7a --- /dev/null +++ b/test/integration/test-failing-maintainer-scripts @@ -0,0 +1,132 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework + +setupenvironment +configarchitecture 'native' + +# create a bunch of failures +createfailure() { + setupsimplenativepackage "failure-$1" 'native' '1.0' 'unstable' 'Depends: dependee' + BUILDDIR="incoming/failure-$1-1.0" + echo '#!/bin/sh +exit 29' > ${BUILDDIR}/debian/$1 + buildpackage "$BUILDDIR" 'unstable' 'main' 'native' + rm -rf "$BUILDDIR" +} + +buildsimplenativepackage 'dependee' 'native' '1.0' 'unstable' +createfailure 'preinst' +createfailure 'postinst' +createfailure 'prerm' +createfailure 'postrm' + +setupaptarchive + +# create a library to noop chroot() and rewrite maintainer script executions +# via execvp() as used by dpkg as we don't want our rootdir to be a fullblown +# chroot directory dpkg could chroot into to execute the maintainer scripts +cat << EOF > noopchroot.c +#define _GNU_SOURCE +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <dlfcn.h> + +static char * chrootdir = NULL; + +int chroot(const char *path) { + printf("WARNING: CHROOTing to %s was ignored!\n", path); + free(chrootdir); + chrootdir = strdup(path); + return 0; +} +int execvp(const char *file, char *const argv[]) { + static int (*func_execvp) (const char *, char * const []) = NULL; + if (func_execvp == NULL) + func_execvp = (int (*) (const char *, char * const [])) dlsym(RTLD_NEXT, "execvp"); + if (chrootdir == NULL || strncmp(file, "/var/lib/dpkg/", strlen("/var/lib/dpkg/")) != 0) + return func_execvp(file, argv); + printf("REWRITE execvp call %s into %s\n", file, chrootdir); + char newfile[strlen(chrootdir) + strlen(file)]; + strcpy(newfile, chrootdir); + strcat(newfile, file); + return func_execvp(newfile, argv); +} +EOF +testsuccess gcc -fPIC -shared -o noopchroot.so noopchroot.c -ldl + +mkdir -p "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/" +DPKG="${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" +echo "#!/bin/sh +if [ -n \"\$LD_PRELOAD\" ]; then + export LD_PRELOAD=\"${TMPWORKINGDIRECTORY}/noopchroot.so \${LD_PRELOAD}\" +else + export LD_PRELOAD=\"${TMPWORKINGDIRECTORY}/noopchroot.so\" +fi +dpkg \"\$@\"" > $DPKG +chmod +x $DPKG +sed -ie "s|^DPKG::options:: \"dpkg\";\$|DPKG::options:: \"$DPKG\";|" aptconfig.conf + +# setup some pre- and post- invokes to check the output isn't garbled later +APTHOOK="${TMPWORKINGDIRECTORY}/rootdir/usr/bin/apthook" +echo '#!/bin/sh +echo "$1: START" +echo "$1: MaiN" +echo "$1: ENd"' > $APTHOOK +chmod +x $APTHOOK +echo "DPKG::Pre-Invoke:: \"${APTHOOK} PRE\"; +DPKG::Post-Invoke:: \"${APTHOOK} POST\";" > rootdir/etc/apt/apt.conf.d/99apthooks + +testmyfailure() { + local PROGRESS='rootdir/tmp/progress.log' + exec 3> $PROGRESS + testfailure "$@" -o APT::Status-Fd=3 + msgtest 'Test for failure message of maintainerscript in' 'console log' + local TEST='rootdir/tmp/testfailure.output' + if grep -q 'exit status 29$' "$TEST"; then + msgpass + else + cat $TEST + msgfail + fi + msgtest 'Test for proper execution of invoke scripts in' 'console log' + if grep -q '^PRE: START$' $TEST && + grep -q '^PRE: MaiN$' $TEST && + grep -q '^PRE: ENd$' $TEST && + grep -q '^POST: START$' $TEST && + grep -q '^POST: MaiN$' $TEST && + grep -q '^POST: ENd$' $TEST; then + msgpass + else + cat $TEST + msgfail + fi + msgtest 'Test for failure message of maintainerscript in' 'progress log' + if grep -q '^pmerror:.\+exit status 29$' "$PROGRESS"; then + msgpass + else + cat $PROGRESS + msgfail + fi + testmarkedauto 'dependee' +} + +cp -a rootdir/var/lib/dpkg/status rootdir/var/lib/dpkg/status.backup +testmyfailure aptget install failure-preinst -y +cp -a rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status +testmyfailure aptget install failure-postinst -y +cp -a rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status +testsuccess aptget install failure-prerm -y +testdpkginstalled failure-prerm +testmyfailure aptget purge failure-prerm -y +cp -a rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status +testsuccess aptget install failure-postrm -y +testdpkginstalled failure-postrm +testmyfailure aptget purge failure-postrm -y + +# FIXME: test with output going to a PTY as it usually does +#cp -a rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status +#aptget install failure-preinst -y diff --git a/test/integration/test-kernel-helper-autoremove b/test/integration/test-kernel-helper-autoremove index 7713c0875..c51caa758 100755 --- a/test/integration/test-kernel-helper-autoremove +++ b/test/integration/test-kernel-helper-autoremove @@ -20,6 +20,7 @@ CURRENTKERNEL="linux-image-$(uname -r)" insertinstalledpackage "$CURRENTKERNEL" 'amd64' '1' insertinstalledpackage 'linux-image-1.0.0-2-generic' 'amd64' '1.0.0-2' insertinstalledpackage 'linux-image-100.0.0-1-generic' 'amd64' '100.0.0-1' +insertinstalledpackage 'linux-image-amd64' 'amd64' '100.0.0-1' # ensure that the '.' is really a dot and not a wildcard insertinstalledpackage 'linux-headers-1000000-1-generic' 'amd64' '100.0.0-1' |